Ausführen der Vorlagen-App im Delta-Modus |
Scroll Previous Topic Top Next Topic More |
In einer produktiven Umgebung mit hohen Anforderungen an die Ladezeiten kann ein komplettes Neuladen der mpmX Template App zu langsam sein. Daher bietet die mpmX Template App einen Deltamodus, bei dem nur frische Daten geladen und dem zuvor erstellten vollständigen Datenmodell hinzugefügt werden.
Wir empfehlen, in regelmäßigen Abständen, z.B. über Nacht, einen vollständigen Reload auszulösen, um die Datenqualität bei fehlgeschlagenen Reload-Aufgaben in der qlik sense-Umgebung sicherzustellen |
1.Öffnen Sie die Registerkarte 0. Init.
2.Laden Sie die mpmX Template App im normalen Modus, indem Sie die Variable mvDeltaLoad auf 0 und die Variable mvStoreMPMModelQVD auf 1 setzen.
Let mvDeltaLoad = 0;
Let mvStoreMPMModelQVD = 1;
Es ist notwendig, das komplette mpmX-Datenmodell zu speichern, bevor ein Deltaladen gestartet wird. |
3.Öffnen Sie die Registerkarte 0. Init erneut.
4.Setzen Sie die Variable mvDeltaLoad auf 1, um die template-App in den Deltamodus zu versetzen - sie ist auf 0 gesetzt, wenn der Deltamodus deaktiviert ist.
Let mvDeltaLoad = 1;
5.Gehen Sie auf die Registerkarte 1B. Load Delta EventLog hinter 0. Init und vor der "1C. Load EventLog"-Registerkarte.
6.Erstellen Sie ein DeltaLog mit den tatsächlichen Ereignisdaten, die Sie zu den vorhandenen Daten in der mpmX Template App hinzufügen möchten.
7.Laden Sie das DeltaLog entsprechend der EventLog-Load, die Sie in der Registerkarte "1c. Load EventLog" definiert haben, indem Sie die untenstehende Vorlage anpassen. Bitte beachten Sie, dass ein Feld ActivityKey obligatorisch ist. Dieses Feld dient als eindeutiger Event-Identifikator in der Delta-Logik.
8.
Um zu erkennen, ob Ereignisse bereits durch einen früheren Reload in das mpmX Datenmodell geladen wurden, müssen Sie einen eindeutigen Aktivitätsschlüssel erstellen. Im folgenden Beispiel ist ein Identifikator mit CaseID, ActivityStartTimestamp und ActivityName ausreichend. In anderen Fällen können andere ID-Kriterien erforderlich sein, um ein Ereignis eindeutig zu identifizieren. |
DeltaLog: //Delta Log table name: "Deltalog"
load
//ProcessAnalyzer information
CaseID,
CaseID & '_' & Timestamp(ActivityStartTimestamp) & '_' & "ActivityName" as ActivityKey,
"ActivityName" as ActivityType,
AutoNumber(ActivityName) + 100 as ActivityTypeID,
Timestamp(ActivityStartTimestamp) as ActivityStartTimestamp,
Timestamp(ActivityEndTimestamp) as ActivityEndTimestamp,
null() as SortingColumn,
//Event information
//Here you can add other event-related information (dimensions and values)
UserName as ActivityUserName,
if(WildMatch("UserName", 'Value 6'), 0, 1) as RealUser, //delete if no user avaiable
EventDimension1, //EventDimension1
EventDimension2, //EventDimension2
EventDimension3 //EventDimension3
FROM [$(DataConnection)DeltaLog.qvd] (qvd)
where len(ActivityName) > 1;
9.Passen Sie die Variable mvUniqueEventKey an: Dieser Schlüssel ist für ein Ereignis eindeutig und muss mit dem ActivityKey übereinstimmen, der im Delta-Log erstellt wurde, wenn das Ereignis Teil der Delta-Load ist und zuvor in einer anderen Delta-Load oder durch die Vollladung geladen wurde. Die Anweisung muss eine gültige Ladelogik für das pa_activity_log sein, die bereits in der mpmX Template App existiert.
// define a unique key for activities, so that updates from the delta log can be made on existing activities
Set mvUniqueEventKey = CaseID & '_' & ActivityStartTimestamp & '_' & 'ActivityType';
9.Füllen Sie die Vorlage für die Deltafall-Informationstabelle aus, indem Sie die gleiche Logik wie in der Registerkarte "1c. Load EventLog" schreiben. Die Delta-Fallinformationen werden mit den vorherigen Fallinformationen verkettet.
concatenate (CaseInformation) load
CaseID,
CaseDimension1,
CaseDimension2,
CaseDimension3
FROM [$(DataConnection)DeltaLog.qvd] (qvd);
10.Sobald Sie die 9 Schritte abgeschlossen haben, klicken Sie auf load data.
11.Wenn das Laden der Daten erfolgreich war, wurden in der Qlik Management Console (QMC) automatisierte Reload-Aufgaben erstellt.
12.Empfehlung: Lösen Sie regelmäßig einen vollständigen Reload aus, indem Sie eine weitere mpmX Template App ohne Deltamodus bereitstellen, die ein vollständiges Datenmodell erstellt hat.