Ir para conteúdo principal Pular para conteúdo complementar

Criando um aplicativo Direct Query com SQL personalizado

Crie modelos de dados no script de carregamento com uma consulta de SQL personalizado no aplicativo Direct Query. O SQL personalizado oferece uma alternativa ao uso do Gerenciador do modelo de dados para definir seu modelo de dados para o Direct Query.

Usar SQL personalizado para criar modelos de dados do Direct Query permite usar instruções SQL para definir tabelas e campos gerados pela consulta SQL em si. Além disso, comandos de SQL personalizado em um aplicativo Qlik podem usar variáveis de script de carregamento e macros de expressão Qlik nos comandos de SQL personalizado. Isso permite um modelo de dados mais dinâmico e permite que tabelas e colunas definidas por SQL personalizado se ajustem aos resultados de avaliação de variáveis ou expressões.

SQL personalizado pode ser usado sozinho no script de carregamento. Você também pode usar uma combinação de Gerenciador do modelo de dados e SQL personalizado no Editor da carga de dados para definir seu modelo de dados.

Nota de dica

Se partes do modelo de dados puderem ser especificadas com o Gerenciador do modelo de dados, use o Gerenciador do modelo de dados para especificar essas partes para obter desempenho SQL ideal. O Gerenciador do modelo de dados é mais eficiente nas definições de tabelas para uso ao executar consultas do Direct Query no modelo de dados definido.

Para criar modelos de dados com SQL personalizado:

  1. Adicione section directquery ao script de carregamento.

    Somente uma seção SECTION DIRECTQUERY pode existir no script de carregamento. A seção deve ser a última seção em um script de carregamento.

    Mesmo que você não tenha definido um modelo de dados com o Gerenciador do modelo de dados, adicionar um comando LIB CONNECT e depois um comando section directquery ao seu script de carregamento e carregar o script transformará seu aplicativo em um aplicativo Direct Query.

  2. Construa seu modelo de dados com os seguintes comandos:

    • SELECT

      Use comandos SELECT para selecionar as tabelas e colunas a serem carregadas. Por exemplo: <TableName> SELECT <custom SQL>.

      Se você não definir seus próprios nomes de tabela no script de carregamento, as tabelas serão nomeadas como Table<número de linha do script>.

      Select

    • CREATE RELATIONSHIP

      Use o CREATE RELATIONSHIP para definir relacionamentos entre campos e tabelas no modelo de dados.

      Create relationship

    • DROP RELATIONSHIP

      Use o DROP RELATIONSHIP para eliminar relacionamentos previamente definidos do modelo de dados.

      Relacionamento de negação

    • DROP TABLE

      Use DROP TABLE para eliminar tabelas previamente definidas do modelo de dados para evitar possíveis conflitos entre tabelas.

    • LET, SET

      Use os comandos LET e SET para definir variáveis ou expressões Qlik.

      Let

      Set

    As tabelas e os campos devem ter nomes exclusivos no modelo de dados. Se você definir uma tabela no Gerenciador do modelo de dados e depois tentar redefini-la no SQL personalizado, ela falhará, a menos que você elimine a tabela criada no Gerenciador do modelo de dados ou renomeie a tabela e os campos no SQL personalizado.

Os comandos de script não compatíveis na seção section directquery geram um erro ao carregar dados. As configurações de depuração de script ou continuação forçada serão ignoradas.

Para obter exemplos de scripts de carregamento de SQL personalizado, consulte Exemplos de SQL personalizado para o Direct Query.

SQL personalizado, variáveis e expressões

As definições de SQL personalizado no Direct Query permitem que você use variáveis de script e macros de expressão Qlik em um comando de SQL personalizado.

Essa capacidade traz influência e flexibilidade de variáveis e expressões dinâmicas ao modelo de dados de um aplicativo com tabelas e colunas definidas por SQL personalizado que se ajustam aos resultados de avaliação de variáveis ou expressões do Qlik.

Variáveis em SQL personalizado

Use os comandos SET ou LET para definir suas variáveis. Adicione variáveis em seu script de carregamento usando o formato $(<variable name>).

Exemplo: Construindo um modelo de dados incluindo variáveis

As referências de variáveis no SQL personalizado são avaliadas no momento da recarga. Se o valor da variável for alterado durante o uso do aplicativo, a alteração não será refletida no SQL personalizado usando essa variável, a menos que um recarregamento do script seja executado.

