Saturday, November 12, 2016

Gleitender Durchschnitt Powerpivot

Moving Average Dieses Beispiel lehrt, wie Sie den gleitenden Durchschnitt einer Zeitreihe in Excel berechnen. Eine Bewegung wird verwendet, um Unregelmäßigkeiten (Spitzen und Täler) zu glätten, um Trends leicht zu erkennen. 1. Erstens, werfen wir einen Blick auf unsere Zeitreihe. 2. Klicken Sie auf der Registerkarte Daten auf Datenanalyse. Hinweis: Klicken Sie hier, um das Analyse-ToolPak-Add-In zu laden. 3. Wählen Sie Verschiebender Durchschnitt aus, und klicken Sie auf OK. 4. Klicken Sie im Feld Eingabebereich auf den Bereich B2: M2. 5. Klicken Sie in das Feld Intervall und geben Sie 6 ein. 6. Klicken Sie in das Feld Ausgabebereich und wählen Sie Zelle B3 aus. 8. Zeichnen Sie ein Diagramm dieser Werte. Erläuterung: Da wir das Intervall auf 6 setzen, ist der gleitende Durchschnitt der Durchschnitt der letzten 5 Datenpunkte und der aktuelle Datenpunkt. Als Ergebnis werden Spitzen und Täler geglättet. Die Grafik zeigt eine zunehmende Tendenz. Excel kann den gleitenden Durchschnitt für die ersten 5 Datenpunkte nicht berechnen, da nicht genügend frühere Datenpunkte vorhanden sind. 9. Wiederholen Sie die Schritte 2 bis 8 für Intervall 2 und Intervall 4. Fazit: Je größer das Intervall, desto mehr werden die Spitzen und Täler geglättet. Je kleiner das Intervall, desto näher sind die gleitenden Mittelwerte zu den tatsächlichen Datenpunkten. Gefällt Ihnen diese kostenlose Website Bitte teilen Sie diese Seite auf GoogleRolling 12 Monate Durchschnitt in DAX Die Berechnung der rollenden 12-Monats-Durchschnitt in DAX sieht aus wie eine einfache Aufgabe, aber es verbirgt sich etwas Komplexität. Dieser Artikel beschreibt, wie die beste Formel zu schreiben, um häufige Fallstricke mit Zeit Intelligenz Funktionen zu vermeiden. Wir beginnen mit dem üblichen AdventureWorks Datenmodell mit Produkten, Verkauf und Kalender Tabelle. Der Kalender wurde als Kalender-Tabelle markiert (es ist notwendig, mit jeder Zeit Intelligenz-Funktion zu arbeiten) und wir bauten eine einfache Hierarchie Jahr-Monat-Datum. Mit dieser Einrichtung ist es sehr einfach, eine erste PivotTable zu erstellen, die den Umsatz im Laufe der Zeit zeigt: Wenn Trendanalysen durchgeführt werden, wenn der Verkauf saisonal bedingt ist oder allgemeiner, wenn Sie den Effekt von Spitzen und Tropfen im Verkauf entfernen möchten, Gemeinsame Technik ist, dass der Berechnung der Wert über einen bestimmten Zeitraum, in der Regel 12 Monate, und durchschnittlich. Der rollende Durchschnitt über 12 Monate bietet einen reibungslosen Indikator für den Trend und ist sehr nützlich in Charts. Angesichts eines Datums können wir den zwölfmonatigen fortlaufenden Durchschnitt mit dieser Formel berechnen, die noch einige Probleme hat, die wir später lösen werden: Das Verhalten der Formel ist einfach: es berechnet den Wert von Sales nach dem Erstellen eines Filters auf dem Kalender, der Zeigt genau ein Jahr voller Daten. Der Kern der Formel ist das DATESBETWEEN, das einen inklusiven Satz von Daten zwischen den beiden Grenzen zurückgibt. Der untere Punkt lautet: Lesen aus dem Innersten: Wenn wir Daten für einen Monat zeigen, sagen wir Juli 2007, nehmen wir das letzte sichtbare Datum mit LASTDATE, das den letzten Tag im Juli 2007 zurückgibt. Dann benutzen wir NEXTDAY, um den 1. zu nehmen Von August 2007 und wir verwenden schließlich SAMEPERIODLASTYEAR, um es zurück zu verschieben ein Jahr, mit dem 1. August 2006. Die obere Grenze ist einfach LASTDATE, dh Ende Juli 2007. Wenn wir diese Formel in einer PivotTable verwenden, sieht das Ergebnis gut aus, aber wir Haben Sie ein Problem für das letzte Datum: In der Tat, wie Sie in der Figur sehen können, wird der Wert bis 2008 korrekt berechnet. Dann gibt es keinen Wert im Jahr 2009 (was richtig ist, haben wir nicht Umsatz im Jahr 2009), aber es gibt Ein überraschender Wert im Dezember 2010, wo unsere Formel zeigt die Gesamtsumme statt einen leeren Wert, wie wir erwarten würden. In der Tat, am Dezember gibt LASTDATE den letzten Tag des Jahres und NEXTDAY sollte am 1. Januar 2011 zurückgegeben werden. Aber NEXTDAY ist eine Zeit-Intelligenz-Funktion und es wird erwartet, dass Sätze von bestehenden Daten zurückzugeben. Diese Tatsache ist nicht sehr offensichtlich und es ist ein paar Worte mehr wert. Zeit-Intelligenz-Funktionen führen keine mathematische Daten aus. Wenn Sie den Tag nach einem bestimmten Datum nehmen möchten, können Sie einfach 1 zu einer beliebigen Datumsspalte hinzufügen und das Ergebnis ist der nächste Tag. Stattdessen verschieben Zeit-Intelligenz-Funktionen Mengen von Datum hin und her im Laufe der Zeit. So nimmt NEXTDAY seine Eingabe (in unserem Fall eine einreihige Tabelle mit dem 31. Dezember 2010) auf und verschiebt es einen Tag später. Das Problem ist, dass das Ergebnis 1. Januar 2011 sein sollte, aber da die Kalendertabelle dieses Datum nicht enthält, ist das Ergebnis BLANK. So berechnet unser Ausdruck Umsatz mit einem leeren unteren Grenze, die den Beginn der Zeit bedeutet, was als Ergebnis der Gesamtsumme der Verkäufe bedeutet. Um die Formel zu korrigieren, genügt es, die Auswertungsreihenfolge der unteren Grenze zu ändern: Wie Sie sehen können, wird NEXTDAY nach der Umschaltung von einem Jahr aufgerufen. Auf diese Weise nehmen wir 31 Dezember 2010, verschieben Sie es auf 31 Dezember 2009 und nehmen Sie am nächsten Tag, die 1. Januar 2010 ist: ein vorhandenes Datum in der Kalender-Tabelle. Das Ergebnis ist nun das Erwartete: An dieser Stelle müssen wir nur diese Zahl durch 12 dividieren, um den rollenden Durchschnitt zu erhalten. Aber, wie Sie sich leicht vorstellen können, können wir nicht immer durch 12 teilen. In der Tat, am Anfang der Zeit gibt es nicht 12 Monate zu aggregieren, sondern eine niedrigere Zahl. Wir müssen die Anzahl der Monate berechnen, für die es Verkäufe gibt. Dies kann durch Cross-Filterung der Kalender-Tabelle mit der Verkaufstabelle, nachdem wir den neuen 12 Monate Kontext angewandt werden, erreicht werden. Wir definieren eine neue Kennzahl, die die Anzahl der bestehenden Monate im Zeitraum von 12 Monaten berechnet: Sie können in der nächsten Abbildung sehen, dass die Months12M-Methode einen korrekten Wert berechnet: Es ist zu beachten, dass die Formel nicht funktioniert, wenn Sie einen Zeitraum wählen Länger als 12 Monate, da der CalendarMonthName nur 12 Werte hat. Wenn Sie längere Zeiträume benötigen, müssen Sie eine YYYYMM-Spalte verwenden, um mehr als 12 zählen zu können. Der interessante Teil dieser Formel, die die Kreuzfilterung verwendet, ist die Tatsache, dass sie die Anzahl der verfügbaren Monate berechnet, auch wenn Sie andere Filter verwenden Attribute. Wenn Sie zum Beispiel die blaue Farbe mit einem Slicer auswählen, dann starten Sie im Juli 2007 (nicht im Jahr 2005, wie es für viele andere Farben passiert). Mit dem Cross-Filter von Sales berechnet die Formel korrekt, dass es im Juli 2007 einen einmonatigen Verkaufsumsatz für Blue gibt: An diesem Punkt ist der rollende Durchschnitt nur ein DIVIDE weg: Wenn wir ihn in einer Pivot-Tabelle verwenden, sind wir noch Haben ein kleines Problem: Tatsächlich wird der Wert auch für Monate berechnet, für die es keine Verkäufe gibt (dh zukünftige Monate): Dies kann mit einer IF-Anweisung gelöst werden, um zu verhindern, dass die Formel Werte anzeigt, wenn es keine Verkäufe gibt. Ich habe nichts gegen IF, aber für die Performance-süchtig unter euch, es ist immer daran zu erinnern, dass IF ein Performance-Killer sein könnte, denn es könnte DAX Formel Motor Kraft treten in. In diesem speziellen Fall ist der Unterschied vernachlässigbar, aber , In der Regel der beste Weg, um den Wert zu entfernen, wenn es keine Verkäufe gibt, ist auf reine Speicher-Engine-Formeln wie folgt verlassen: Vergleich eines Diagramms mit dem Avg12M mit einem anderen, die Verkäufe zeigt, können Sie leicht zu schätzen wissen, wie der rollende Durchschnitt Umreißt Trends in viel sauberer Weise: Download Halten Sie mich über kommende Artikel informiert (Newsletter). Ich habe versprochen, darüber zu sprechen, wie man einen gleitenden Durchschnitt in PowerPivot zu generieren, aber dann letzte Woche habe ich abgelenkt, indem ich Ihnen sagen, über eine coole Art und Weise zu zeigen YouTube-Videos auf Ihren SharePoint-Seiten mithilfe eines Webpartes, der auf CodePlex gefunden wurde, den einige meiner Arbeitsteammitglieder gefunden haben. Es war so einfach zu implementieren, ich musste es nur mit euch allen teilen. Allerdings kehrt zurück auf das Thema der Berechnung eines gleitenden Durchschnitt, könnte die erste Frage, was ist ein gleitender Durchschnitt und warum sollten Sie dann eine verwenden möchten. Ein gleitender Durchschnitt ist einfach die Summe von zwei oder mehr zeitabhängigen Werten, in denen die Summe dann durch die Anzahl der verwendeten Werte dividiert wird. Zum Beispiel, wenn ich über Aktienkurse reden, möchte ich vielleicht etwas wie ein 7-Tage gleitenden Durchschnitt verwenden, um den Effekt der einzelnen Tagesspitzen oder Tropfen in den Aktienkurs zu dämpfen, die nicht indikativ für den gesamten Aktien-Trend sind. (Manche Langzeitinvestoren verwenden sogar längerfristig gleitende Durchschnitte.) Das bedeutet nicht, dass wenn eine Aktie stürzt oder steigt, würde ich mich zurücklehnen, bis der gleitende Durchschnitt mir sagt, dass ich handeln soll. Jeder gute Aktieninvestor wird Ihnen sagen, es gibt viele andere Faktoren sowohl intern als auch extern zu einer Firma, die Ihre Hand könnte zum Verkauf oder Kauf einer bestimmten Aktie. Aber der Punkt ist, und dies ist die Antwort auf die zweite Frage, ein gleitender Durchschnitt dämpft Zufälligkeit, so kann ich leichter sehen das allgemeine Muster der Zahlen, die ich verfolgen. Ok, so nehme ich an, für Contoso zu arbeiten und wollte wissen, ob die Verkäufe steigen, fallen oder allgemein flach sind. Wenn ich tägliche Verkäufe betrachte, sind die Zahlen wahrscheinlich, oben und unten in keinem bestimmten Muster zu schwanken, das mich vom Aufflackern eines Gesamttrends hindert. Die folgende Abbildung zeigt Contoso täglichen Contoso Umsatz über einen Zeitraum von 3 Monaten im Sommer 2008. Ich beschloss, die Daten als Diagramm zeigen, um zu zeigen, wie Umsatz schwankt am Tag enthüllt Informationen, die ich nicht in der Lage, so leicht zu sehen war Eine Tabelle mit denselben Werten erstellt. Natürlich könnte ich ein ganzes Jahr oder mehr einplanen, aber um einzelne Tage zu sehen, müsste ich das Diagramm wesentlich erweitern. Doch auch mit dieser kleineren Zeit, kann ich sehen, dass der Umsatz sehr schön schwanken. Aber ich könnte fragen, sind die Umsätze steigen, sinken oder bleiben die gleichen. Wenn ich ein gutes Auge habe, könnte ich sagen, dass Verkäufe Spitze gegen Ende Juli und dann fallen ein wenig zurück, wie das Diagramm in August geht. Aber das ist nicht so offensichtlich wie die Tatsache, dass es viel Tagesfluktuation gibt. Also, wie kann ich visuell anzeigen Trends mit Moving Average Sales. Jetzt für die Zwecke dieser Darstellung, Im gehend ein Vier-Tage gleitenden Durchschnitt zu schaffen, aber ehrlich gesagt, es gibt keine richtige Anzahl von Perioden in einem gleitenden Durchschnitt. In der Tat sollte ich mit unterschiedlichen Zeiträumen experimentieren, um die Zeit zu sehen erlaubt es mir nicht nur allgemeine Trends zu erkennen, aber auch in diesem Fall, wo ich bin Store Sales Anzeige bei saisonalen Veränderungen. Ich weiß bereits, dass, wenn ich Daten von Tag anzeige, ich die folgende Formel verwenden kann, um die täglichen Verkäufe nur unseres Speicherkanals zu berechnen. (Ja, ich konnte einfach SalesAmount verwenden und einen Kanal-Slicer gelten nur Store Sales zu verwenden, sondern können Stick mit dem Beispiel.) Ich habe dann diese berechnete Kennzahl verwenden können, indem Sie den folgenden Maßnahme, um die vorherigen Tage Verkäufe für jeden Tag zu berechnen. StoreSales1DayAgo: Errechnen (StoreSales, DATEADD (DimDateDateKey, -1, Tag)) Sie könnten in der Lage sein, zu erraten, dass die Formel für die Berechnung der Umsatz für zwei Tage vor und drei Tage vor bzw. sind: StoreSales2DayAgo: Errechnen (StoreSales, DATEADD (DimDateDateKey, - 2 Tage)) StoreSales3DayAgo: errechnen (StoreSales, DATEADD (DimDateDateKey, -3, Tag)) Mit diesen vier Werten für jeden Tag berechnet, kann ich die Summe dieser Werte und dividieren durch 4 berechnen einen 4 Tage gleitenden Durchschnitt zu erhalten mit siehe (StoreSales StoreSales1DayAgo StoreSales2DayAgo StoreSales3DayAgo) / 4.0 Nun, wenn ich zurück zu meiner Tabelle Seite zu wechseln, sollte ich das Excel aktualisiert die Feldliste, um die neu berechneten Maßnahmen umfassen: die folgenden berechneten Wert: FourDayAverage. Wenn ich dann das Feld FourDayAverage zu Feld Werte fügen Sie eine zweite Reihe in der Tabelle zu schaffen, ich habe jetzt sowohl die tatsächlichen täglichen Umsatz und die vier Tage gleitenden im selben Diagramm angezeigt Durchschnitt. Das einzige Problem ist, ich würde auch das Diagrammformat ändern möchten, die täglichen Verkäufe anzuzeigen (meine erste Datenreihe) als Spalten und meine gleitenden Durchschnitt (meine zweite Datenreihe) als eine Zeile. Wenn ich mit der rechten Maustaste auf das Diagramm und wählen Sie Diagrammtyp ändern, kann ich Combo als Diagrammtyp wählen, wie in der folgenden Abbildung gezeigt. In diesem Fall ist das Clustered Column Line Diagramm genau das, was ich möchte. Da ich die gleitende mittlere Reihe dem Values-Bereich zuletzt hinzugefügt habe, werden sie standardmäßig die Zeile und alle anderen Datenreihen als gruppierte Spalten angezeigt. Da ich nur einen Wert für jeden Tag habe, zeigt das Diagramm eine individuelle Spalte pro Tag. Wenn ich meine Datenreihe in den Wertebereich in der falschen Reihenfolge eingegeben hatte, konnte ich einfach diesen Dialog verwenden, um den Diagrammtyp für jede Serie auszuwählen. Wenn ich in diesem Dialog auf OK klicke, sieht mein Diagramm nun wie das Folgende aus, was deutlich mehr den Gesamttrend und weniger Tagesfluktuation zeigt. Aber warten, gibt es einen einfacheren Weg, dies zu tun Warum ja gibt es. Aber um zu lernen, wie man das macht, musst du bis nächste Woche warten. Post navigation Meine Archive E-Mail-Abonnement Themen, die ich rede aboutDAX enthält ein paar statistische Aggregation Funktionen wie Durchschnitt, Varianz und Standardabweichung. Andere typische statistische Berechnungen erfordern, dass Sie längere DAX-Ausdrücke schreiben. Excel, von diesem Gesichtspunkt, hat eine viel reichere Sprache. Die statistischen Muster sind eine Sammlung von gemeinsamen statistischen Berechnungen: Median, Modus, gleitenden Durchschnitt, Perzentil und Quartil. Wir danken Colin Banfield, Gerard Brückl und Javier Guilln, deren Blogs einige der folgenden Muster inspiriert haben. Grundmuster Beispiel Die Formeln in diesem Muster sind die Lösungen für spezifische statistische Berechnungen. Durchschnitt Mit Hilfe von Standard-DAX-Funktionen kann der Mittelwert (arithmetischer Mittelwert) eines Wertsatzes berechnet werden. DURCHSCHNITT. Gibt den Durchschnitt aller Zahlen in einer numerischen Spalte zurück. AVERAGEA. Gibt den Durchschnitt aller Zahlen in einer Spalte zurück und behandelt sowohl Text als auch nicht-numerische Werte (nicht numerische und leere Textwerte zählen als 0). AVERAGEX. Berechnen Sie den Durchschnitt für einen Ausdruck, der über einer Tabelle ausgewertet wird. Moving Average Der gleitende Durchschnitt ist eine Berechnung, um Datenpunkte zu analysieren, indem eine Reihe von Mittelwerten verschiedener Teilmengen des vollständigen Datensatzes erstellt wird. Sie können viele DAX-Techniken verwenden, um diese Berechnung zu implementieren. Die einfachste Technik besteht darin, AVERAGEX zu verwenden, eine Tabelle der gewünschten Granularität zu iterieren und für jede Iteration den Ausdruck zu berechnen, der den einzelnen Datenpunkt generiert, der im Durchschnitt verwendet werden soll. Die folgende Formel berechnet beispielsweise den gleitenden Durchschnitt der letzten 7 Tage, vorausgesetzt, dass Sie eine Datumstabelle in Ihrem Datenmodell verwenden. Mit AVERAGEX berechnen Sie automatisch das Maß auf jeder Granularität. Bei der Verwendung einer Maßnahme, die aggregiert werden kann (wie z. B. SUM), kann ein anderer Ansatz, der auf CALCULATE basiert, schneller sein. Sie finden diesen Alternativansatz im kompletten Muster von Moving Average. Varianz Mit Hilfe von Standard-DAX-Funktionen können Sie die Varianz eines Wertsatzes berechnen. VAR. S. Liefert die Varianz von Werten in einer Spalte, die eine Sample-Population darstellt. VAR. P. Gibt die Varianz von Werten in einer Spalte zurück, die die gesamte Population darstellt. VARX. S. Gibt die Varianz eines Ausdrucks zurück, der über eine Tabelle ausgewertet wird, die eine Sample-Population darstellt. VARX. P. Gibt die Varianz eines Ausdrucks zurück, der über eine Tabelle ausgewertet wird, die die gesamte Population repräsentiert. Standardabweichung Sie können Standard-DAX-Funktionen verwenden, um die Standardabweichung eines Wertsatzes zu berechnen. STDEV. S. Liefert die Standardabweichung von Werten in einer Spalte, die eine Stichprobenpopulation darstellt. STDEV. P. Gibt die Standardabweichung von Werten in einer die gesamte Population repräsentierenden Spalte zurück. STDEV. S. Gibt die Standardabweichung eines Ausdrucks zurück, der über eine Tabelle ausgewertet wird, die eine Probenpopulation darstellt. STDEV. P. Gibt die Standardabweichung eines Ausdrucks zurück, der über eine Tabelle ausgewertet wird, die die gesamte Population darstellt. Median Der Median ist der numerische Wert, der die höhere Hälfte einer Population von der unteren Hälfte trennt. Wenn es eine ungerade Anzahl von Zeilen gibt, ist der Median der Mittelwert (Sortierung der Zeilen vom niedrigsten zum höchsten Wert). Wenn es eine gerade Anzahl von Zeilen gibt, ist dies der Mittelwert der beiden mittleren Werte. Die Formel ignoriert leere Werte, die nicht als Teil der Bevölkerung betrachtet werden. Das Ergebnis ist identisch mit der MEDIAN-Funktion in Excel. Abbildung 1 zeigt einen Vergleich zwischen dem von Excel zurückgegebenen Ergebnis und der entsprechenden DAX-Formel für die mittlere Berechnung. Abbildung 1 Beispiel der Medianberechnung in Excel und DAX. Modus Der Modus ist der Wert, der am häufigsten in einem Satz von Daten angezeigt wird. Die Formel ignoriert leere Werte, die nicht als Teil der Bevölkerung betrachtet werden. Das Ergebnis ist identisch mit den MODE - und MODE. SNGL-Funktionen in Excel, die nur den minimalen Wert zurückgeben, wenn es mehrere Modi in den betrachteten Wertsätzen gibt. Die Excel-Funktion MODE. MULT würde alle Modi zurückkehren, aber man kann es als eine Maßnahme im DAX nicht umsetzen. Abbildung 2 vergleicht das Ergebnis, das von Excel mit der entsprechenden DAX-Formel für die Modusberechnung zurückgegeben wird. Abbildung 2 Beispiel für die Modusberechnung in Excel und DAX. Perzentil Das Perzentil ist der Wert, unter dem ein bestimmter Prozentsatz der Werte in einer Gruppe sinkt. Die Formel ignoriert leere Werte, die nicht als Teil der Bevölkerung betrachtet werden. Die Berechnung in DAX erfordert mehrere Schritte, in der Complete-Muster beschrieben, die zeigt, wie die gleichen Ergebnisse der Excel-Funktionen PERCENTILE, PERCENTILE. INC und PERCENTILE. EXC zu erhalten. Quartil Der Quartile sind drei Punkte, die eine Reihe von Werten in vier gleich große Gruppen unterteilen, wobei jede Gruppe ein Viertel der Daten umfasst. Sie können die Quartile mit dem Perzentil Muster zu berechnen, diese Korrespondenzen folgende: Erstes Quartil unteren Quartil 25-Perzentil der zweiten Quartil Median 50. Perzentil Drittes Quartil obere Quartil 75 Perzentil komplette Muster Einige statistische Berechnungen eine längere Beschreibung des vollständigen Muster haben, weil Haben Sie möglicherweise verschiedene Implementierungen abhängig von Datenmodellen und anderen Anforderungen. Gleitender Durchschnitt Normalerweise werten Sie den gleitenden Durchschnitt aus, indem Sie auf den Taggranularitätsgrad verweisen. Die allgemeine Vorlage der folgenden Formel hat diese Marker: ltnumberofdaysgt die Anzahl der Tage für den gleitenden Durchschnitt. ltdatecolumngt ist das Datum Spalte der Tabelle Datum, wenn Sie eine haben, oder das Datum Spalte der Tabelle Werte enthält, wenn kein separater Termin-Tabelle. Ltmeasuregt ist die zu berechnende Größe als gleitender Durchschnitt. Das einfachste Muster verwendet die AVERAGEX Funktion in DAX, der nur berücksichtigt automatisch die Tage, für die ein Wert ist. Als Alternative können Sie die folgende Vorlage in Datenmodellen ohne Datum Tisch und mit einem Maß verwenden, die (wie SUM) über den gesamten Zeitraum betrachtet aggregiert werden können. Die vorhergehende Formel berücksichtigt einen Tag ohne entsprechende Daten als Maß, das 0-Wert hat. Dies kann nur geschehen, wenn Sie eine separate Datumstabelle haben, die Tage enthalten kann, für die es keine entsprechenden Transaktionen gibt. Sie können den Nenner für den Durchschnitt nur über die Anzahl der Tage, für die es Transaktionen mit dem folgenden Muster gibt, festlegen: ltfacttablegt ist die Tabelle, die sich auf die Datumstabelle bezieht und die von der Maßeinheit berechneten Werte enthält. Sie können die DATESBETWEEN - oder DATESINPERIOD-Funktionen anstelle von FILTER verwenden, aber diese arbeiten nur in einer regulären Datumstabelle, während Sie das oben beschriebene Muster auch auf nicht-reguläre Datumstabellen und auf Modelle anwenden können, die keine Datumstabelle haben. Betrachten Sie zum Beispiel die verschiedenen Ergebnisse, die durch die beiden folgenden Maßnahmen hervorgerufen werden. In Abbildung 3 sehen Sie, dass es keine Verkäufe am 11. September 2005 gibt. Allerdings ist dieses Datum in der Tabelle Datum enthalten, also gibt es 7 Tage (vom 11. September bis 17. September), die nur 6 Tage mit Daten haben. Abbildung 3 Beispiel einer gleitenden Durchschnittsberechnung unter Berücksichtigung und Ignorierung von Terminen ohne Umsatz. Die Maßnahme Moving Average 7 Tage hat eine niedrigere Zahl zwischen dem 11. September und 17. September, weil es berücksichtigt 11. September als Tag mit 0 Verkäufe. Wenn Sie Tage ohne Umsatz ignorieren möchten, dann verwenden Sie die Maßnahme Durchschnittliche 7 Tage Keine Zero. Dies könnte der richtige Ansatz sein, wenn Sie eine vollständige Datumstabelle haben, aber Sie Tage ohne Transaktionen ignorieren möchten. Mit dem Moving Average 7 Tage Formel ist das Ergebnis korrekt, da AVERAGEX automatisch nur Leerwerte berücksichtigt. Beachten Sie, dass Sie die Leistung eines gleitenden Durchschnitts verbessern können, indem Sie den Wert in einer berechneten Spalte einer Tabelle mit der gewünschten Granularität wie Datum, Datum und Produkt beibehalten. Der dynamische Berechnungsansatz mit einer Maßnahme bietet jedoch die Möglichkeit, einen Parameter für die Anzahl von Tagen des gleitenden Mittelwerts zu verwenden (z. B. ersetzen Sie die Anzahl von Tagen mit einem Maß, das das Parametertabellenmuster implementiert). Median Der Median entspricht dem 50. Perzentil, das Sie mit dem Perzentilmuster berechnen können. Das Medianmuster ermöglicht es Ihnen, die Medianberechnung mit einem einzigen Maßstab zu optimieren und zu vereinfachen, anstelle der verschiedenen Maßnahmen, die das Perzentilmuster erfordert. Sie können diesen Ansatz verwenden, wenn Sie den Median für die in ltvaluecolumngt enthaltenen Werte berechnen, wie unten gezeigt: Um die Leistung zu verbessern, möchten Sie möglicherweise den Wert einer Kennzahl in einer berechneten Spalte beibehalten, wenn Sie den Median für die Ergebnisse von erhalten möchten Eine Maßnahme im Datenmodell. Bevor Sie diese Optimierung durchführen, sollten Sie die MedianX-Berechnung anhand der folgenden Vorlage mit diesen Markierungen implementieren: ltgranularitytablegt ist die Tabelle, die die Granularität der Berechnung definiert. Beispielsweise könnte es sich um die Datumstabelle handeln, wenn Sie den Mittelwert einer auf Tagesebene berechneten Maßnahme berechnen wollen, oder es könnte VALUES (8216DateYearMonth) sein, wenn Sie den Median einer auf der Monatsstufe berechneten Maßeinheit berechnen möchten. Ltmeasuregt ist das Maß für die Berechnung für jede Zeile der ltgranularitytablegt für die mittlere Berechnung. Ltmeasuretablegt ist die Tabelle, die die von ltmeasuregt verwendeten Daten enthält. Wenn z. B. das ltgranularitytablegt eine Dimension wie 8216Date8217 ist, wird das ltmeasuretablegt 8216Internet Sales8217 sein, das die Internet Sales Amount-Spalte enthält, die durch das Internet-Gesamtumsatzmaß summiert wird. Beispielsweise können Sie den Median des Gesamtverkaufs für alle Kunden in Adventure Works wie folgt schreiben: Tip Das folgende Muster: wird verwendet, um Zeilen aus ltgranularitytablegt zu entfernen, die keine entsprechenden Daten in der aktuellen Auswahl haben. Es ist ein schnellerer Weg, als den folgenden Ausdruck zu verwenden: Sie können jedoch den gesamten CALCULATETABLE-Ausdruck durch nur ltgranularitytablegt ersetzen, wenn Sie leere Werte des ltmeasuregt als 0 betrachten möchten. Die Performance der MedianX-Formel hängt von der Anzahl der Zeilen in der Tabelle ab Und die Komplexität der Maßnahme. Wenn die Leistung schlecht ist, können Sie das ltmeasuregt-Ergebnis in einer berechneten Spalte des lttablegt fortbestehen, aber dies wird die Fähigkeit des Anwendens von Filtern auf die mittlere Berechnung bei der Abfragezeit beeinträchtigen. Perzentile Excel hat zwei verschiedene Implementierungen der Perzentilberechnung mit drei Funktionen: PERCENTILE, PERCENTILE. INC und PERCENTILE. EXC. Sie geben alle das K-te Perzentil der Werte zurück, wobei K im Bereich von 0 bis 1 liegt. Der Unterschied besteht darin, daß PERCENTILE und PERCENTILE. INC K als einen Inklusionsbereich betrachten, während PERCENTILE. EXC den K-Bereich 0 bis 1 als exklusiv betrachtet . Alle diese Funktionen und ihre DAX-Implementierungen erhalten einen Perzentilwert als Parameter, den wir K. ltKgt-Perzentilwert im Bereich von 0 bis 1 nennen. Die beiden DAX-Implementierungen von Perzentil erfordern ein paar ähnliche Maßnahmen, die aber unterschiedlich genug sind Zwei verschiedene Satz von Formeln. Die in jedem Muster definierten Maßnahmen sind: KPerc. Der Perzentilwert entspricht ltKgt. PercPos. Die Position des Perzentils in dem sortierten Satz von Werten. ValueLow. Der Wert unterhalb der Perzentilposition. WertHigh. Der Wert über der Perzentilposition. Perzentil. Die endgültige Berechnung des Perzentils. Sie benötigen die ValueLow - und ValueHigh-Maßnahmen, falls das PercPos einen Dezimalteil enthält, da Sie dann zwischen ValueLow und ValueHigh interpolieren müssen, um den richtigen Perzentilwert zurückzugeben. Fig. 4 zeigt ein Beispiel der Berechnungen, die mit Excel - und DAX-Formeln durchgeführt werden, wobei beide Algorithmen von Perzentil (inklusive und exklusiv) verwendet werden. Abbildung 4 Perzentilberechnungen mit Excel-Formeln und der äquivalenten DAX-Berechnung. In den folgenden Abschnitten führen die Percentile-Formeln die Berechnung von Werten aus, die in einer Tabellenspalte DataValue gespeichert sind, während die PercentileX-Formeln die Berechnung auf Werte ausführen, die von einer bei einer gegebenen Granularität berechneten Maßeinheit zurückgegeben werden. Percentile Inclusive Die Percentile Inclusive-Implementierung ist die folgende. Percentile Exclusive Die Percentile Exclusive-Implementierung ist die folgende. PercentileX Inclusive Die PercentileX Inclusive-Implementierung basiert auf folgender Vorlage: ltgranularitytablegt ist die Tabelle, die die Granularität der Berechnung definiert. Beispielsweise könnte es sich um die Datumstabelle handeln, wenn Sie das Perzentil einer Kennzahl auf Tagesebene berechnen möchten, oder es könnte VALUES (8216DateYearMonth) sein, wenn Sie das Perzentil einer Kennzahl auf der Monatsstufe berechnen möchten. Ltmeasuregt ist das Maß für die Berechnung für jede Zeile von ltgranularitytablegt für die Perzentilberechnung. Ltmeasuretablegt ist die Tabelle, die die von ltmeasuregt verwendeten Daten enthält. Wenn zum Beispiel das ltgranularitytablegt eine Dimension wie 8216Date, 8217 ist, dann ist das ltmeasuretablegt 8216Sales8217, das die Summenspalte enthält, die durch das Gesamtbetragsmaß summiert wird. Beispielsweise können Sie die PercentileXInc des Gesamtbetrags der Verkäufe für alle Daten in der Datumstabelle wie folgt schreiben: PercentileX Exclusive Die PercentileX Exclusive-Implementierung basiert auf der folgenden Vorlage, wobei dieselben Markierungen verwendet werden, die in PercentileX Inclusive verwendet werden: Zum Beispiel Sie Kann das PercentileXExc des Gesamtbetrags der Verkäufe für alle Daten in der Datumstabelle wie folgt schreiben: Downloads Halten Sie mich über bevorstehende Muster (Newsletter) auf dem Laufenden. Deaktivieren Sie die Datei frei herunterladen. Veröffentlicht am 17. März 2014 durch Andere Muster, die Sie mögen können Zeitmuster Die DAX-Zeitmuster werden verwendet, um zeitbezogene Berechnungen zu implementieren, ohne auf DAX-Zeit-Intelligenz-Funktionen zu verlassen. Dies ist nützlich, wenn Sie benutzerdefinierte Kalender wie einen ISO 8601-Kalender haben oder wenn Sie einen Analysis Services-Hellip verwenden. Parent-Child-Hierarchien DAX unterstützt keine übergeordneten Hierarchien. Um eine durchsuchbare Hierarchie im Datenmodell zu erhalten, müssen Sie eine übergeordnete Hierarchie zuordnen. DAX bietet spezifische Funktionen, um eine übergeordnete untergeordnete Hierarchie mit berechneten Spalten zu naturalisieren. Das komplette Muster beinhaltet auch hellip Dax Patterns wird von SQLBI produziert. Urheberrechtshinweise. Alle Rechte vorbehalten. Microsoft Excel reg und alle anderen Marken und Urheberrechte sind das Eigentum ihrer jeweiligen Besitzer. Ich versuche, einen gleitenden Durchschnitt in meinem Modell zu erstellen. Ich suche Hilfe. Ich habe versucht, die Details im Alberto Ferraris Blog hier. Aber ich konnte nicht die DayNumber Maßnahme arbeiten, die Syntax nicht richtig scheinen und ich konnte es nicht korrigieren. Mein Modell hat eine Faktentabelle, die eine Liste der Fälle enthält und sich zu einer Datumstabelle über Erstellungsdatum verbindet. Ich habe eine zweite Beziehung (Inaktiv) auf die Datum-Tabelle in der Spalte ClosedDate. Ich habe eine Maßnahme: Case Closed Count: CALCULATE (COUNTROWS (Fall), USERELATIONSHIP (CaseClosedDateKey, DateDateKey)). Ich möchte eine Maßnahme, die die Summe von Case Closed Count für die letzten drei Tage des aktuellen Kontexts erhält. Ich habe dann geplant, diese Zahl durch 3 zu teilen, um den bewegten 3-Tage-Durchschnitt zu erhalten. Ein anderes Stück Logik möchte ich in Erwägung ziehen - wenn der letzte Tag HEUTE ist, dann werden die vorherigen 3 Tage verwendet - die Daten werden alle 15 Minuten aktualisiert, so dass dies um 09:00 Uhr morgens den Durchschnitt verkürzen würde Es ist kein vollendeter Tag. Jede Hilfe wird geschätzt. Sonntag, 17. Februar 2013 17:25 Antworten Heres einen Link zu einem Ansatz mit nur ein berechnetes Maß, dass Javier Guillen eine Weile zurück schrieb. Ich hoffe, das hilft. Brent Greenwood, MS, MCITP, CBIP // Bitte markieren Sie richtige Antworten und hilfreiche Beiträge // brentgreenwood. blogspot Bearbeitet von Brent Greenwood Editor Montag, 18. Februar 2013 16:08 Vorgeschlagen als Antwort von Ed Price - MSFT Microsoft Mitarbeiter, Besitzer Donnerstag , August 22, 2013 7:39 PM Markiert als Antwort von Ed Price - MSFT Microsoft-Mitarbeiter, Besitzer Dienstag, 17. September 2013 16:39 Uhr In seinem Beitrag nutzt Alberto die EARLIER-Funktion, die einen Wert aus einem früheren Zeilenkontext zurückgibt. Dies funktioniert nur in einem iterativen Ausdruck, wenn dieser Ausdruck in einem vorhandenen Zeilenkontext (einem anderen Iterationsausdruck oder einer berechneten Spalte) ausgewertet wird. Entspricht folgende Voraussetzung (nicht getestet) Fall Geschlossener Count - Letzte 3 Tage: CALCULATE ( (DATEADD (DateDateKey, -3, Day) DateDateKey)) Das letzte kann mit einem IF-Ausdruck mit TODAY () - Funktion und Anpassung des obigen Musters getan werden. Vorgeschlagen als Antwort von Ed Price - MSFT Microsoft Mitarbeiter, Besitzer Donnerstag, 22. August 2013 07:40 Uhr Heres eine Verbindung zu einem Ansatz mit nur ein berechnetes Maß, dass Javier Guillen schrieb eine Weile zurück . Ich hoffe, das hilft. Brent Greenwood, MS, MCITP, CBIP // Bitte markieren Sie richtige Antworten und hilfreiche Beiträge // brentgreenwood. blogspot Bearbeitet von Brent Greenwood Editor Montag, 18. Februar 2013 16:08 Vorgeschlagen als Antwort von Ed Price - MSFT Microsoft Mitarbeiter, Besitzer Donnerstag , August 22, 2013 7:39 PM Marked als Antwort von Ed Price - MSFT Microsoft Mitarbeiter, Besitzer Dienstag, 17. September 2013 6:39 Uhr Montag, 18. Februar 2013 16:08 Uhr


No comments:

Post a Comment