Variáveis SQL do Criador de consultas
Saiba como usar variáveis SQL no Criador de consultas para reutilizar suas consultas e evitar codificar dados diretamente no seu código.
Por que usar variáveis SQL?
Os benefícios de usar variáveis SQL incluem:
- Economizar tempo criando uma variável de Campaign para selecionar a partir de uma lista ao criar seu relatório, em vez de colar IDs de Campaign.
- Trocar valores adicionando variáveis que permitem reutilizar o relatório para casos de uso ligeiramente diferentes no futuro (como um evento personalizado diferente).
- Reduzir erros do usuário ao editar seu SQL, diminuindo a quantidade de edição necessária para cada relatório. Colegas mais familiarizados com SQL podem criar relatórios que colegas menos técnicos podem usar.
Usando variáveis
Etapa 1: Adicionar uma variável
Para adicionar uma variável à sua consulta, use a seguinte sintaxe:
1
{{variable_type.${custom_label}}}
Substitua o seguinte:
| Placeholder | Descrição |
|---|---|
variable_type |
O tipo de variável predefinido que você deseja usar, como campaign ou catalog_fields. Para a lista completa, consulte Tipos de variáveis suportados. |
custom_label |
O rótulo usado para identificar a variável na guia Variables do seu Criador de consultas. |
No exemplo a seguir, o número total de usuários entre o primeiro e o último dia de um mês é consultado para uma Campaign. Cada variável receberá um valor na próxima etapa.
1
2
3
4
5
SELECT COUNT(*) AS total_users
FROM USERS_CAMPAIGNS_REVENUE_SHARED
WHERE campaign_id = '{{campaign.${Campaign}}}'
AND TIME > '{{start_date.${Month First Day}}}'
AND TIME < '{{end_date.${Month Last Day}}}';
Etapa 2: Atribuir um valor
Por padrão, a guia Variables não é exibida no Criador de consultas. Ela só aparece após adicionar sua primeira variável à consulta. Lá, você poderá atribuir um valor a ela. Os valores específicos que você pode escolher dependerão do tipo daquela variável.
No exemplo a seguir, a Campaign “Summer Feature Launch” é atribuída como valor, junto com o primeiro e o último dia de junho de 2025.

Tipos de variáveis gerais
Number
number pode ser usado em combinação com outras variáveis que não sejam string. Aceita qualquer número positivo ou negativo, incluindo números decimais, como 5.5.
1
some_number_column < {{number.${custom_label}}}
String
Para alterar valores de string repetitivos entre execuções de relatório. Use esta variável para evitar codificar um valor várias vezes no seu SQL.
1
'{{string.${add a string here.}}}'
List
Para selecionar a partir de uma lista de opções.
1
{{options.${metrics} | is_radio_button: 'true' | options: '[{"label": "test", "value": "test_value"}, {"label": "test2", "value": "test_value2"}]'}}
1
{{options.${metrics} | is_multi_select: 'true' | options: '[{"label": "test", "value": "test_value"}, {"label": "test2", "value": "test_value2"}]'}}
Botão de rádio
Para exibir opções como botões de rádio em vez de um menu suspenso na guia Variables. Não pode ser usado sozinho—deve ser usado em combinação com uma lista.
1
is_radio_button: 'true'

Seleção múltipla
Para definir se o menu suspenso permite seleção única ou múltipla. Não pode ser usado sozinho—deve ser usado em combinação com uma lista.
1
is_multi_select: 'true'

