Crie conjuntos de dados para lógicas ou modelos complexos escrevendo consultas SQL personalizadas. Consultas ad hoc também aceitam passagem de parâmetros para cenários de análise dinâmica.
Pré-requisitos
Conecte-se a uma fonte de dados. Para mais informações, consulte Conectar-se a uma fonte de dados.
Limitações
Fontes de dados do tipo API não aceitam consultas ad hoc.
Inserir código SQL
Crie uma consulta ad hoc das seguintes maneiras:
-
Acesse a página de consulta ad hoc.
Opção 1: Na página Data Sources, clique em Create datasets in SQL no canto superior direito.

Opção 2: No canvas de relational model do editor de conjuntos de dados, selecione uma fonte de dados. Se não houver tabelas de dados no canvas, clique em Click to use SQL code to create a dataset no canvas ou em Create table with SQL code no painel à esquerda.

-
Opção 3: No canvas de physical modeling do editor de conjuntos de dados, clique em Create table with SQL code no painel à esquerda.

-
Após inserir o código SQL, clique em Run.

Veja abaixo um exemplo de instrução SQL:
SELECT report_date, or*******el, shipping_type, area, price, order_number from company_sales_record where $expr{report_date :report_date} and $expr{order_level :order_level} and $expr{order_number :or********er}Após a execução bem-sucedida da consulta, visualize os resultados na aba Result.

Clique em Create Dataset para salvar o conjunto de dados criado a partir da consulta ad hoc.
Modificar código SQL
Modifique o código SQL de três formas:
Clique no ícone
à direita da tabela desejada.
Clique na tabela desejada no canvas. Na seção Table Details, na parte inferior, clique em Edit SQL.

-
Clique no ícone
à direita da tabela desejada e selecione Edit SQL.
Sintaxe SQL
Consultas ad hoc aceitam principalmente instruções
SELECT. Não há suporte para instruçõesINSERT,UPDATE,DELETEnem stored procedures.A sintaxe da consulta deve estar em conformidade com a do banco de dados da sua fonte de dados. Por exemplo, fontes de dados MySQL exigem sintaxe de consulta MySQL. O Quick BI não aceita sintaxes específicas de bancos de dados, como
find()efindone()no MongoDB. Use instruçõesSELECTpara consultar dados em consultas ad hoc.-
Para adicionar comentários a uma consulta ad hoc, use o formato
-- Comment. Inclua um espaço após os dois hifens (--).
Veja abaixo um exemplo de instrução SQL:
SELECT area, -- Area price -- Price from company_sales_record Ao unir várias tabelas em uma consulta ad hoc, use aliases de tabela e de coluna corretamente. A sintaxe de alias pode variar entre bancos de dados.
Uma consulta ad hoc não tem limite de linhas, mas não pode exceder 65.536 caracteres. Se necessário, divida ou otimize a consulta, ou crie vários conjuntos de dados e una-os.
O Quick BI envia o SQL do conjunto de dados para execução no banco de dados. O tempo limite da consulta é de 5 minutos. Se nenhum dado for retornado nesse período, ocorrerá um erro de tempo limite.
Se uma consulta atingir o tempo limite em menos de 5 minutos, a causa pode ser uma configuração de timeout em dispositivos de rede, como um SLB, ou uma política de firewall que bloqueie a solicitação.
Placeholders
O Quick BI aceita dois tipos de placeholders para passagem de parâmetros em SQL: placeholders de valor e placeholders de expressão.
|
Tipo |
Descrição |
Casos de uso |
Formato |
|
Placeholder de valor |
Transmite um único valor ou um conjunto de valores de um controle de consulta em um painel. Nota
Para placeholders de data, selecione um formato de data específico para controlar o formato do valor transmitido. |
Indicado para a maioria dos cenários de passagem de parâmetros. |
|
|
Placeholder de expressão |
Transmite uma condição de um controle de consulta em um painel. |
Permite alterar o método de filtro em um painel transmitindo toda a condição de filtro para a instrução SQL. Por exemplo, no painel mostrado na figura a seguir, defina a condição como |
|
Configuração
Escreva a instrução SQL e adicione placeholders conforme seus requisitos de negócio.
-
Na página do editor SQL, clique em Parameter Settings.

-
No painel Parameter Settings, configure os placeholders e clique em OK.

Para mais informações sobre os itens de configuração, consulte Criar um conjunto de dados.
NotaSe usar um placeholder em uma cláusula
SELECT, defina um valor padrão global para ele.Por exemplo, ao criar um conjunto de dados, adicione um placeholder chamado
profit_rangena cláusulaSELECT, conforme o código abaixo:SELECT report_date, order_level, shipping_type,price,order_number,area, case when profit_amt< ${profit_range} then 'Loss' when profit_amt> ${profit_range} then 'Profit' else 'Break-even' end as 'Or*er Level' from company_sales_record where $expr{report_date :report_date} and $expr{order_level :order_level} and $expr{or**********************er}Sem a definição de um valor padrão, a execução da consulta falhará.

Defina um valor de consulta padrão para
profit_rangenas configurações de parâmetro.
Após definir o valor padrão, a consulta será executada com sucesso. A figura a seguir mostra o resultado:

Clique em Save para salve o conjunto de dados.

-
Na barra de menu superior, clique no ícone
ou no ícone
e selecione Create Dashboard.
-
Na página do editor de painéis, adicione uma condição de consulta e vincule-a a um placeholder.
Por exemplo, ao definir uma condição de consulta, use uma lista suspensa de seleção única para filtrar area e vincule-a a um placeholder de valor para transmitir um único valor.

Use um filtro de texto em or********erer** e vincule-o a um placeholder de expressão para transmitir uma condição.

-
Ao consultar dados no painel, os valores dos controles de consulta são transmitidos para os placeholders correspondentes no SQL.
Por exemplo, a figura a seguir mostra as condições de consulta em um painel.

A instrução SQL correspondente é:
SELECT * FROM company_sales_record WHERE area = 'North China' AND order_number > 100Exemplo de uso de placeholder:
SELECT * FROM tablename WHERE area in ('$val{area_ph}') -- Text type, multi-select AND name = '$val{name_ph}' -- Text type, single-select AND number = $val{number_ph} -- Numeric type AND report_date > '$val{report_date_ph.get(0)}' -- Date type, get the start date of the date range picker AND report_date < '$val{report_date_ph.get(1)}' -- Date type, get the end date of the date range picker
Para mais informações sobre casos de uso de placeholders, consulte Placeholders.
Compatibilidade com versões anteriores:
Formato legado para placeholders de valor (anteriormente placeholders): ${placeholder_name}
Formato legado para placeholders de expressão (anteriormente parâmetros): ${physical_field_name:parameter_name}
