Tworzenie aplikacji szablonu On-demand
Aplikacje szablonu On-demand to zwykłe aplikacje Qlik Sense, które charakteryzują się istotną cechą: zawierają skrypty ładowania z wyrażeniami wiązania danych używanymi do formułowania zapytań wykonywanych na źródłach danych. Wyrażenia te są używane w czasie generowania aplikacji On-demand w celu odczytu wartości ze stanu selekcji aplikacji selekcji i w celu powiązania ich ze skryptem aplikacji szablonu w taki sposób, aby do generowanej aplikacji został załadowany kontrolowany przez użytkownika podzbiór danych.
Aplikacja szablonu zwykle łączy się z tym samym źródłem danych co aplikacja selekcji. Skrypt ładowania aplikacji selekcji zwykle ładuje zagregowane dane, aby zmniejszyć ilości danych, jednocześnie oferując interaktywne wizualizacje ważnych wymiarów i miar. Skrypt ładowania aplikacji szablonu używa zapytań, które ładują kontrolowany podzbiór danych o większej szczegółowości.
Struktura aplikacji szablonu
Aplikacja szablonu jest powiązana z aplikacją selekcji za pośrednictwem łącza nawigacyjnego aplikacji On-demand. Łącze nawigacyjne aplikacji zawiera właściwości, które kontrolują liczbę rekordów uwzględnianych przez zapytania podczas ładowania danych do aplikacji On-demand. Skrypt ładowania należący do aplikacji szablonu zawiera wyrażenia do wiązania danych określające dane pola z aplikacji selekcji, które będą używane do formułowania zapytań składanych podczas ładowania danych do aplikacji On-demand.
Wyrażenia do wiązania danych mają następującą postać:
$(od_FIELDNAME)
Prefiks od_ służy do powiązania stanu selekcji aplikacji selekcji ze skryptem ładowania należącym do aplikacji On-demand, który jest tworzony przez skopiowanie aplikacji szablonu. Część wyrażenia do wiązania danych, która następuje po prefiksie od_, musi być nazwą zgodną z nazwą pola w aplikacji selekcji. Gdy aplikacja On-demand zostanie wygenerowana, bieżący stan selekcji aplikacji selekcji jest używany do uzyskania żądanych wartości do powiązania z każdym polem. Każde wystąpienie wyrażenia $(od_FIELDNAME) w skrypcie ładowania należącym do nowo utworzonej aplikacji On-demand jest zastępowane listą wartości wybranych dla odpowiadającego pola w stanie selekcji aplikacji selekcji.
Informacje o wiązaniu wartości za pomocą instrukcji ładowania INLINE zawiera sekcja Tworzenie powiązań między wyrażeniami w aplikacjach szablonu On-demand.
Składnia aplikacji szablonu będzie poprawnym kodem
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;
Przed wywołaniem podprogramu
Jeśli instrukcja SQL ma zawierać oryginalną klauzulę WHERE, a także klauzule, które będą wprowadzane przez aplikację selekcji, należy wstawić warunek
Poniżej przedstawiono przykład użycia podprogramu
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
Lista nazw pól powinna pasować do nazw pól używanych w każdym utworzonym wiązaniu pól.
Po utworzeniu listy wartości dla poszczególnych pól można zapisać instrukcję SELECT. Na przykład:
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);
Część
Jednokrotne logowanie (SSO, ang. Single Sign-On)
Aplikacje On-demand mogą używać single sign-on (SSO) ze źródłami danych, które obsługują SSO. Silnik i źródło danych muszą być skonfigurowane w taki sposób, aby zezwalały na stosowanie SSO.
Więcej informacji zawiera temat Konfigurowanie jednokrotnego logowania SAML Qlik Sense do źródeł danych SAP HANA (tylko w języku angielskim) oraz temat Konfigurowanie jednokrotnego logowania dla systemu Cloudera Impala (tylko w języku angielskim).
Po skonfigurowaniu silnika i źródła danych pod kątem obsługi SSO w aplikacji szablonu należy włączyć SSO, dodając poniższą składnię do skryptu aplikacji szablonu:
///!ODAG_SSO
On-Demand App Service analizuje ten skrypt podczas generowania aplikacji On-demand i każdorazowo podczas jej przeładowania.
Gdy aplikacja On-demand zostanie załadowana z SSO, tożsamość użytkownika końcowego zostanie wysłana do źródła danych. Użytkownik końcowy musi mieć dostęp do źródeł używanych w połączeniach do danych aplikacji szablonu. Ładowane są tylko dane, do których użytkownik ma dostęp w tych źródłach, nawet jeśli wybrano większy zestaw danych.
Przeładowywanie węzłów dla aplikacji szablonu
Administratorzy mogą kontrolować, gdzie w środowisku wielowęzłowym przeładowywane są aplikacje On-demand, ustawiając reguły równoważenia obciążenia w aplikacjach szablonu. Gdy ustawiona jest reguła równoważenia obciążenia, wówczas wszystkie aplikacje wygenerowane z łącz do aplikacji szablonu zostaną załadowane zgodnie z regułą, która obowiązuje względem aplikacji szablonu.