Opções
Para fornecer a lista de opções selecionáveis na forma de rótulo e valor. O rótulo é o que é exibido e o valor é o que substitui a variável quando a opção é selecionada. Não pode ser usado sozinho—deve ser usado em combinação com uma lista.
1
options: '[{"label": "test", "value": "test_value"}, {"label": "test2", "value": "test_value2"}]'
Tipos de variáveis específicos da Braze
Intervalo de datas
Para exibir um calendário para selecionar datas. Substitua start_date e end_date por um timestamp Unix em segundos para uma data especificada em UTC, como 1696517353. Opcionalmente, você pode definir apenas um start_date ou end_date para exibir apenas uma única data no calendário. Se os rótulos do seu start_date e end_date não coincidirem, eles serão tratados como duas datas separadas, em vez de um intervalo de datas.
1
time > {{start_date.${custom_label}}} AND time < {{end_date.${custom_label}}}
Você pode definir o intervalo de datas para qualquer uma das seguintes opções. Se tanto start_date quanto end_date forem usados e compartilharem o mesmo rótulo, todas as opções serão exibidas. Caso contrário, se apenas um for usado, somente a opção especificada será exibida.
| Opção | Descrição | Valores obrigatórios |
|---|---|---|
| Relativo | Especifica os últimos X dias | Requer start_date |
| Data de início | Especifica uma data de início | Requer start_date |
| Data de término | Especifica uma data de término | Requer end_date |
| Intervalo de datas | Especifica tanto uma data de início quanto de término | Requer tanto start_date quanto end_date |
Seu Liquid será usado para exibir um calendário dentro do intervalo de datas fornecido:

