Software Development Lifecycle in Qlik Cloud
Blog

Software Development Lifecycle in Qlik Cloud

3 min read Oct 12, 2023

Die GetSysAttr ist eine große Erleichterung, um möglichst einfach mit dem Qlik SaaS Space Konzept scripten zu können. Das Space-Thema in der Qlik Cloud ist eine Umstellung für alle On-Premises Qlik Sense/QlikView Kunden. Die neue Funktion GetSysAttr hilft die typischen Herausforderungen elegant im Qlik Script elegant zu lösen.

Klassische Qlik Sense On Premise Umgebungen arbeiten oft auf einem getrennten DEV- und PROD-System. Das Deployen von neuen Versionen eines Qlik Dashboards wird häufig über den Export und Import der .qvf gelöst. Nur größere Umgebungen setzen auf die Unterstützung von Lifecyle Tools wie Platform Manager oder Git2Qlok.

In der Qlik Cloud ist der Entwicklungsprozess ein wenig anders. Es gibt zwei gute Videos von Qlik zum Thema Software Development Lifecycle in Qlik Cloud (Teil1: https://www.youtube.com/watch?v=1WFYdWxLy6o, Teil 2: https://www.youtube.com/watch?v=DSdQmlxt-mU&t=335s). Die Videos sind beide aus dem Jahr 2022 und helfen sehr gut bei der Vertiefung mit dem neuen Space-Konzept.

undefined
Ein typischer Entwicklungsprozess in Qlik SaaS


In diesem Blogpost stellen wir die Funktion GetSysAttr vor, die im Frühjahr 2023 eingeführt wurde. Es geht um die Rolle von Spaces, Verbindungen und Veröffentlichungen und wie diese es Ihnen ermöglichen, komplexe SDLC-Umgebungen in einem einzigen SaaS-Mandanten zu betreiben. 

Die neue Qlik-Funktion GetSysAttr bietet seit dem 4.7.2023 beispielsweise die Funktion an den Spacenamen zu kommen, in dem die Qlik App gerade steckt. Dadurch wird der komplizierte Rest-API Aufruf aus Video Teil 2 hinfällig, der darüber hinaus nicht sonderlich intuitiv war.

let vTenantSpaceName =GetSysAttr('spaceName');

 

 

Mithilfe der GetSysAttr-Funktion kann man im Software Development Cycle nun steuern, wie sich die Applikation gerade verhalten soll (zum Beispiel Testdaten laden vs. Produktive Datenbank-Connection ohne das Script immer anpassen zu müssen).

Über GetSysAttr können im Qlik Script insgesamt 8 Informationen aus dem Cloud-Mandanten abgefragt werden.

let vTenantId =GetSysAttr('tenantId'); let vTenantName =GetSysAttr('tenantName'); let vTenantUrl =GetSysAttr('tenantUrl'); let vTenantAlias =GetSysAttr('tenantAlias'); let vTenantRegion =GetSysAttr('tenantRegion'); let vTenantSpaceId =GetSysAttr('spaceId'); let vTenantSpaceName =GetSysAttr('spaceName'); let vTenantSpaceType =GetSysAttr('spaceType'); 

Entsprechend ist es nun sehr einfach Skript-Weichen einzubauen, um das Script abhängig von seiner „Space-Verortung“ anders laufen zu lassen. Hier folgt ein Beispiel, der Entwickler im Shared Space andere Daten laden möchten als im Managed Space.

 if upper('$(vTenantSpaceType)') = 'SHARED' then    trace *******dev Space - Load Test Data;    load rowno() as id,   rand() as value   AutoGenerate(100);  else       trace *******managed Space or personal - Load Prod Data;    load   rowno() as id,   rand()*100 as value   AutoGenerate(10);  endif

Die Funktion kann aber nicht nur im Skript, sondern auch an der Oberfläche benutzt werden. Zum Beispiel wenn Sie bestimmte (Debug-)Arbeitsblätter nur im Shared-Space, aber nicht im Managed-Space anzeigen wollen. Die Anzeigebedingung im Arbeitsblatt sieht wie folgt aus:

=if(upper('$(vTenantSpaceType)') = 'SHARED', true() 

Die GetSysAttr Informationen können auch am Frontend benutzt werden.

Die GetSysAttr Informationen können auch am Frontend benutzt werden.





Data Analytics & AI von Qlik

Erkunden Sie unser Qlik-Portfolio!

Mehr Informationen

Sie mögen, was Sie lesen?

Melden Sie sich zu unserem Newsletter an und bleiben Sie up-to-date.

Über den Autor

Roland Vecera

Data Solution Architect

LinkedIn