Mit Qualify *; können Sie Qlik mitteilen das ab dem Befehl alle Tabellen voll qualifiziert geladen werden.

Das bedeutet das alle Ihre Feldnamen mit dem Namen der Tabelle ergänzt werden: Tabellenname.Feldname. Das bedeutet das erst mal jedes Feld welches Sie laden einen eindeutigen Namen erhält und es technisch nicht mehr möglich ist das Sie synthetische Schlüssel erhalten

Allerdings wird dies auch bei den Schlüsselfeldern erfolgen womit in unserer Tabelle Kunden die KID Kunden.KID und in unserer Vorgängen die KID zu Vorgänge.KID wird. Somit sind die Tabellen auch nicht mehr miteinander verbunden. Damit dies wieder passiert können wir den Befehl Unqualify nutzen und diesem angeben, welche Felder nicht qualifiziert werden sollen. In unserem Fall wäre das Unqualify KID;

Da Sie mit Unqualify *; das Qualifizierte Laden einschalten können Sie diesen mit Unqualify *; wieder ausschalten.

Beachten Sie das sich nicht alle Probleme im qualifizierten Modus erledigen lassen. Das laden mit der Wildcard * funktioniert im Qualifizierten Modus z.B. nicht mehr korrekt.

Beim Daten laden aus der Datenbank empfiehlt sich dieses Verfahren aber sehr, da Sie anstelle Fehler zu beseitigen nur noch Tabellen miteinander verknüpfen müssen.

Beispiel laden unserer Tabellen mit Qualify:

Qualify *;
Unqualify
 MAID, KID, VID, RID, MeinKey
;

Mitarbeiter:
SQL Select 
  MAID
  ,Name
  ,Vorname
From Mitarbeiter;

Vorgänge:
SQL Select 
  VID
  ,VID + '#' + VUID As MeinKey
  ,MAID
  ,Status
  ,RID
  ,VUID
From Vorgänge;

Referenzen:
SQL Select 
  RID
  ,Referenz
  ,Status 
From Referenzen;

Kunden:
SQL Select 
  KID
  ,Name
  ,Vorname
From Mitarbeiter;

Untervorgänge:
SQL Select 
VID 
, VUID
, Beschreibung 
From Untervorgänge;

 

Wenn Sie Ihre Feldnamen später in schöne Feldnamen umbenennen wollen werfen Sie einen Blick in das Skript RenameFields.qvs aus meinem Framework. Oder folgen Sie dem Beispiel in dem Abschnitt Mapping.