Nesta página
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.
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.
As expressões de associação de dados têm o seguinte formato:
$(od_FIELDNAME)
O prefixo od_ é 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 od_ 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 $(od_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.
Para saber mais sobre como vincular valores usando instruções de carregamento INLINE, consulte Vinculando expressões em aplicativos modelo On-Demand.
Para ser uma sintaxe
SUB ExtendWhere(Name, ValVarName) LET T = Name & '_COLNAME'; LET ColName = $(T); LET Values = $(ValVarName); IF len(Values) > 0 THEN IF len(WHERE_PART) > 0 THEN LET WHERE_PART = '$(WHERE_PART) AND $(ColName) IN ( $(Values) )'; ELSE LET WHERE_PART = ' WHERE $(ColName) IN ( $(Values) )'; ENDIF ENDIF END SUB;
Antes de chamar a subrotina
Se você deseja que a instrução SQL tenha uma cláusula WHERE inalterável além das cláusulas que serão inseridas pelo aplicativo de seleção, insira um
A seguir, há um exemplo de como a sub-rotina
FOR EACH fldname IN 'ORIGIN', 'DEST', 'YEAR', 'QUARTER', 'ORIGIN_STATE_ABR', 'DEST_STATE_ABR' LET vallist = $(fldname); WHEN (IsNull(vallist)) LET vallist = ''; IF len(vallist) > 0 THEN CALL ExtendWhere('$(fldname)','vallist'); ENDIF NEXT fldname
A lista de nomes de campos deve corresponder aos nomes dos campos usados em cada vinculação de campo criada.
Quando a lista de valores para cada campo tiver sido construída, uma instrução SELECT poderá ser escrita. Por exemplo:
SQL SELECT "MKT_ID", "YEAR", "QUARTER", "ORIGIN", "ORIGIN_STATE_ABR", "DEST", "DEST_STATE_ABR", "TICKET_CARRIER", "FARE_CLASS", "PASSENGERS", "DISTANCE", 1 AS "FLIGHT_COUNT" FROM "SAPH7T"."/QT/AIRPORT_FACT" $(WHERE_PART);
A parte
Login único (SSO)
Aplicativos On-demand podem usar single sign-on (SSO) com fontes de dados que oferecem suporte para SSO. O mecanismo e a fonte de dados devem estar configurados para permitir o SSO.
Para obter mais informações, consulte Configurando o SAP HANA para logon único SAML com o Qlik Sense (somente em inglês) e Configurando o Cloudera Impala para logon único (somente em inglês).
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 On-Demand App Service 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.
Recarregar nós para aplicativos modelo
Os administradores podem controlar onde os aplicativos On-demand são recarregados em um ambiente de vários nós, definindo as regras de balanceamento de carga em aplicativos modelo. Quando uma regra de balanceamento de carga é definida, todos os aplicativos gerados de links para o aplicativo modelo serão carregados de acordo com a regra válida para esse aplicativo modelo.