Campaigns
Para selecionar uma Campaign. Compartilhar o mesmo rótulo com um Canvas resultará em um botão de rádio na guia Variables para selecionar Canvas ou Campaign.
1
campaign_id = '{{campaign.${custom_label}}}'
Para selecionar múltiplas Campaigns. Compartilhar o mesmo rótulo com um Canvas resultará em um botão de rádio na guia Variables para selecionar Canvas ou Campaign.
- Valor de substituição: IDs BSON de Campaigns
1
campaign_id IN ({{campaigns.${custom_label}}})
Para selecionar variantes de Campaign que pertencem à Campaign selecionada. Deve ser usado em conjunto com uma variável de Campaign ou Campaigns.
- Valor de substituição: IDs de API de variantes de Campaign, strings delimitadas por vírgulas, como
api-id1, api-id2.
1
message_variation_api_id IN ({{campaign_variants.${custom_label}}})
Todas as variáveis de Campaign e Canvas devem usar os mesmos identificadores para sincronizar estados dentro de um único grupo.
Canvas
Para selecionar um Canvas. Compartilhar o mesmo rótulo com uma Campaign resultará em um botão de rádio na guia Variables para selecionar Canvas ou Campaign.
- Valor de substituição: ID BSON do Canvas
1
canvas_id = '{{canvas.${custom_label}}}'
Para selecionar múltiplos Canvas. Compartilhar o mesmo rótulo com uma Campaign resultará em um botão de rádio na guia Variables para selecionar Canvas ou Campaign.
- Valor de substituição: IDs BSON de Canvas
1
canvas_id IN ({{canvases.${custom_label}}})
Para selecionar variantes de Canvas que pertencem a um Canvas escolhido. Deve ser usado com uma variável de Canvas. Defina para um ou mais IDs de API de variantes de Canvas, como uma string separada por vírgulas, como em api-id1, api-id2.
1
canvas_variation_api_id IN ({{canvas_variants.${custom_label}}})
Para selecionar uma etapa do Canvas que pertence a um Canvas escolhido. Deve ser usado com uma variável de Canvas.
1
canvas_step_api_id = '{{canvas_step.${custom_label}}}'
Para selecionar etapas do Canvas que pertencem a Canvas escolhidos. Deve ser usado com uma variável de Canvas.
1
canvas_step_api_id IN ({{canvas_steps.${custom_label}}})
Todas as variáveis de Campaign e Canvas devem usar os mesmos identificadores para sincronizar estados dentro de um único grupo.
Produtos
products é usado para selecionar um ou mais produtos do dashboard da Braze.
1
({{products.${custom_label}}})
1
2
3
SELECT product_name
FROM FULL_GAME_AND_DLC
WHERE product_id IN ({{products.${Games with DLC}}});
Eventos personalizados
Selecione um ou mais eventos personalizados ou propriedades de eventos personalizados a partir de uma lista.
custom_events é usado para selecionar um ou mais eventos personalizados do dashboard da Braze.
1
'{{custom_events.${custom_label}}}'
1
2
3
SELECT event_name
FROM CUSTOM_EVENTS_TABLE
WHERE event_name IN ({{custom_events.${Purchased Game}}});
custom_event_properties é usado para selecionar uma ou mais propriedades do evento personalizado atualmente selecionado. Requer uma variável custom_events definida.
1
name = '{{custom_event_properties.${property names)}}}'
Espaço de trabalho
workspace é usado para selecionar um único espaço de trabalho do dashboard da Braze.
1
workspace_id = '{{workspace.${app_group_id}}}'
Catálogos
Selecione um ou mais catálogos ou campos de catálogo a partir de uma lista.
catalogs é usado para selecionar um ou mais catálogos do dashboard da Braze.
1
catalog_id = '{{catalogs.${catalog}}}'
catalog_fields é usado para definir um ou mais campos do catálogo atualmente selecionado. Requer uma variável catalogs definida.
1
field_name = '{{catalog_fields.${custom_label}}}'
Segments
Para selecionar Segments que tenham o rastreamento de análise de dados ativado. Defina como o ID de análise de dados do Segment, que corresponde aos IDs armazenados na coluna user_segment_membership_ids nas tabelas onde essa coluna está disponível.
1
{{segments.${analytics_segments}}}
Tags
Para selecionar tags para Campaigns e Canvas. Defina para Campaigns e Canvas com IDs BSON separados por vírgulas e entre aspas simples que estejam associados às tags selecionadas.
1
{{tags.${some tags}}}
Metadados de variáveis
Metadados podem ser anexados a uma variável para alterar seu comportamento, adicionando os metadados com um caractere de pipe ( | ) após o rótulo da variável. A ordem dos metadados não importa e você pode adicionar qualquer quantidade deles. Além disso, todos os tipos de metadados podem ser usados para qualquer variável, exceto metadados especiais que são específicos de certas variáveis (isso será indicado nesses casos). O uso de todos os metadados é opcional e serve para alterar o comportamento padrão da variável.
1
{{string.${my var}| is_required: 'false' | description: 'My optional string var'}}
Booleano
Para saber se o valor de uma variável está preenchido. Isso é útil para variáveis opcionais onde você deseja encurtar uma condição se o valor de uma variável não estiver preenchido. Pode ser definido como true ou false dependendo do valor da outra variável.
1
{{string.${type_name_has_no_value} | visible: 'false'}} or {{string.${type_name_has_value} | visible: 'false'}}
type e name referem-se à variável referenciada. Por exemplo, para encurtar a seguinte variável opcional: {{campaigns.${messaging}}:
1
{{string.${campaigns_messaging_has_no_value} | visible: 'false'}} OR campaign_id IN ({{campaigns.${messaging} | is_required: 'false'}})
Visível
Para definir se as variáveis são visíveis. Todas as variáveis são visíveis por padrão na guia Variables, onde você pode inserir valores.
Existem várias variáveis especiais cujo valor depende de outra variável, como se outra variável tem um valor. Essas variáveis especiais são marcadas como não visíveis para que não apareçam na guia Variables.
1
visible: 'false'
Obrigatória
Para definir se as variáveis são obrigatórias por padrão. Um valor vazio para uma variável geralmente leva a uma consulta incorreta.
1
required: 'false'
Ordem
Para selecionar a posição da variável na guia Variables.
1
order: '1'
Incluir aspas
Para envolver os valores de uma variável com aspas simples.
1
include_quotes: 'true'
Para envolver os valores de uma variável com aspas duplas.
1
include_double_quotes: 'true'
Placeholder
Para especificar o texto de placeholder exibido no campo de entrada da variável.
1
placeholder: 'enter some value'
Descrição
Para especificar o texto de descrição exibido abaixo do campo de entrada da variável.
1
description: 'some description'
Valor padrão
Para especificar o valor padrão da variável quando nenhum valor é especificado.
1
default_value: '5'
Ocultar rótulo
Para ocultar o rótulo da variável.
1
hide_label: 'true'