Thursday 26 October 2017

Olap Glidande Medelvärde


Denna fråga gör ont i min hjärna för att prata om Förhoppningsvis kan jag förklara det ordentligt. Jag har följande beräkning definierad i min kub. Detta borde ge mig en 52 veckors efterföljande summa av försäljningen, och det gör men ENDAST när kuben expanderas till En veckovy i Excel När den rullas upp till en kvartalsvis eller YTD-vy, visar den summan av försäljningen som inträffade under upprullad period. Här är ett skärmdump som förklarar vad jag menar. Vad jag inte förstår Varför kvartals - och periodmånadersupprullningarna inte inkluderar data om hela året Om ett års säljvärde från 1 1 2005 var 954 000, är ​​det inte meningsfullt att kvartalet 1 2005 visar ett år s värde av försäljningen är bara 252.000.Kan någon hjälpa mig att förstå vad jag ser Har jag gjort något fel Hur skriver jag en rullande medelberäkning som är korrekt även när den rullas upp. skriven måndag 16 15 kl 21 07.SQL Server Denali PowerPivot. Alberto Ferrari skrev redan om att beräkna glidande medelvärden i DAX med hjälp av en beräknad Kolumn I d vill presentera en annan metod här med hjälp av en beräknad åtgärd För glidande medelvärde beräknar jag ett dagligt glidande medelvärde de senaste 30 dagarna här. För mitt exempel använder jag PowerPivot-arbetsboken som kan laddas ner som en del av SSAS-tabellmodellen Projekt från Denali CTP 3-proverna. I detta inlägg utvecklar jag formeln steg för steg Men om du har bråttom kanske du direkt vill hoppa till de slutliga resultaten nedan. Med kalenderåret 2003 på Filtret, datumet på kolumner och försäljningsbeloppet från bordets internetförsäljning i detaljerna, ser samplingsdata så här ut. I varje rads sammanhang innehåller uttrycket Date Date det aktuella sammanhanget, dvs datumet för den här raden Men från en beräknad åtgärd Vi kan inte referera till detta uttryck eftersom det inte finns någon aktuell rad för datumtabellen, men vi måste istället använda ett uttryck som LastDate Date Date. So för att få de senaste trettio dagarna kan vi använda detta uttryck. Vi kan nu sammanfatta vår Internetförsäljning för ea ch av dessa dagar med hjälp av sammanfattningsfunktionen. Summarize DateInPeriod Date Date, LastDate Date Date, -30, DAY, Date Date SalesAmountSum Summa Internet Sales Sales Amount. And äntligen använder vi DAX-funktionen AverageX för att beräkna genomsnittet av de 30 värden. Saldot belopp 30d avg AverageX Summarize DateInPeriod Date Date, LastDate Date Date -30, DAY, Date Date SalesAmountSum Summa Internet Sales Sales Amount, SalesAmountSum. This är den beräkning som vi använder i vår Internet Sales tabell som visas på skärmbilden Nedan. När du lägger till denna beräkning till pivottabellen ovanifrån ser resultatet ut så här. Se till att resultatet inte verkar ha några data före 1 januari 2003. Det första värdet för glidande medelvärde är identiskt med dagen Värde det finns inga rader före det datumet Det andra värdet för glidande medelvärdet är faktiskt genomsnittet för de första två dagarna och så vidare Detta är inte riktigt korrekt men jag kommer tillbaka till det här problemet på en sekund Skärmdumpen sho Ws beräkningen för glidande medelvärdet den 31 januari som genomsnittet av de dagliga värdena från 2 januari till 31.Our beräknade åtgärd fungerar också bra när filter tillämpas. I följande skärmdump användes två produktkategorier för dataserierna. Vår beräknade åtgärd arbetar med högre aggregeringsnivåer För att få reda på, använder jag kalenderhierarkin i raderna istället för datum För enkelhet tog jag bort terminen och kvartalet med hjälp av Excel s pivottabellalternativ Visa Dölj fältalternativ. Om du kan Se, beräkningen fungerar fortfarande bra Här är månadsaggregatet det rörliga genomsnittet för den sista dagen i den specifika månaden. Du kan se detta tydligt för januarivärdet 14.215 01 visas också i skärmbilden ovan som värdet för 31 januari. Om detta var Företagskravet som låter rimligt för ett dagligt genomsnitt, fungerar aggregationen bra på månadsnivå annars kommer vi att behöva finjustera vår beräkning och detta kommer att vara ett ämne av Kommande post. Men även om aggregeringen är meningsfull på månadsnivå, om vi utvidgar den här vyn till dagsnivån så ser du att vår beräknade åtgärd helt enkelt återvänder försäljningsbeloppet för den dagen, inte genomsnittet för de senaste 30 dagarna anymore. Kan detta vara Problemet härrör från det sammanhang där vi beräknar vår summa, som framgår av följande kod. Saldot belopp 30d avg AverageX Summarize dateinperiod Datum Datum, Sista Datum Datum, -30, DAG, Datum Datum FörsäljningAmountSum Summa Internet Försäljning Försäljningsbelopp , SalesAmountSum. Since vi utvärderar detta uttryck under den angivna datumperioden är det enda sammanhanget som skrivs över här datumdatum. I vår hierarki använder vi oss av olika attribut från vår dimension Kalender år, månad och dag för månad Eftersom denna kontext fortfarande är närvarande , beräkningen är också filtrerad av de attributen Och det förklarar varför vi dagens kontext fortfarande finns för varje rad För att få saker klart, så länge vi utvärderar detta uttryck utanför ett datumkontext, är allt bra eftersom följande DAX-fråga visas när det körs av Management Studio på Internet-försäljningsperspektivet av vår modell med hjälp av tabelldatabasen med samma data. utvärdera summera datumintervall Datum Datum, datum 2003,1,1, - 5, DAY, Date Date SalesAmountSum Summa Internet Sales Sales Amount. Här minskade tidsperioden till 5 dagar och också ställa in ett fast datum eftersom LastDate skulle resultera i den sista dagen i min datumdimensionstabell för vilken inga data finns i Provdata Här är resultatet från frågan. Efter att ha satt ett filter till 2003 kommer inga dataräknningar utanför 2003 att inkluderas i summan. Detta förklarar anmärkningen ovan. Det såg ut som att vi bara har data från och med 1 januari 2003 Och Nu vet vi varför År 2003 var på filtret som du kan se i det första skärmbildet av detta inlägg och var därför närvarande vid beräkningen av summan Nu är allt vi behöver göra för att bli av med de extra filtren eftersom Vi filtrerar redan Våra resultat efter datum Det enklaste sättet att göra det är att använda beräkningsfunktionen och tillämpa ALL för alla attribut som vi vill ta bort filtret som vi har några av attributen år, månad, dag, veckodag och vi vill Ta bort filtret från alla men datumattributet är genvägsfunktionen ALLEXCEPT mycket användbar här. Om du har en MDX-bakgrund kommer du att undra varför vi inte får ett liknande problem när du använder SSAS i OLAP-läge BISM Multidimensionell Anledningen är Att vår OLAP-databas har attributrelationer, så efter att ha satt datumnyckelattributet ändras de andra attributen automatiskt också, och vi behöver inte ta hand om det här se mitt inlägg här Men i tabellmodellen har vi inte attribut förhållanden ens En sann nyckelattribut och därför måste vi eliminera oönskade filter från våra beräkningar. Så här är vi med. Salvbeloppet 30d avg AverageX Summarize dateinperiod Datum Datum, sista datum Datum, -30, DAG, Datum Datum FörsäljningAmount Summa beräkna Sum Internet Sales Sales Amount, ALLEXCEPT Datum, Date Date, SalesAmountSum. And detta är vårt sista pivottabell i Excel. För att illustrera det glidande genomsnittet, här är det samma extraktet av data i en grafisk vy Excel. Trots att vi filtrerade våra data I 2003 tar det rörliga genomsnittet för de första 29 dagarna 2003 rätt i beaktande av motsvarande dagar i år 2002. Du kommer att känna igen värdena för 30 och 31 januari från vår första tillvägagångssätt eftersom dessa var de första dagarna för vilka vår första beräkning hade en tillräcklig mängd Av data som är fulla 30 dagar. Beräkning av viktade medelvärden med MDX. Produkt s Tableau Desktop Version s 8 2, 8 1 Senast ändrad datum 16 aug 2016. Denna artikel visar hur du kan använda multidimensionella uttryck MDX för att beräkna det vägda genomsnittet av olika fält i en kubikdatakälla Nedan finns två exempel på MDX-satser som kan användas i Tableau för att beräkna vägda medelvärden. Notera Den bifogade arbetsboken innehåller en anslutning till Microsoft Analysis Servi ces MSAS AdventureWorks-kub Detta är en provkub som skickas med Microsoft Analysis Services För att kunna använda den här arbetsboken måste du ändra Servervärdet från scdemo-dbs till namnet på din MSAS-server som är värd för AdventureWorks. Beräkna det viktade genomsnittet av två åtgärder. följ stegen nedan för att beräkna det vägda genomsnittet av Internet Freight Cost och Internet Order Count genom att använda en beräknad medlem. Steg 1 Skapa en beräknad medlem för att beräkna det viktade genomsnittet av två åtgärder. Ladda ner och öppna MDX Weighted Average-exemplen arbetsbok och klicka på Viktad Arbetsblad med medelvärden av två åtgärder. Klicka på rullgardinsmenyn Dimensioner och välj sedan Beräknade medlemmar. I dialogrutan Beräknade medlemmar klickar du på Ny för att skapa en ny beräknad medlem. Gör följande i avsnittet Beräknad medlemsavdelning. I namnet fält, skriv Vägt genomsnitt. I formulärrutan skriver du följande MDX-formulär. Produkt internet order räkna internet fraktkostnad. Produkt-internet-orderräkning. Bekräfta att statusmeddelandet indikerar att formeln är giltig genom att klicka på Kontrollera formel och sedan klicka på OK. Steg 2 Skapa vyn. Från Dimensions-rutan, dra till raden hyllan och dra sedan ner till Underkategori. Dra i det räknade rutan den beräknade medlemmen Weighted Avg på kolumnhyllan. De viktade medelvärdena för Internet Order Count och Internet Freight Cost för varje underkategori visas nu. Beräkna det godtyckliga komplexa viktat genomsnittet för varje produkt. Följande exempel guider dig genom att skapa ett MDX-formulär över både produkt - och kundgeografiens dimensioner Detta komplexa viktiga genomsnittliga exempel berättar Tableau att få det vägda genomsnittet av Internet-försäljningsbeloppet, över varje kombination av underkategori och land, för deras respektive efterkommande. Steg 1 Skapa en beräknad medlem För att hitta det viktade genomsnittet för varje produkt. I Arbetsboken för MDX-viktad medelexempel klickar du på Variabelt komplexviktat medelvärde för E Ach-produktets arbetsblad. Skapa en ny beräknad medlem, beteckna det komplexa viktade medelvärdet och använd följande MDX-formulär i formuläret. Avsändarproduktprodukt. Produkt Produktkategorier Underkategori, SELF. Descendants Kundtjänst. Kundkundsgeografi Land, SELF. Åtgärder Internet Försäljningsbelopp Åtgärder Internet Order Quantity. Åtgärda Internet Order Quantity. Step 2 Skapa visningen. Från Dimensions-rutan, dra till kolumnerhyllan och dra sedan ner till underkategori. Från Åtgärder-panelen drar du Internet-försäljningsbeloppet till Marks-kortet och drar sedan Complex Weighted Average till raden hyllan. Följande vy visar det vägda genomsnittet av Internet-försäljningsbeloppet, över varje kombination av underkategori och land, för deras efterkommande. Allmänna söktermer MDX, kubbar, multidimensionella datakällor, OLAP, String-funktioner, MSAS. Tack för att du tillhandahåller Din feedback om artikelns effektivitet.

No comments:

Post a Comment