Gleitender Durchschnitt Qlikview


Qlikview 8211 Bewegen von Ausdrücken zum Load-Skript Jeder, der Zeit mit einem Qlikview-Dokument verbracht hat, weiß, dass es ein sehr beeindruckendes Werkzeug ist. Die wirkliche Kraft von Qlikview liegt in seiner Fähigkeit, Ihnen Datenanalyse schnell zur Verfügung zu stellen. Es ist leicht, sich beim Aufbau ad hoc Ausdrücke verfangen und lassen Sie sie sitzen in der Benutzeroberfläche, hogging Verarbeitung Geschwindigkeit und verlangsamt das Dokument, wenn Sie Auswahl treffen. Dies kann die eindrucksvollste Eigenschaft von Qlikview beseitigen. Wir waren vor kurzem mit einer Aufgabe konfrontiert, bei der ein Kunde benötigt, um die letzten 12 Tage rollenden durchschnittlichen Verkaufsmenge, nach Produkt, nach Bezirk zu berechnen. Mit der Macht der Mengenanalyse ist dies kein schwieriger Ausdruck zu schreiben. Es könnte so einfach sein wie: Summe 40 123 lt Saledate 123 gt 40 Datum 40 heute 40 41 - 12 41 41 lt 40 Datum 40 heute 40 41 41 41 125 gt 125 saleamount 41 13 Allerdings, wenn man bedenkt, dass es 30 Millionen werden Können Sie ein sehr langsames Laden Diagramm antizipieren. Obwohl der Ausdruck kann die genaue Ergebnisse liefern, ist die nächste Entscheidung, die Sie machen müssen, kann und sollte ich diese in das Load-Skript Warum machen Sie Ihre Benutzer auf Daten, die im Last-Skript verarbeitet werden können Hier sind die Schritte, die wir getroffen Verschieben Sie diesen Ausdruck in das Lastscript, das die Geschwindigkeit der Dokumentenbearbeitung um fast das Fünffache erhöht hat. Let8217s beginnen mit einer Tabelle der Verkaufsdatensätze: Für dieses Beispiel gehen wir davon aus, dass die Aufgabe darin besteht, für jeden Kunden den Durchschnitt der letzten 14 Tage Umsatzmenge anzuzeigen. Der erste Schritt ist, einen Schlüssel auf diesem Gebiet zu schaffen, so dass wir in der Lage sind, um es zurück zu binden. Da wir schauen, um nach Kunden und Datum zu aggregieren, wäre der logische Schlüssel ein verketteter Schlüssel von benutzerdefinierten und saledate. Dies kann durch Hinzufügen der folgenden Spalte zu der Tabelle erreicht werden: benutzerdefinierte amp amp date 40 saledate. MM DD YYYY 41 als customerdatekey Das nächste, was wir tun müssen, ist, eine Kalendertabelle mit den erforderlichen Daten zu erstellen, um einen 12-tägigen Rollendurchschnitt für jeden Datensatz in der Verkaufstabelle zu berechnen. Dies kann mit dem folgenden Code durchgeführt werden: Erstellt eine temporäre Tabelle mit unterschiedlichen Daten, die aus Sale geladen werden. LOAD date 40 fieldvalue 40 saledate. Iterno 40 41 41 41 als tempdate AUTOGENERATE 1 WHILE len 40 Feldwert 40 saledate. Iterno 40 41 41 41 Erstellen Sie eine Tabelle mit jedem Saledat in einer Spalte und 14 vorhergehende Daten in einer anderen Spalte RollingAverage. LOAD Unterscheiden Sie tempdate als tempdate. Datum 40 tempdate iterno 40 41. MM DD YYYY 41 als linkdate RESIDENT RollingAveragetemp WHILE iterno 40 41 lt 14 Nach dem Ausführen bleibt eine Tabelle übrig, die so aussieht: Hinweis: Es wurde ein Datum ausgewählt, das zeigt, dass für jedes Saledat 612013), jedes der vorhergehenden 14 Daten wurde mit ihm verbunden. Da wir an demselben Kunden mehr als einmal an einem Tag verkaufen können, müssen wir den täglichen Durchschnitt berechnen. Das kann mit dem folgenden Code erreicht werden: dailyaverage. LADEN Sie benutzerdefinierten Namen als tempcustomername. Summe 40 saleamount 41 als tempdailysaleamount. Datum 40 saledate. MM DD YYYY 41 als tempsaledate RESIDENT Verkaufsgruppe nach benutzerdefiniertem Namen. Saledate Sie werden dann Ihren Kalender in Ihre dailyaverage Tabelle mit dem folgenden Code verbinden: Verbinden Sie 40 calctemp 41 LOAD resident RollingAverage Der folgende Schritt ist, Ihr Schlüsselfeld unter Verwendung des Verbindungsdatums wieder herzustellen: link verbinden 40 calctemp 41 LOAD modkey. Linkdate. Custname amp amp amp linkdate als linkkey resident calctemp Nun, youll beitreten die totalsales Feld in die calctemp, off der Linkkey Sie gerade gemacht: LEFT JOIN 40 calctemp 41 LOAD tempdailysaleamount als totalesales. Tempcustomername amp amp date 40 tempsaledate. MMDDYYYY 41 als linkkey Resident dailyaverage Was wir soeben erreicht haben, ist für jeden Kunden, für jedes Datum haben wir die 14 Schlüsselfelder erstellt und verlinkt, die bis zum 14-tägigen Rolling-Average aufgerollt werden. Dies kann mit dem folgenden Code abgeschlossen werden: salestable. LOAD durchschnittlich 40 totalalsales 41 als rollingaverage. Custname als benutzerdefinierten Namen. Linkkey als linkkey resident calctemp group nach custname. Modkey Sie werden mit einer Tabelle inklusive Ihres errechneten 14-Tage-Rolling-Average belassen, der wieder in Ihre ursprüngliche Verkaufstabelle aufgenommen werden kann. Wenn Sie dieses berechnete Feld in das Load-Skript aufnehmen, wird dies zu einer längeren Last führen, aber es lohnt sich, wie viel mehr das Dokument reagieren wird. Über Joe FuscoQlikView für Entwickler Kochbuch Erstellen einer Kontrollkarte mit Moving Range Kontrollkarten werden sehr schnell erstellt, indem eine Standardabweichungsfunktion für Kontrollgrenzen verwendet wird. Aber Donald Wheeler. Autor des Verstehens Variation: Der Schlüssel zum Verwalten des Chaos. SPC Press, Inc. Schlägt vor, dass es Probleme mit Standardabweichung oder Standardfehler aufgrund von Annahmen über die Homogenität der Daten gibt. Stattdessen bevorzugt er eine Methode, die einen gleitenden Durchschnitt über einen beliebigen Zeitraum verwendet. In diesem Rezept werden wir die gleiche Menge von Niederschlagsdaten wie das vorherige Rezept verwenden, Erstellen eines statistischen Kontrolldiagramms mit Standardabweichung. Um zu sehen, wie die Niederschlagsdaten für Heathrow im Laufe der Zeit variieren. Anstatt die Standardabweichung der Daten zu verwenden, um die Kontrollgrenzen abzuleiten, werden wir. Der beste Inhalt für Ihre Karriere. Entdecken Sie unbegrenztes Lernen auf Nachfrage für rund 1 Tag. Empfohlen für Sie Erstellen eines Moving Range-Diagramm 5. Advanced Coding Copyright-Kopie 2017 Safari Books Online. This Forum scheint mehr auf mehr Programmierfragen ausgerichtet sein, aber ich wäre interessiert, wenn jemand die Logik-Problem in den untenstehenden Link betrachten würde. Mein Problem ist, wie die Berechnung der letzten 12 Monate insgesamt mit dem Kalender bereits definiert. Ich habe sehr wenige Beispiele dafür auf der QV-Community gefunden. Sehen Sie bitte den untengenannten Link für weitere Details. Ich wäre bereit, auf eine SQL oder eine QV-Skript-Lösung zu suchen. Unser Geschäftsjahr läuft von Nov bis Okt. Ich möchte den Endbenutzer wählen Jahr und ein Diagramm, um die letzte rollende 12 Monate Marge anzuzeigen. Ich habe Probleme bekommen meine Summe für die letzten Monate zu akkumulieren. Mein Ziel wäre für sie aussehen ähnlich wie die Rolling 12 Monate Summe - GP Spalte in der manuell caculated Excel image Ziel. (Blick auf QV-Link für Screenshots) Rolling Margin Gleichung: Mein Versuch, Set Analysis verwenden, um eine rollende avg Gleichung zu machen MasterCalendar: dies verwendet masterdate, um Elemente miteinander zu verbinden. FiscalCalander Dies definiert unser Geschäftsjahr Danke, dass Sie sich die Zeit genommen haben, dieses Thema anzuschauen. Ich hoffe, dies enthält genug informationcontext ndash octopusguy Die Lösung ist nicht im Kalender. Müssen Sie eine Pivot-Tabelle zwischen Ihrem Kalender und der Faktentabelle erstellen. In dieser Pivot-Tabelle haben Sie 2 Typ. DIRECT und CROSSING. Für Typ DIRECT wird eine Zeile in der Faktentabelle mit dem Datum im Kalender verknüpft Für den Typ CROSSING wird eine Zeile in der Faktentabelle mit allen Terminen der 12 zukünftigen Monate im Kalender verknüpft. Also in Qlikview, verwenden Sie den Typ DIRECT die ganze Zeit, außer wenn Sie für jeden Monat die Summe der letzten 12 Monate präsentieren möchten. In diesem Fall verwenden Sie CROSSING, da alle Zeilen mit den Daten der 12 zukünftigen Monate verknüpft sind, dh es bedeutet (umgekehrte Sicht), dass ein Monat mit allen Daten der letzten 12 Monate verknüpft ist.

Comments

Popular Posts