Se você quiser variáveis dinâmicas em definições de SQL personalizado, faça referência a variáveis como partes de expressões Qlik para forçar essas variáveis a serem avaliadas em cada execução de consulta que usa essas definições de SQL personalizado.

Para obter mais informações sobre variáveis, consulte Trabalhando com variáveis no editor de carregamento de dados

Expressões em SQL personalizado

Você pode usar expressões para modificar o conteúdo do SQL personalizado enviado ao banco de dados remoto para representar tabelas e colunas no modelo de dados do aplicativo. As expressões usadas no modelo de dados devem ser resolvidas para um único valor.

Nota de dica

Para testar se sua expressão é avaliada como um único valor, adicione-a como uma expressão a um KPI. Se funcionar, sua expressão poderá ser usada em seu SQL personalizado.

As expressões são avaliadas dinamicamente em cada execução de consulta que usa essas definições SQL. Sempre que um comando de SQL personalizado de tabelas ou campos usa expressões Qlik durante a execução de uma consulta, essas expressões Qlik são avaliadas primeiro para recuperar os resultados atuais das expressões. Esses resultados são inseridos no comando de SQL personalizado para serem executados em nome da consulta original. É possível que essas avaliações de expressões Qlik possam, por sua vez, gerar consultas SQL para o banco de dados remoto. É possível que essas avaliações de expressões Qlik possam, por sua vez, gerar consultas SQL para o banco de dados remoto.

Se uma expressão não for expandida durante o carregamento, ela retornará um valor nulo. Isso não significa que sua expressão seja inválida. Sua expressão pode exigir que um usuário faça seleções em um aplicativo para avaliação.

Exemplo: Construindo um modelo de dados com expressões Qlik

Criando um modelo de dados com SQL personalizado e Gerenciador do modelo de dados

Você pode usar uma combinação de SQL personalizado e Gerenciador do modelo de dados para criar seu modelo de dados para o Direct Query. No entanto, existem algumas considerações práticas:

  • Como prática recomendada, conclua a modelagem que você queira fazer no Gerenciador do modelo de dados antes de adicionar SQL personalizado ao script de carregamento. SQL personalizado e o Gerenciador do modelo de dados são melhor usados em conjunto quando o Gerenciador do modelo de dados é usado para definir as tabelas carregadas e os relacionamentos entre os campos, e o SQL personalizado é usado para personalizações adicionais.

  • A parte do modelo de dados criada pelo Gerenciador do modelo de dados e a parte criada pelo SQL personalizado são gerenciadas separadamente e depois combinadas durante o recarregamento do script. O Gerenciador do modelo de dados não exibe nenhum modelo de dados definido pelo SQL personalizado. Para visualizar seu modelo de dados completo, use Visualizador do modelo de dados.

  • O modelo de dados criado pelo Gerenciador do modelo de dados e o modelo de dados definido pelo seu SQL personalizado devem usar a mesma conexão de banco de dados.

  • Você pode mover o comando IMPORT LIVE adicionado ao seu script de carregamento pelo Gerenciador do modelo de dados. O script de carregamento é avaliado sequencialmente, portanto, sua nova posição pode impactar seus requisitos de SQL personalizado. Por exemplo, poderia criar relacionamentos indesejados ou duplicar nomes de tabelas no modelo de dados final.

  • As tabelas e os campos devem ter nomes exclusivos em seu modelo de dados. Se você definir uma tabela no Gerenciador do modelo de dados e depois tentar redefini-la no SQL personalizado, ela falhará, a menos que você elimine a tabela criada no Gerenciador do modelo de dados ou renomeie a tabela e os campos no SQL personalizado.

Limitações

SQL personalizado para o Direct Query tem as seguintes limitações:

  • O SQL personalizado só pode usar um único banco de dados.

  • Um aplicativo Direct Query que usa um ou mais comandos de SQL personalizado com macros de expressão Qlik incorporadas não pode ser usado como um aplicativo de seleção para aplicativos On-Demand. Isso ocorre porque qualquer aplicativo de modelo gerado, sendo um aplicativo na memória, não pode oferecer suporte a macros de expressão do Qlik em seu script de carregamento.

  • O SQL personalizado do Direct Query não é compatível com scripts adicionados ao hub. Para obter mais informações sobre scripts, consulte Usando Editor de script.

Esta página ajudou?

Se você encontrar algum problema com esta página ou seu conteúdo - um erro de digitação, uma etapa ausente ou um erro técnico - informe-nos como podemos melhorar!