Criando um aplicativo modelo On-demand
Um aplicativo modelo On-demand é um aplicativo regular do Qlik Sense com uma diferença importante: seu script de carregamento contém expressões de vinculação de dados usadas para formular as consultas feitas nas fontes de dados. Essas expressões de associação de dados são usadas no momento de geração do aplicativo On-demand para ler valores do estado de seleção do aplicativo de seleção e associá-los ao script do aplicativo modelo, de forma que o aplicativo gerado seja carregado com um subconjunto dos dados controlado pelo usuário.
O aplicativo modelo geralmente se conecta à mesma fonte de dados que o aplicativo de seleção. O script de carregamento de um aplicativo de seleção normalmente carrega dados agregados para reduzir os volumes de dados e, ao mesmo tempo, ainda oferece visualizações interativas de dimensões e medidas importantes. O script de carregamento de um aplicativo modelo usa consultas que carregam um subconjunto controlado de dados mais granulares.
Os aplicativos de modelo devem ter suas pastas públicas para que outros usuários gerem aplicativos on-demand. Para obter mais informações, consulte Concedendo acesso a pastas, grupos de pastas, marcadores e histórias.
Estrutura de um aplicativo modelo
Um aplicativo modelo é vinculado a um aplicativo de seleção usando um link de navegação de aplicativo On-demand. O link de navegação de aplicativo inclui propriedades que controlam o número de registros consultados quando o aplicativo On-demand é carregado com dados. O script de carregamento do aplicativo modelo contém expressões de associação de dados que especificam quais dados de campo do aplicativo de seleção são usados para formular as consultas emitidas durante o carregamento de dados no aplicativo On-demand.
Uma nova sintaxe para expressão de associação de dados foi introduzida na versão June 2020. A sintaxe e os prefixos anteriores od_, ods_, odo_, odso_ e odb_ comportam-se como antes, incluindo restrições de quantidade, sufixo _n e especificações de formato. Se seu aplicativo tiver que funcionar em versões do Qlik Sense anteriores a junho de 2020, use a sintaxe antiga. Para a sintaxe antiga, consulte Criando um aplicativo modelo sob demanda (versão antiga).
O sufixo _n não tem suporte ao usar os novos prefixos.
As expressões de associação de dados têm o seguinte formato:
$(odag_FIELDNAME)
O prefixo odag_ é usado para associar o estado de seleção do aplicativo de seleção ao script de carregamento do aplicativo On-demand, que é criado por meio da cópia do aplicativo modelo. A parte da expressão de associação de dados após o prefixo odag_ deve ser um nome que corresponda a um campo no aplicativo de seleção. Quando o aplicativo On-demand é gerado, o estado de seleção atual do aplicativo de seleção é usado para obter os valores desejados a serem associados para cada campo. Cada ocorrência de uma expressão $(odag_FIELDNAME) no script de carregamento do aplicativo On-demand recém-criado é substituída pela lista de valores selecionados para o campo correspondente no estado de seleção do aplicativo de seleção.
Outros prefixos para associação de dados mais especializada estão disponíveis. Para saber mais sobre adaptação para casos especiais e otimização de instruções de LOAD, consulte Vinculando expressões em aplicativos modelo On-Demand.
Associações on-demand podem ser inseridas diretamente em instruções SELECT e WHERE no seu script de carregamento. Quando você adiciona associações diretamente às suas instruções WHERE , é fácil combiná-las com outras condições na instrução.
Você pode adicionar uma variável de espaço reservado $(odagActive) ao criar seu script de carregamento. Isso permite carregar dados de amostra no aplicativo modelo, para que gráficos mestres para exibições dinâmicas possam ser criados sem carregar todos os dados.
Se você alterar o script do seu aplicativo modelo e inserir uma nova variável de associação, novos links de navegação do aplicativo on-demand deverão ser criados para substituir quaisquer links de navegação do aplicativo existentes. Se você não fizer isso, a seleção do campo correspondente não será enviada para aplicativos on-demand existentes que usam esse aplicativo modelo.
Os exemplos a seguir ilustram um exemplo de script de carregamento de modelo on-demand.
Exemplo: Adicionando alguns dados de amostra
Este exemplo adiciona valores de amostra para que o aplicativo possa ser carregado, mesmo que as associações não estejam completas.
IF '$(odagActive)'='' THEN
trace ODAG variables not inserted! Loading sample data.;
SET 'odag_Origin Code' = '''LAX''';
SET 'odag_Destination Code' = '''JFK''';
SET odagn_Year = 2015;
SET odag_Quarter = '''1''';
SET 'odag_Ticket Carrier Code' = '''CA''';
SET 'odag_Fare Class' = '''X''';
END IF;
Exemplo: Carregando dados no aplicativo modelo
A seguir, é apresentado um script de carregamento de amostra para carregar os dados de amostra e filtrá-los com associações odag_FIELDNAME. As associações odagn_<Nome do campo> selecionam os números nas duplas e os usam por padrão sem aspas.
SQL SELECT *
FROM FlightDB.Flights
WHERE "Origin Code" IN ($(odag_Origin Code))
AND "Destination Code" IN ($(odag_Destination Code))
AND "Year" IN ($(odagn_Year))
AND "Quarter" IN ($(odag_Quarter))
AND "Ticket Carrier Code" IN ($(odag_Ticket Carrier Code))
AND "Fare Class" IN ($(odag_Fare Class));
Login único (SSO)
Aplicativos On-demand podem usar login único (SSO) com fontes de dados que oferecem suporte para SSO. O mecanismo e a fonte de dados devem estar configurados para permitir o SSO.
Quando o mecanismo e a fonte de dados tiverem sido configurados para SSO, o aplicativo modelo deverá habilitar o SSO, adicionando a seguinte sintaxe ao script do aplicativo modelo:
///!ODAG_SSO
O Serviço do aplicativo On-Demand analisa o script quando um aplicativo On-demand é gerado e sempre que ele é recarregado.
Quando um aplicativo On-demand é carregado com SSO, a identidade do usuário final é enviada à fonte de dados. O usuário final deve ter acesso às fontes usadas nas conexões de dados do aplicativo modelo. Somente os dados aos quais o usuário tem acesso nessas fontes serão carregados, mesmo que um conjunto maior de dados esteja selecionado.