In PowerPivot: bestaan 2 feit blad - Factfree amp FactPaid. Hulle deel die DimDate blad dieselfde, vat met dateKey. Ek skep 'n Snijder met behulp van die kolom dateKey in blad DimDate. Skep 2 aparte kaarte (direk) vir elk van them. The kaarte lyk reg. Ek voeg beweeg avg op beide kaarte. Hulle is OK. die kwessie verskyn terwyl ek die gedeelde Snijder kies, factFree het rekord vir 2013432014, FactPaid net het 2014 As ek 2013 kies, die grafiek van FactPaid verdwyn. Sy word deur ontwerp. Ek verstaan nie - geen data nie. Maar toe ek 2014 kies, sowel kaarte opdaag. maar die bewegende gemiddelde lyn van FactPaid permanent weg. Gevolgtrekking: Lyk asof die gedeelde Snijder raak die swart gat van nader, die bewegende gemiddelde lyn sal genoodzaakt deur Excel verwyder. Maandag, 21 April, 2014 22:47 Antwoorde blyk dat hierdie kwessie is wat verband hou met Excel en nie spesifiek na Power Pivot Sodra jy 'n tydperk kies sonder enige waardes die trendlines ontslae verwyder, maar skakel terug na 'n tydperk met waardes nie hierdie trendlines voeg weer Gerhard Brueckl blog blog. gbrueckl. at werk www. pmOne voorgestel as antwoord deur Michael Amadi Moderator Woensdag, 23 April, 2014 07:56 Labeled as antwoord deur Elvis Lang Microsoft voorwaardelike personeel, Moderator Maandag 5 Mei, 2014 06:47 AM Dinsdag, 22 April, 2014 12:05 PMI het net oorkant die blog post deur Bill Anton waar hy bespreek verskeie benaderings tot bereken die mediaan van 'n gegewe stel in T-SQL, MDX en DAX. Op die ou end van sy pos wanneer dit kom by die DAX berekening, verwys hy verskeie plasing deur Marco. Alberto en Javier (post1. Post2) wat reeds daardie soort berekening te spreek in DAX. Maar hy beweer ook dat nie van die oplossings is elegant. Wel, genoeg rede vir my om dit te probeer op my eie en hier is wat ek het met. Dit is aan jou om te besluit of hierdie oplossing is meer elegant as die ander of nie In die algemeen, die gemiddelde berekening wissel altyd, afhangende van die aantal items en of hierdie getal ewe of onewe. Vir 'n selfs bevolking die mediaan is die gemiddeld van die waardes in die middel: die mediaan van 3. 5. 7. 9 is is (5 7) / 2 6 Want 'n vreemde bevolking, die mediaan is die waarde in die middel: die mediaan van 5 In beide gevalle is die waardes moet bestel word voor die berekening. Let daarop dat dit nie 'n verskil maak of die waardes gesorteer in stygende of dalende orde. In hierdie voorbeeld ons stel bevat 12 items (maande) so ons het om die 2 items in die middel van die bestel stel Desember en Februarie vind en bereken die gemiddelde. So, hoe kan ons hierdie probleem met behulp van DAX Die meeste van die poste wat ek hierbo genoem gebruik 'n soort van 'n kombinasie van posisie RANKX () en filtrering FILTER spreek (). Vir my benadering sal Ek geeneen van hierdie gebruik, maar gebruik TOPN plaas (ja, ek het regtig soos wat funksie as u waarskynlik weet as jy my blog vir 'n geruime tyd gevolg). In hierdie spesiale geval, kan TOPN () albei doen, posisie en filter vir ons. Maar in die eerste plek moet ons weet hoeveel items daar in ons stel: CntMonths: DISTINCTCOUNT (8216Date8217 Maand) Hierdie waarde sal daarna gebruik word in ons volgende berekeninge. Om die waarde (s) in die middel Ek gebruik TOPN (vind) twee keer, eers na die eerste helfte van die items (soortgelyk aan TopCount) en dan 'n tweede keer te kry om die laaste waardes wat ons nodig het vir ons mediaan berekening te kry (soortgelyk om BottomCount): As die mediaan berekening is anders vir ewe en onewe stelle, dit het ook in ons berekening in ag geneem word. Vir beide berekeninge MOD () - funksie word gebruik om beide gevalle onderskei: ItemsTopCount: AS (MOD (CntMonths, 2) 0, (CntMonths / 2) 1, (CntMonths 1) / 2) vir 'n gelyke getal items (bv 12 ) ons eenvoudig verdeel die telling van items deur 2 en voeg 1 wat ons gee 'n (2/12) 1 7 vir ons voorbeeld. Vir 'n onewe aantal items (bv 5) ons eerste voeg 1 tot ons Telling van items en dan deel deur 2 wat ons gee (5 1) / 2 3 ItemsBottomCount: AS (MOD (CntMonths, 2) 0, 2, 1) vir 'n gelyke getal items moet ons die laaste 2 waardes oorweeg terwyl ons vir 'n onewe aantal items moet net die laaste waarde oorweeg. Hierdie berekeninge word dan gebruik in ons mediaan berekening: Mediaan SA Maande: Bereken (SumSA, TOPN (ItemsBottomCount, TOPN (ItemsTopCount, WAARDES (8216Date8217 maand), SumSA), SumSA -1)) / ItemsBottomCount Soos DAX het geen ingeboude BOTTOMN () - funksie, moet ons die funksie TOPN () misbruik en vermeerder die orderby-waarde deur 1 tot die funksies BOTTOMN () te kry. Soos jy kan sien die meeste van die logika is reeds deur ons ItemsTopCount en ItemsBottomCount maatreëls hanteer en hierdie patroon kan baie maklik weer gebruik word. Natuurlik is al hierdie berekeninge kan ook gekombineer word en die gebruik van As () vermy kan word: Mediaan SA Maande v2: Bereken (SumSA, TOPN (2 8211 MOD (CntMonths, 2), TOPN ((CntMonths 1) / 2, WAARDES (8216Date8217 maand), SumSA), SumSA -1)) / (2 8211 MOD (CntMonths, 2)) Let wel: vir 'n nog bevolking (CntMonths 1) / 2 opbrengste X.5 wat outomaties afgerond wanneer dit gebruik word in 'n funksie wat 'n hele aantal verwag. In ons voorbeeld is dit wat gebeur: (12 1) / 2 6.5 GT 7 Dit is die finale uitslae: Ons kan ook AVERAGEX () gebruik om ons mediaan te bereken, maar ek dink dat dit 'n soort van oorhoofse om AVERAGEX (gebruik) net te verdeel deur 1 of 2, afhangende van die aantal items wat ons TOPN-funksies terugkeer: Mediaan SA Maande AvgX: AVERAGEX (TOPN (2-MOD (CntMonths, 2), TOPN ((CntMonths 1) / 2, WAARDES (8216Date8217 Maand ), SumSA), SumSA -1), SumSA) Soos jy kan sien daar is verskeie benaderings tot die mediaan, die up bereken vir jou wat op jy die meeste. Ek het nie een van hulle getoets in terme van prestasie oor groter stelle hierdie mag onderwerp word vir 'n opkomende post. Aflaai Final Model (Office 2013) Dit is besig om net vir tydsdimensie, het ek oplossing gemaak werk vir ander dimensies en riffen: kuns is om te gebruik Feit tafel ID, IFFACT en som (8216FFACTS82178217FFACTSIDFACT8217FFACTSMMEASURE) Mediaan van MMEASURE: BEREKEN (som (MMEASURE) TOPN (ItemsBottomCount TOPN (ItemsTopCount som (8216FFACTS82178217FFACTSIDFACT8217FFACTSMMEASURE) MMEASURE) MMEASURE 1)) / ItemsBottomCount En dit vermy duplikate van MMEASURE: Mediaan van Meet: BEREKEN (som (MMEASURE) TOPN (ItemsBottomCount TOPN (ItemsTopCount som (8216FFACTS82178217FFACTSIDFACT8221tmpMMEASURE8221SUM (8216FFACTSMMEASURE)) tmpMMEASURE) tmpMMEASURE Hi Kazo, dankie vir jou terugvoer oor hierdie is daar twee sake wat ek sien met jou oplossing: 1) die gebruik van die kolom van die feit-tabel gee verskillende resultate net aanneem jy die Mediaan bereken vir 'n gegewe jaar en huidige maand is Junie sodat jy sal net 6 maande in jou werklikheid-tafel terwyl jy 12 maande sal hê in jou rooster en natuurlik die berekening van die Mediaan meer as 6 maande opgawes baie verskillende resultate in vergelyking met 12 maande sou ek sê dit baie depens op die sake - vereiste, in die algemeen sowel berekeninge is geldig 2) doen die Mediaan op 'n kolom in jou werklikheid-tafel sou jy nodig het om hierdie kolom van die feit-tafel beweeg (bv , met die relevante ()) wat kan lei tot 'n oorhoofse in jou facttable en ek sou die som te vervang () deur 'n eenvoudige ADDCOLUMNS (): ADDCOLUMNS (waardes (8216FFactsIDFACT), 8220tmpMMEASURE8221, MMEASURE) ook jy hoef nie te som gebruik () weer as MMEASURES die som oor jou feit-tafel Hi Gerhard reeds bereken is ek 'n bietjie nuut DAX en ook 'n mediaan funksie nodig. Ek is nie seker dat die oplossings hier voorgestel kan uitwerk vir my. Kan ek 'n mediaan berekening vir 'n sel (tydens PivotTable blaai uit Excel) wat soortgelyk is aan 'n bedrag of avg funksie sal werk (nie afhanklik van 'n ander kolom maar net om die gefilterde kolomme op die sel uitgesluit leeg waardes). Dit is vir die berekening van mediane in verband bedrag veld, wat ook al seleksie van die gebruiker gemaak hulle wil die mediaan vir daardie keuse het. Die funksie moet leë / nietig 8216s en ook baie duplisering te hanteer in die bedrag (lyk soos TOPN funksie in die bande met dit bring, kan daar duisende duplisering in hoeveelheid veld vir verbande in die VSA ens) Dankie Hi Gökhan, die benadering ek hier beskryf word bereken dat die gemiddelde op grond van 'n gegewe kolom en die saamgevoeg bedrag van 'n mate as ek verstaan wat jy korrek jy hierdie berekening moet werk vir elke kolom wat jy kan trek in die Pivot-tafel sou slegs moontlik wees indien die berekening gedoen op die laagste graan / Grain van die feit-tafel is hierdie Dankie vir die oplossing van Mediaan wat jy nodig het. Is dit moontlik om finale mediaan vertoon in alle months8217 rye. dws Jan thru Desember vir al 12 rye 8211 Mediaan moet 564035 hierdie berekening sal die jaar-waarde vir al maande terug: Mediaan SA Jaar: Bereken (Mediaan SA Maande v2, AL (8216DateMonth), AL (8216DateMonth Naam)) werk dit vir jou dankie Gerhard vir vinnige antwoord. Dit werk wanneer daar geen duplikate. Maar my data het baie duplikate wat in aanmerking geneem moet word. Wat is jou bedoeling met duplikate dieselfde waarde vir twee of meer maande moet dit 'n verskil vir jou Mediaan berekening nie die kwessie I8217m het, is dat wanneer there8217s n das, dit som die totale van die bande as die mediaan waarde. Byvoorbeeld: 1, 1, 2, 2, 3, 3, sal die mediaan Miskien it8217s wees 4 in plaas van 2. omdat ek die waardes Datum met my hele tafel BEREKEN (SumSA, TOPN (ItemsBottomCount, TOPN (ItemsTopCount, WAARDES vervang ( DATA8217), SumSA), SumSA -1)) / ItemsBottomCount ja, sommige mense reeds probleme met dubbele waardes berig as jy 'Power BI jy dalk ook die moedertaal MEDIAAN funksie gebruik in plaas groete, - gerhard Ek het 'n uitdaging hoop ek kan kry 'n paar antwoorde. Ek het 'n tafel met 3 kolomme en 4 kolom moet 'n berekende kolom gebaseer op die data in 3 kolomme wees. SO Datum PO Arr (berekende veld) 123 2013/2/1 PO1 123 234 2013/4/1 PO1 123 345 2013/5/1 PO1 123 Arr Vir die sodat dieselfde PO het, sal Arr die vroegste datum van SO kan jy my asseblief help hoe om dit te doen deur gebruik te maak DAX. Jou hulp word greatlly waardeer. Ek sal hou keur hierdie webblad vir enige antwoorde. Nogmaals dankie Hi, dit moet werk BEREKEN (waardes (Table1SO), TOPN (1, FILTER (ALL (Tabel1), PO vroeër (PO)), Datum)) al is, ek dink daar moet ook 'n oplossing met behulp van FIRSTDATE wees (), maar Ek het nie tyd op die oomblik Gerhard, kan ek backtack om Gokhans e-pos 11 Augustus 2013 by 19:07 hy vra of hy 'n sel weergawe van mediaan kan hê, en jy gereageer slegs moontlik teen die laagste graan / Grain van die feit - table Miskien kon ek brei op wat 'n bietjie Ek het 'n feit-tabel (totaal denormalized) wat relatiewe sterkte van aandele op die NYSE het. Dit het velde vir sektor / industrie / ENKELE en relatiewe sterkte. In 'n baie eenvoudige spilpunt tafel sou ek 'n 3-vlak hiërargie vir ry, relatiewe sterkte van 'n waarde, en Gem rel str vir kolom hê. Op die graan vlak, 'n filmpjes avg rel str die oorspronklike rel str. Op die bedryf vlak, die avg rel str die gemiddeld van al rel str van die filmpjes in die bedryf. Op die sektor vlak, doen as vir die industrie, maar nou vir al die filmpjes van nywerhede in die sektor. Wat jy vir Mediaan. gebruik van TOPN tel maande, sal die volgende gee: 1. mediaan rel str oorspronklike rel str op die ENKELE graan vlak Ja 2. mediaan bedryf rel str. aan die bedryf vlak 1UP van graan vlak 3. mediaan sektor rel str. by die sektor vlak 2UP van graan vlak IFF die hiërargie funksie kan omvang uit te brei om te tel die bykomende filmpjes reken die bykomende maande. Dit is hoe Pivot tables kry die gemiddelde omvang Ek dink uit te brei. So ek dink ek vra of dit is uitvoerbaar Of is dit basies die rede mediaan is nie deel van basiese spilpunt tafel waardes opsies en nie as deel van DAX Hi Ron, die grootste probleem is dat DAX is nie baie het by doen verskillende berekeninge op verskillende kolomme of hantering hiërargieë. Gokhans versoek was om dit dinamies maak sodat dit werk vir alle kolomme wat nie regtig moontlik nie, tensy jy die berekening apart definieer vir elke kolom. In jou geval jy het net 3 kolomme wat ook in 'n hiërargie wat die benadering reeds beskryf deur maak is Alberto Ferrari haalbaar: www. sqlbi / artikels / slim-hiërargie-hantering-in-DAX / Check uit die RatioToParent berekening aan die einde van die post. Jy sal basies het om dieselfde te doen: 1) gebruik ISFILTERED () om vas te stel op watter vlak jy is tans 2) neem die berekening om waardes (DAX self is nie bewus van enige hierarchiesI is die skep van 'n paneelbord en wil die show 3 maande bewegende gemiddelde. Ek het 'n nuwe items wat elke maand bygevoeg en die gebruik van my huidige benadering, wanneer 'n nuwe item is bygevoeg, die waarde daarvan word gedeel deur 3, maar dit het net nie 'n telling vir 1 van die 3 maande in die reeks, sodat dit is misleidend. byvoorbeeld, indien die waarde van metrieke ABC is 1 Oktober 2014, en dit was in Oktober 2014 bygevoeg, dit het gewoond waardes in September 2014 en Augustus 2014 sodat sy 3 maande bewegende gemiddelde is, is 0,33 as die eindgebruiker kies Oktober 2014 as die anker maand. Ive hierdie benadering van PowerPivotpro gevolg. Hoe kry ek dit nie sluit die maande waar daar geen waardes Edited by jmc5319 Maandag, 2 Februarie, 2015 01:42 Maandag, 2 Februarie, 2015 01:42 antwoorde wat jy kan die quot3quot te vervang met 'n maat wat die aantal maande bereken op die huidige filter konteks so somthing soos: Voorgestelde as antwoord deur Ed prys - werknemer MSFT Microsoft, Eienaar Woensdag 4 Februarie, 2015 07:09 PM Labeled as antwoord deur Michael Amadi Moderator Woensdag, Februarie 11, 2015 15:20 Maandag, 2 Februarie, 2015 06:21 Ek sou so iets 3MAverage probeer: AverageX (FILTER (som (CALCULATETABLE (Datum DATESINPERIOD (DateDate MAX ( DateDate) -3MONTH)) DateMonth Naam) verkope ltgt 0) verkope) daar is baie van blog-pos wat jy via Google kan vind, jy eenvoudig moet hulle uit te brei en die filter () byvoeg - deel en / of die som () - gedeelte om gesamentlik deur maand eerste Gerhard Brueckl blog blog. gbrueckl. at werk www. pmOne voorgestel as antwoord deur Ed prys - werknemer MSFT Microsoft, Eienaar Woensdag 4 Februarie, 2015 19:09 Labeled as antwoord deur Michael Amadi Moderator Woensdag 11 Februarie 2015 15:20 Dinsdag 3 Februarie, 2015 08:52 Ek sou so iets 3MAverage probeer: AverageX (FILTER (som (CALCULATETABLE (Datum DATESINPERIOD (DateDate MAX (DateDate) -3MONTH)) DateMonth Naam) verkope ltgt 0) verkope) daar is baie van blog-pos wat jy via Google kan vind, jy eenvoudig moet hulle uit te brei en voeg die filter () - deel en / of die som () - deel te totaal per maand eerste Gerhard Brueckl blog blog. gbrueckl. at werk www. pmOne voorgestel as antwoord deur Ed prys - werknemer MSFT Microsoft, Eienaar Woensdag 4 Februarie, 2015 19:09 Labeled as antwoord deur Michael Amadi Moderator Woensdag, Februarie 11, 2015 15:20 Dinsdag 3 Februarie 2015 08:52 AMTrended bewegende gemiddeldes Ive altyd 'n ferm oortuigings is dat bewegende gemiddeldes waarskynlik 'n beter insig in tendense gee binne 'n besigheid as 'n eenvoudige tendens lyn verbonde aan 'n stel waardes soos maandelikse verkope (hoewel ek is geneig om te hersien hierdie twee waardes bymekaar). Die rede hiervoor is dat 'n tendens wat deur een of twee waardes wat nie verteenwoordigend van die onderliggende besigheid kan wees kan skeef soos spykers wat verband hou met seisoenaliteit of 'n spesifieke gebeurtenis. Wanneer BillD 'n navraag in verband met hierdie konsep in sy kommentaar op Wins amp Verlies uitgelig (Deel 2) Vergelyk en ontleed. Ek het gedink dit sou 'n goeie idee om ons PampL dataset buig tot 'n bewegende gemiddelde vermoë te verskaf. In hierdie post, sal ek verduidelik wat bewegende gemiddeldes is bedoel om te lewer en te verduidelik hoe om dit te bereken met behulp van die verkope elemente van die voorbeeld data wat in die Wins amp Verlies reeks van poste. Ek sal dan voeg die buigsaamheid vir gebruikers om die tyd dat die bewegende gemiddelde berekening in ag moet neem, die aantal tendens periodes vertoon moet word en die einddatum van die verslag te kies. Wat is 'n bewegende gemiddelde Die mees algemene bewegende gemiddelde maatstaf is oor die algemeen as 'n 12 maande bewegende gemiddelde verwys. In die geval van ons verkope data, vir enige gegewe tydperk, sal hierdie maatreël som die laaste 12 maande van verkope voorafgaande en met die maand ontleed en dan verdeel met 12 tot 'n gemiddelde verkope waarde vir daardie tydperk toon. In finansiële terme, die vergelyking is dus eenvoudig: 12 Maand bewegende gemiddelde bedrag van verkope vir afgelope 12 maande / 12 Dit alles lyk baie reguit vorentoe maar Theres baie van kompleksiteit wat betrokke is as ons wil hê dat die bewegende gemiddelde tydperk sit (verteenwoordig as 12 in die voorbeeld hierbo) in die hande van die gebruiker, gee hulle die krag om die aantal tendens periodes vertoon moet word en die maand wat die verslag moet vertoon te kies. Die Dataset die dataset wat met behulp van lyk iets soos hieronder. Let Im met behulp van PowerPivot V1. Ontwerp kyker is beskikbaar in V2 maar Ive hashed dit saam niks slim Youll kennisgewing wat FACTTran (ons dataset te ontleed) is gekoppel aan DIMHeading1, DIMHeading2 en DIMDataType sommige kategorisering ons dataset voorsien. Ive ook gekoppel aan datums is 'n opeenvolgende reeks van datums wat meer as dek die panne van ons datastel. Hierdie tabel dra 'n paar statiese bykomende inligting wat gebaseer is op die datum: Weereens, is nie heeltemal registreer op Robs pittige skaal Wees verseker dat jy sal kry 'n meer intense DAX oefensessie soos ons aangaan. Aangesien hierdie datum maatreëls Arent verwag dinamiese te wees, Ive gekodeerde hulle in die PowerPivot venster. Dit laat hulle bereken word op lêer verfris maar hulle sal nie nodig het om te herbereken vir elke Snijder operasie wat prestasie oorhoofse verwyder uit ons uiteindelike dinamiese maatstaf. Vir redes wat ek sal kom op om later, ek moet ook die maand einddatum op my feit tafel as ek nie gebruik maak van die Maand Einde datum op my Datums tafel in my maatreëls. Ek kan egter trek dieselfde waarde in my FACTTran tafel met behulp van die volgende mate: So wat is hierdie ontkoppel MA Tafels Die rede vir hierdie tabelle moet duidelik geword soos ons aangaan. In kort, hulle is van plan om gebruik te word as parameters of opskrifte op ons verslag. Die rede is dat hulle bestaan en dat hulle is nie gekoppel aan die res van ons data is bloot omdat ek nie wil hê hulle moet gefiltreer word deur ons maatreëls. In plaas daarvan, Ek wil hê hulle moet die filter ry. Aanvanklike PivotTable Setup Im gaan word vertoon 'n reeks van data georganiseer in maandelikse kolomme. Die gebruiker sal gegee sny om Maand Einde datum (die laaste tydperk te vertoon op die verslag), aantal periodes vir bewegende gemiddelde (dit sal uiteindelik deel van ons deler berekening) en aantal periodes vir Trend (dit sal wees stel die aantal maandelikse kolomme wat ons sal wys op ons tendens). Ons kan hierdie sny dadelik vas te stel en dit te koppel aan die spilpunt. Ek het natuurlik moet 'n maand einddatum as kolomopskrif maar watter een om 'n mate Ive op gegewe hierdie weg vroeër. In kort, ek moet my MADatesMonthEndDate veld gebruik. Die rede hiervoor is dat hierdie gebied isnt gekoppel aan ons dataset en dus gewoond geraak word deur enige ander filters. As ek 'n datum in die veld wat deel is van my dataset of 'n gedeelte van 'n gekoppelde tabel te gebruik, die beskikbare waardes kan deur die gebruikers keuse gefiltreer. Ek kan kry om dit met behulp van 'n ALL () uitdrukking vir my die korrekte waardes te gee, maar die probleem is dat die kolom is steeds gefiltreer en my resultate sal al vertoon in 'n kolom. Die moeilik om te verduidelik totdat jy sien dit so moet asseblief gaan voort en probeer sy waarde slaan die baksteenmuur om regtig te verstaan dit Berekening Som van verkope vir verlede X maande het die eerste deel van ons vergelyking is om die totale waarde bereken vir verkope oor alle tydperke binne 'n dinamiese tydperk gekies word deur die gebruiker. Hiervoor gebruik ek 'n Bereken funksie wat soos volg lyk: Im met behulp van 'n basis maatstaf genoem CascadeValueAll wat geskep is in Wins amp Verlies Die kuns van die Cascading Subtotaal. Im dan filter wat maatreël om my dataset beperk tot rekords wat verband hou met verkope en 'n data tipe Werklike (dws die uitskakeling van Begroting). Dit is eenvoudig filter van 'n BEREKEN funksie. Maar dit raak 'n bietjie meer lekker met die derde filter wat die datastel beperk tot 'n reeks van datums wat afhanklik is van die gebruikers keuse in sny en ons opskrif datum kolom is. Die DATESBETWEEN funksie het die sintaksis DATESBETWEEN (datums, Begindatum, Einddatum) en werk soos volg: Ek, die stuk grond wat filter vereis (DatesData) stel. Ive het bevind dat hierdie werk die beste as dit 'n gekoppelde tabel van opeenvolgende datums sonder enige onderbrekings. Indien u enige onderbrekings het, Theres 'n kans dat jy dalk nie 'n antwoord as die antwoord wat jy evalueer om moet beskikbaar in die tabel wees nie. My begin datum is 'n DATEADD funksie wat bereken dat die kolomopskrif datum minus die aantal maande wat die gebruiker gekies op die bewegende gemiddelde Aantal periodes Snijder. Ek gebruik die funksie LASTDATE (waardes (MADatesNextMonthStartDate)) om die NextMonthStartDate waarde van die MADates tafel wat betrekking het op die datum verteenwoordig op die kolomopskrif te haal. dan het ek rewind deur die aantal maande gekeur op Snijder met behulp van MAX (MAFunctionPeriodsMovingAverageNoPeriods) -1. Die -1 gebruik word om terug in die tyd gaan. Die rede waarom ek gebruik NextMonthStartDate en 'n veelvoud van 1 is meer duidelik in mengers vir die kies van Laaste X Periodes. My einddatum is eenvoudig die MonthEndDate soos aangedui op die kolomopskrif van die verslag. Dit word bereken deur gebruik te maak LASTDATE (waardes (MADatesMonthEndDate). Dis 'n groot, maar my maat isnt enige rekening van my Wys periode van ten seleksie en die tendens Aantal periodes wat Ive gekies. Daarom moet ons die maatstaf te beperk tot net uit te voer wanneer sekere parameters te hou as die waarheid op grond van hierdie keuses Ek wil net waardes te vertoon wanneer my kolom opskrif datum is:. Minder as of gelyk aan die geselekteerde Maand Einde datum op my Wys periode van ten Snijder en groter as of gelyk aan die geselekteerde Maand Einde .. datum minus die gekose aantal periodes op my Trend aantal periodes Snijder om dit te doen, ek gebruik 'n IF-stelling om te bepaal wanneer my BEREKEN funksie moet voer Kom ons noem hierdie maatreël SalesMovingAverageTotalValue die IF-stelling werk soos volg: Ek moet eers bepaal dat Im evaluering net waar ek een waarde vir MADateMonthEndDate. As ek dit nie doen nie, ek kry die ou gunsteling fout in my latere evaluering wat sê dat 'n tafel van verskeie waardes verskaf dan Ek evalueer om te bepaal of my kolom opskrif datum (waardes (MADatesMonthEndDate) is minder as of gelyk aan die geselekteerde op die Maand Einde periode Snijder (LASTDATE (datesDateMonthEnd) EN (ampamp) My kolom opskrif datum is groter as of gelyk aan 'n berekende datum wat X tydperke voor die gekose Wys periodes datum tot soos op die Snijmachines. Ek gebruik 'n DATEADD funksie vir hierdie soortgelyk aan dié wat in my BEREKEN funksie behalwe die datum deur die geselekteerde op die Trend Aantal periodes Snijder waarde is aanpassing. Met dit in plek is, ons het die totale verkope vir die geselekteerde periode wat verband hou met die gebruikers keuse. So my tafel is nou beperk tot die aantal tendens periodes gekies en verteenwoordig die maand einddatum gekies. So nou deel ons net deur die bewegende gemiddelde Aantal periodes Reg eh GEEN Weve bereken ons totale verkope vir die tydperk wat verband hou met die gebruikers keuse. Jy sal hom vergewe word vir wat daarop dui dat ons eenvoudig verdeel deur die aantal bewegende gemiddelde periodes gekies. Afhangende van jou data, kan jy dit doen, maar die probleem is dat die dataset die geselekteerde aantal periodes nie kan hou, veral as die gebruiker 'n maand einddatum wat terug gaan in tyd kan kies. As gevolg hiervan, het ons om uit te werk hoe Mei periodes teenwoordig in ons SalesMovingAverageTotalValue maatstaf is. Hierdie maatreël is in wese dieselfde as my SalesMovingAverageTotal meet. Die enigste werklike verskil is dat ons reken die afsonderlike datum waardes in ons dataset in teenstelling met die roeping van die CascadeValueAll meet. Ek vroeër gesê daar was 'n rede hoekom ek nodig het die maand einddatum op my FACTTran tafel gehou word genoem en dit is hoekom. As ek iemand anders tafel gebruik hou die maand einddatum, wat tafel isnt gaan is gefiltreer in die manier waarop die kern dataset is gefiltreer. As 'n voorbeeld, my Datums tafel het 'n reeks van datums wat my dataset tydraamwerk en meer strek. As gevolg hiervan, die evaluering teen hierdie tabel sal aflei dat die tafel doen in werklikheid datums wat my dataset voorafgaan en daar is dus geen evaluering om te bepaal of daar 'n transaksie wat in die datastel vir daardie datum. Soos jy kan sien, want my dataset strek vanaf 1 Julie 2009, ek het net 9 periodes van data te evalueer vir my 31/03/2010 kolom. As ek gedeel deur 12 (soos per my Moving Gemiddelde Aantal periodes Snijder seleksie), sou ek 'n baie verkeerde antwoord gekry het. Dit is duidelik dat hierdie is 'n bietjie slinks, maar sy waardig ag. En nou is die Eenvoudige Bit Ek kan verstaan dat die laaste twee mate paar boeiende geneem, veral uit te werk wanneer bepaalde datum velde moet gebruik word. Vir 'n bietjie lig verligting, die volgende mate gewoond regtig jy belas Dit is 'n eenvoudige verdeling met 'n bietjie fout nagaan om enige vuil koppie onder gehou vermy. Wanneer sy alles saam Aangesien al hierdie maatreël is draagbaar, kan ek 'n ander Pivot Table skep op dieselfde grondslag as die een hierbo (met SalesMovingAverageValue gegee 'n alias van bewegende gemiddelde), rond te beweeg 'n paar dinge, voeg 'n mate vir die werklike verkope waarde vir die maand (ek gewoond daarop ingaan nie nou nie, maar dit is 'n eenvoudige BEREKEN maat met 'n paar keer intelligensie) en ek weer instel dan lyk die volgende: Ek kan dan ry 'n eenvoudige lyn grafiek en toe te pas 'n tendens lyn op my Werklike maat met die term gerieflik wegkruip my data rooster wat dit dryf. Soos jy kan sien, 'n tendens op my werklike maatstaf toon 'n bestendige afname. My bewegende gemiddelde, toon egter 'n relatief stabiele, indien nie effens verbeter tendens. Seisoenaliteit van 'n ander spykers is natuurlik dus betrokke en die werklikheid is dat beide maatreëls waarskynlik kant te hersien mekaar. Vir dié van julle wat hierdie lees wat belangstel in die sien van die werkboek van hierdie voorbeeld is, Ill kyk na hierdie post in 'n toekomstige post wanneer ek hierdie analise neem 'n stap verder om die hele PampL dek. Jammer om jou te laat wag. Ek hoop dit help jou uit BillD een punt na Diegene arend oë DAX voor Let daar waarskynlik opgemerk dat my IF-funksies 'n berekening te evalueer wanneer die logiese toets 'n ware antwoord bereik bevat net. Die rede hiervoor is dat die funksie neem aan OOP () wanneer 'n valse evaluering toestand isnt voorsien. Ek havent uitgewerk indien enige prestasie impak met behulp van hierdie metode op groot datastelle Theres. Dit is aan jou wat jy gekies het om te doen en as iemand my kan oortuig waarom so OOP (kodering die Vals toestand) is die beste praktyke, sal ek vinnig my gewoontes te verander hierdie plasing is 6 Kommentaar Renato En net sê: Moving gemiddeldes, somme, ens die Blue Line glad Out Random Skommelinge, vertel 'n Minder oor-Reaktiewe Trend Ek het onlangs besef dat hierdie onderwerp nog nooit voorheen bedek, in sy mees eenvoudige vorm, op hierdie werf Eintlik was dit die onderwerp van 'n gas post deur die gesiene David Churchward. en ook deur die ewe-aangeskrewe Kasper de Jonge. maar nie een van dié poste voordeel getrek het uit die v2 funksies tot ons beskikking vandag). Om te illustreer wat ons kan doen met state-of-the-art Power Pivot formules, kan begin met hierdie eenvoudige model: En 'n eenvoudige spilpunt: Dit Eenhede Hierdie artikel word aangebied maatstaf is die kronkelende rooi lyn in die grafiek aan die bokant van die pos, en sy formule is baie eenvoudig: Eenhede verkoop som (SalesQtySold) En ons soek 'n weergawe eenhede verkoop wat glad oor 'n tydperk van 3 maande. Moving Sum Kom ons begin met 'n formule wat 'n som van die mees onlangse 3 maande (insluitend die huidige een): 3 Maand beweeg Sum Eenhede verkoopsyfers bereken (Eenhede Hierdie artikel word aangebied, DATESINPERIOD (CalendarDate, LASTDATE (CalendarDate), - 3, maand)) en kyk wat wat lyk soos: Moving 3-maand bedrag Besin die huidige maand en die vorige twee maande bewegende gemiddelde Eerste poging OK, maar dat die getal is groter as 'n enkele maand en nie die geval ooreenstem met die skaal van ons werklike besigheid, sodat ons wouldnt wil karteer dat ons wil hê dat die gemiddelde weergawe van daardie. Dit is 'n 3-maande bewegende som, so om die gemiddelde te kry, ons kon net verdeel 3: 3 Maand Gem Verdeel 3 3 Maand Moving Sum Eenhede verkoop / 3 wat lyk soos: 3 Maand Moving Gem Via Deel deur 3 het 'n Nadeel Diegene eerste twee maande, sedert hulle die eerste twee maande in ons kalender, is 'n opsomming van minder as 3 maande ter waarde van verkope, maar nog steeds deel deur 3. dit dryf onregverdig af hul gemiddelde. Moving gemiddelde gekorrigeerde Ons kan rekening vir hierdie deur die verandering van ons deler 'n soortgelyke logika te gebruik om die teller: 3 Maand beweeg Gem Reggemaak 3 Maand beweeg Sum Eenhede verkoop / bereken (DISTINCTCOUNT (CalendarYear maand), DATESINPERIOD (CalendarDate, LASTDATE (CalendarDate), -3, maand)) In Engels: neem die 3 maand som mate ons reeds het en deel dit deur die aantal afsonderlike (unieke) maande ons het meer as dieselfde tydperk 3 maande. Dit Calc is Meer Fair vir die maande wat aan die begin Variasies Daar is 'n aantal variasies op hierdie benadering daaglikse / weeklikse / kwartaallikse weergawes, regstelling vir agenda's wat langer as die omvang van die datums waar jy verkope, pas aan persoonlike agenda via die grootste Formule in die wêreld. ens, maar ek sal wag en sien wat mense vra oor in die kommentaar voor te grawe in enige van daardie. Een van die stigterslede ingenieurs agter Power Pivot tydens sy 14-jaar loopbaan by Microsoft, en skepper van die wêreld se eerste wolk Power Pivot diens, Rob is een van die voorste owerhede op self-service sake-intelligensie en die volgende generasie sigblad tegnologie. Hierdie plasing 27 kommentaar is dit ingewikkeld om 8220X Maande beheer moving8221 van Excel Het jy 'n sel in Excel waar ons kan sit 3, 6, 12 of selfs 1. Dit werk But8230..I is besig met dae 8211 spesifiek, ek moet kry 'n rollende 28 dae gemiddeld van een van my maatreëls. Dit werk goed as ek die resultaat met my datum kenmerk besigtig. Maar my Kalender dimensie het ook 'n strategies, nie-deurlopende kenmerk genaamd DateMonth (wat lyk soos 1-Jan, 2-Jan ens) Ek het gehoop dit sou laat my dan na my jaar kenmerk neem en te vergelyk die 28 Dag Gemiddeld vir die 1 Januarie oor verskeie jare. So kan jy 'n lyn grafiek het waar die as is 1-Jan tot 31-Desember (met geen verwysing na die jaar) en die kategorie reeks is deur die jaar, so 'n lyn vir elke jaar. Hoop iemand kan help om die laaste vergelyking met dien verstande 8211 Moving gemiddelde gekorrigeerde 8211 lewer 'n deler met 'n waarde van 12 (dws dit is afhanklik van wanneer my Calendaryear maande begin. So 'n korrekte 12 maande bewegende gemiddelde het, my data en kalender moet begin op dieselfde tyd). Enige voorstelle Ek het gedink dit uit: Wat ek gedoen het was begin tel my maande vanaf die eerste dag van my verkope (dit wil sê 40.663 is die laaste dag voor ek wou begin tel die maande waar my verkope was). Hoop dit kan iemand soek hierdie blog post William help, is jy 'n lewe redder. Ek het probeer om uit te vind hoekom my deler gehou 3 vir die oudste maand van data wat ek besig was met. Ek waardeer jou voorbeeld en verduideliking wat presies toegepas op my situasie. John Pullin sê: Ek het 'n beter oplossing vir die finale kommentaar hier 8211 een wat die aantal maande bereken om deur te verdeel, of jou data en kalender begin nie op dieselfde tyd. Dit was die oorspronklike calc: 3 Maand Moving Gem Reggemaak 3 Maand Moving Sum Eenhede verkoop / bereken (DISTINCTCOUNT (CalendarYear maand), DATESINPERIOD (CalendarDate, LASTDATE (CalendarDate), - 3, maand)) en sy binne die deler dat die wysig is nodig 8211 om korrek te werk waar om te verdeel deur 2 en dan 1 (vir die eerste 3 maande in jou data). Die onderstaande werke 'n verrassing: 3 Maand bewegende gemiddelde 8211 Working 3 Maand Moving Sum / bereken (BEREKEN (COUNTROWS (waardes (DimDateCalendarMonth)), FactSales), DATESINPERIOD (DimDateDatekey, LASTDATE (DimDateDatekey), - 3, maand)) Waar FactSales is jou feit tafel obvs. hoop dit help iemand anders uit 8211 as dit gery my gekke Vikas Gautam sê: Ek het 'n vraag. Wat gebeur as ons die gemiddelde van die vorige 30 Trading dae of werksdae nodig. Natuurlik sou ons 'n kolom Datum verteenwoordig handel days. and ooreenstemmende verkope bedrag het. 1 Maand gemiddelde met jou formule won8217t dieselfde ding wees. Soos Presiese 30 days8217s gemiddelde hier nodig. Kan jy raai 'n formule. Die moeilikste ding is die berekening is gebaseer op die finansiële datum anders as die kalender datum, soos byna al die bestaande tyd intelligente datum funksies kan nie gebruik word nie. 'N Monster berekening formule gebaseer op die finansiële datum het ek 'n baie van die inligting oor die berekeninge gebaseer op die kliënt dateer uit die skakel hierbo 8220Greatest Formule in die world8221. It8217s baie helpful8230 .. Dit is 'n groot plaas deur almal. Ek wil weet wat as die verkope in een van die afgelope drie maande is nul of geen verkope glad nie, dan hoe sal die formules voorgestel werk. Ek wil om uit te vind die aantal maande van die huidige maand tot die laaste drie maande met verkope. Sê ek Mei 2014 die laaste drie maande sal insluitend Mei 2014 Maart 2014, April 2014 en Mei 2014. Maar April 2014 nie verkope nie. So moet dit som van Maart en Mei 2014 verkope gedeel deur 2 wees en nie 3. Aanvaar ons het verkope vir Junie 2014 en Julie 2014. Vir Junie 2014 die gemiddelde laaste 3 maande moet wees (My 2014 Junie 2014) / 2. Vir Julie 2014 die gemiddelde laaste 3 maande moet wees (Mei 2014 Junie 2014 Julie 2014) / 3. Enige hulp om dit te bereik sal waardeer word. Haai daar, briljante oplossing. Maar nou I8217m op soek na dieselfde Daarbenewens as CheenuSing genoem. Sommige reeks in my data don8217t het verkope in die laaste tydperk, maar ander doen. CheenuSing, het jy gevind dat die oplossing vir die I8217d baie dankbaar wees, dankie. Im nuwe met al DAX funksies en baie sukkel met my bewegende gemiddelde berekening. Ek hoef net die bewegende gemiddelde van 3 maande terug wat nie die huidige maand. Ek het probeer om met behulp van 8220IF8221 maar nooit uitgewerk. Kan iemand my help met dit
No comments:
Post a Comment