Sunday, October 16, 2016

12 Maande Bewegende Gemiddelde Seisoenaliteit

Wanneer die berekening van 'n lopende bewegende gemiddelde, die plasing van die gemiddelde in die middel tydperk sinvol In die vorige voorbeeld het ons bereken die gemiddeld van die eerste 3 tydperke en sit dit langs tydperk 3. Ons kan die gemiddelde geplaas in die middel van die tyd interval van drie tydperke, dit is, langs tydperk 2. dit werk goed met vreemde tydperke, maar nie so goed vir selfs tydperke. So waar sou ons plaas die eerste bewegende gemiddelde wanneer M 4 Tegnies, sou die bewegende gemiddelde op t 2.5, 3.5 val. Om hierdie probleem wat ons glad Mas using 2. So glad ons die stryk waardes As ons gemiddeld 'n gelyke getal terme te vermy, moet ons die stryk waardes glad Die volgende tabel toon die resultate met behulp van M 4.Calculating n seisoensindeks Dit opdragstuk is om gebruik te word saam met die MS Excel-lêer seasonalindex. xls geleë op die klas tuisblad Econ437. 1. Lys die maandelikse pryse in chronologiese volgorde in Kolom D van jou spreadsheet. Voorbeeld. Die dataset voorsien is vir Januarie 1975 tot Desember 1996 264 Waarnemings totaal. 2. Bereken 'n gesentreerde 12 maande bewegende totaal deur die toevoeging van die pryse vir Jan tot Desember. Jy moet begin met die 6de waarneming. Voorbeeld. vir Junie 1975 (waarneming 6) 3.012.822.632.652.672.652.702.942.762.542.302.30 31,97 3. Herhaal stap 2 vir die res van die datastel. Let. Daar sal 5 leeg selle aan die begin van die datastel in Kolom E en 6 leeg selle aan die einde van Kolom E. 4. Bereken die 2 maande bewegende totaal van kolom E en skryf dit in kolom F begin met die 7 waarneming. Daar sal 6 leeg selle aan die begin en einde van Kolom F. Voorbeeld. Vir waarneming 7, 31.9731.3363.30. 5. Verdeel kolom F deur 24 en gee dit in Kolom G begin met waarneming 7. Dit is die middelpunt van 12 maande dubbel bewegende gemiddelde (MA). 6. Verdeel die oorspronklike pryse in kolom D deur die middelpunt van 12 maande bewegende gemiddelde in Kolom G, en betree die individu maandelikse waardes in kolom H begin met Julie 1975, waarneming 7. Daar sal geen waardes vir die eerste 6 maande van 1975 en die laaste 6 maande van 1996. 7. Tel al die maandelikse indekse vir elke maand en gemiddeld hulle die rou indeks waarde verkry. Sien tabel hieronder. Vind die gemiddeld van die rou indekse. Verdeel elke maande Rou indeks deur die gemiddeld van die rou indekse om die aangepaste Index. Spreadsheet implementering van seisoenale aanpassing en eksponensiële gladstryking Dit is maklik om seisoenale aanpassing voer en pas eksponensiële gladstryking modelle met behulp van Excel te verkry. Die skerm beelde en kaarte hieronder is geneem uit 'n sigblad wat is opgestel om multiplikatiewe seisoenale aanpassing en lineêre eksponensiële gladstryking op die volgende kwartaallikse verkope data van Buitenboord Marine illustreer: Om 'n afskrif van die sigbladlêer self te bekom, kliek hier. Die weergawe van lineêre eksponensiële gladstryking wat hier gebruik sal word vir doeleindes van demonstrasie is Brown8217s weergawe, bloot omdat dit geïmplementeer kan word met 'n enkele kolom van formules en daar is net een glad konstante te optimaliseer. Gewoonlik is dit beter om Holt8217s weergawe dat afsonderlike glad konstantes vir vlak en tendens het gebruik. Die vooruitskatting proses verloop soos volg: (i) die eerste keer die data is seisoenaal-aangepaste (ii) dan voorspellings gegenereer vir die seisoenaal-aangepaste data via lineêre eksponensiële gladstryking en (iii) Ten slotte het die seisoensaangesuiwerde voorspellings is quotreseasonalizedquot om voorspellings vir die oorspronklike reeks te verkry . Die aanpassingsproses seisoenale word in kolomme gedoen D deur G. Die eerste stap in seisoenale aanpassing is om te bereken 'n gesentreerde bewegende gemiddelde (hier opgevoer in kolom D). Dit kan gedoen word deur die gemiddelde van twee een-jaar-wye gemiddeldes wat geneutraliseer deur 'n tydperk relatief tot mekaar. ( 'N kombinasie van twee geneutraliseer gemiddeldes eerder as 'n enkele gemiddelde nodig vir sentrering doeleindes wanneer die aantal seisoene is selfs.) Die volgende stap is om die verhouding te bereken om bewegende gemiddelde --i. e. die oorspronklike data gedeel deur die bewegende gemiddelde in elke tydperk - wat hier uitgevoer word in kolom E. (Dit is ook die quottrend-cyclequot komponent van die patroon genoem, sover tendens en besigheid-siklus effekte kan oorweeg word om almal wat bly nadat gemiddeld meer as 'n geheel jaar se data. natuurlik, maand-tot-maand veranderinge wat nie as gevolg van seisoenale kan bepaal word deur baie ander faktore, maar die 12-maande-gemiddelde glad oor hulle 'n groot mate.) die na raming seisoenale indeks vir elke seisoen word bereken deur die eerste gemiddeld al die verhoudings vir daardie spesifieke seisoen, wat gedoen word in selle G3-G6 behulp van 'n AVERAGEIF formule. Die gemiddelde verhoudings word dan verklein sodat hulle som presies 100 keer die aantal periodes in 'n seisoen, of 400 in hierdie geval, wat gedoen word in selle H3-H6. Onder in kolom F, word VLOOKUP formules wat gebruik word om die toepaslike seisoenale indeks waarde in elke ry van die datatabel voeg, volgens die kwartaal van die jaar wat dit verteenwoordig. Die gesentreerde bewegende gemiddelde en die seisoensaangepaste data beland lyk soos hierdie: Let daarop dat die bewegende gemiddelde lyk tipies soos 'n gladder weergawe van die seisoensaangepaste reeks, en dit is korter aan beide kante. Nog 'n werkblad in dieselfde Excel lêer toon die toepassing van die lineêre eksponensiële gladstryking model om die seisoensaangepaste data, begin in kolom G. 'n Waarde vir die glad konstante (alfa) bo die voorspelling kolom ingeskryf (hier, in sel H9) en vir gerief dit die omvang naam quotAlpha. quot (die naam is opgedra deur die opdrag quotInsert / naam / Createquot.) die LES model is geïnisialiseer deur die oprigting van die eerste twee voorspellings gelyk aan die eerste werklike waarde van die seisoensaangepaste reeks toegeken. Die formule wat hier gebruik word vir die LES voorspelling is die enkel-vergelyking rekursiewe vorm van Brown8217s model: Hierdie formule is in die sel wat ooreenstem met die derde tydperk (hier, sel H15) aangegaan en kopieer af van daar af. Let daarop dat die LES voorspelling vir die huidige tydperk verwys na die twee voorafgaande waarnemings en die twee voorafgaande voorspelling foute, sowel as om die waarde van alfa. So, die voorspelling formule in ry 15 slegs verwys na data wat beskikbaar is in ry 14 en vroeër was. (Natuurlik, as ons wou eenvoudig in plaas van lineêre eksponensiële gladstryking te gebruik, kan ons die SES formule hier vervang in plaas. Ons kan ook gebruik Holt8217s eerder as Brown8217s LES model, wat nog twee kolomme van formules sou vereis dat die vlak en tendens bereken wat gebruik word in die vooruitsig.) die foute word bereken in die volgende kolom (hier, kolom J) deur die aftrekking van die voorspellings van die werklike waardes. Die wortel beteken kwadraat fout is bereken as die vierkantswortel van die variansie van die foute plus die vierkant van die gemiddelde. (Dit volg uit die wiskundige identiteit. MSE afwyking (foute) (gemiddeld (foute)) 2) By die berekening van die gemiddelde en variansie van die foute in hierdie formule, is die eerste twee periodes uitgesluit omdat die model vooruitskatting nie eintlik nie begin totdat die derde tydperk (ry 15 op die sigblad). Die optimale waarde van alfa kan óf gevind word deur die hand verander alfa tot die minimum RMSE is gevind, of anders kan jy die quotSolverquot gebruik om 'n presiese minimering. Die waarde van alfa dat die Solver gevind word hier (alpha0.471) getoon. Dit is gewoonlik 'n goeie idee om die foute van die model (in omskep eenhede) te plot en ook om te bereken en stip hul outokorrelasies by lags van tot een seisoen. Hier is 'n tydreeks plot van die (seisoenaangepaste) foute: Die fout outokorrelasies word bereken deur gebruik te maak van die funksie CORREL () om die korrelasies van die foute te bereken met hulself uitgestel word deur een of meer periodes - besonderhede word in die sigblad model . Hier is 'n plot van die outokorrelasies van die foute by die eerste vyf lags: Die outokorrelasies by lags 1 tot 3 is baie naby aan nul, maar die pen op lag 4 (wie se waarde is 0.35) is 'n bietjie lastig - dit dui daarop dat die seisoenale aanpassing proses het nie heeltemal suksesvol. Maar dit is eintlik net effens betekenisvol. 95 betekenis bands om te toets of outokorrelasies is aansienlik verskil van nul is min of meer plus-of-minus 2 / SQRT (N-k), waar n die steekproefgrootte en k is die lag. Hier N 38 en k wissel van 1 tot 5, so die vierkant-wortel-van-n-minus-k is ongeveer 6 vir almal, en vandaar die perke vir die toets van die statistiese betekenisvolheid van afwykings van nul is min of meer plus - of-minus 2/6, of 0.33. As jy die waarde van alfa wissel met die hand in hierdie Excel model, kan jy die effek op die tydreeks en outokorrelasie erwe van die foute in ag te neem, sowel as op die wortel-gemiddelde-kwadraat fout, wat onder sal wees geïllustreer. Aan die onderkant van die sigblad, is die voorspelling formule quotbootstrappedquot in die toekoms deur bloot vervang voorspellings vir werklike waardes by die punt waar die werklike data loop uit - d. w.z. waar quotthe futurequot begin. (Met ander woorde, in elke sel waar 'n toekomstige datawaarde sou plaasvind, 'n selverwysing is ingevoeg wat daarop dui dat die voorspelling gemaak vir daardie tydperk.) Al die ander formules is eenvoudig van bo af gekopieer: Let daarop dat die foute vir voorspellings van die toekoms is al bereken as nul. Dit beteken nie dat die werklike foute sal nul wees nie, maar eerder dit weerspieël bloot die feit dat vir doeleindes van voorspelling is ons veronderstelling dat die toekoms data die voorspellings sal gelyk gemiddeld. Die gevolglike LES voorspellings vir die seisoenaal-aangepaste data soos volg lyk: Met hierdie besondere waarde van Alpha, wat is optimaal vir een-periode-vooruit voorspellings, die geprojekteerde tendens is effens opwaarts, wat die plaaslike tendens wat oor die afgelope 2 jaar is waargeneem of so. Vir ander waardes van Alpha dalk 'n heel ander tendens projeksie verkry. Dit is gewoonlik 'n goeie idee om te sien wat gebeur met die langtermyn-tendens projeksie wanneer Alpha is uiteenlopend, omdat die waarde wat die beste vir 'n kort termyn vooruitskatting sal nie noodwendig die beste waarde vir die voorspelling van die meer verre toekoms wees. Byvoorbeeld, hier is die resultaat wat verkry word indien die waarde van alfa hand is ingestel op 0,25: Die geprojekteerde langtermyn-tendens is nou negatiewe eerder as positiewe Met 'n kleiner waarde van Alpha model plaas meer gewig op ouer data in sy skatting van die huidige vlak en tendens, en sy voorspellings langtermyn weerspieël die afwaartse neiging waargeneem oor die afgelope 5 jaar, eerder as die meer onlangse opwaartse neiging. Hierdie grafiek ook duidelik illustreer hoe die model met 'n kleiner waarde van Alpha is stadiger te reageer op quotturning pointsquot in die data en dus geneig is om 'n fout van die dieselfde teken maak vir baie tye in 'n ry. Die 1-stap-ahead voorspelling foute is groter gemiddeld as dié verkry voordat (RMSE van 34,4 eerder as 27.4) en sterk positief autocorrelated. Die lag-1 outokorrelasie van 0,56 oorskry grootliks die waarde van 0.33 hierbo bereken vir 'n statisties beduidende afwyking van nul. As 'n alternatief vir slingerspoed die waarde van alfa ten einde meer konserwatisme te voer in 'n lang termyn voorspellings, is 'n quottrend dampeningquot faktor soms by die model ten einde te maak die geprojekteerde tendens plat uit na 'n paar periodes. Die finale stap in die bou van die voorspelling model is om die LES voorspellings quotreasonalizequot deur hulle deur die toepaslike seisoenale indekse te vermenigvuldig. So, die reseasonalized voorspellings in kolom Ek is net die produk van die seisoenale indekse in kolom F en die seisoensaangepaste LES voorspellings in kolom H. Dit is relatief maklik om vertrouensintervalle bereken vir een-stap-ahead voorspellings gemaak deur hierdie model: eerste bereken die RMSE (wortel-gemiddelde-kwadraat fout, wat net die vierkantswortel van die MSE) en dan bereken 'n vertrouensinterval vir die seisoensaangepaste voorspel deur optelling en aftrekking twee keer die RMSE. (Oor die algemeen 'n 95 vertrouensinterval vir 'n een-tydperk lig voorspelling is min of meer gelyk aan die punt voorspelling plus-of-minus twee keer die geskatte standaardafwyking van die voorspelling foute, die aanvaarding van die fout verspreiding is ongeveer normale en die steekproefgrootte groot genoeg is, sê, 20 of meer. Hier is die RMSE eerder as die monster standaardafwyking van die foute is die beste raming van die standaard afwyking van toekomstige vooruitsig foute, want dit neem vooroordeel sowel toevallige variasies in ag.) die vertroue perke vir die seisoensaangepaste voorspelling is dan reseasonalized. saam met die voorspelling, deur hulle met die toepaslike seisoenale indekse te vermenigvuldig. In hierdie geval is die RMSE is gelyk aan 27.4 en die seisoensaangepaste voorspelling vir die eerste toekoms tydperk (Desember-93) is 273,2. sodat die seisoensaangepaste 95 vertrouensinterval is 273,2-227,4 218,4 te 273.2227.4 328,0. Vermenigvuldig hierdie perke deur Decembers seisoenale indeks van 68,61. Ons kry onderste en boonste vertroue grense van 149,8 en 225,0 rondom die Desember-93 punt voorspelling van 187,4. Vertroue perke vir voorspellings meer as een tydperk wat voorlê, sal oor die algemeen uit te brei as die voorspelling horison toeneem, as gevolg van onsekerheid oor die vlak en tendens asook die seisoenale faktore, maar dit is moeilik om hulle te bereken in die algemeen deur analitiese metodes. (Die geskikte manier om vertroue perke vir die LES voorspelling bereken is deur die gebruik van ARIMA teorie, maar die onsekerheid in die seisoenale indekse is 'n ander saak.) As jy 'n realistiese vertroue interval vir 'n voorspelling wil meer as een tydperk wat voorlê, met al die bronne van fout in ag, jou beste bet is om empiriese metodes gebruik: byvoorbeeld, 'n vertrouensinterval vir 'n 2-stap vorentoe voorspel verkry, jy kan 'n ander kolom skep op die sigblad om 'n 2-stap-ahead voorspelling bereken vir elke tydperk ( deur Opstarten die een-stap-ahead voorspelling). bereken dan die van die 2 RMSE stap lig voorspelling foute, en gebruik dit as die basis vir 'n 2-stap lig vertroue interval. Time Series Vooruitskatting Simple Moving Gemiddeld Simple bewegendegemiddelde kan bereken behulp MA () vanaf vooruitskatting sm LT MA (TS, order12) 12 maande bewegende gemiddelde lyne (SM, colred) plot eksponensiële smoothing Eenvoudige, dubbel en trippel eksponensiële gladstryking uitgevoer kan word met behulp van die HoltWinters () funksie. Daar is verskeie implementering van die Holt Winters metode HW () en Ets (). biblioteek (voorspelling) Eenvoudige eksponensiële gladstryking: Vlak Slegs model LT HW (trainingData, aanvanklike optimale, h (forecastPeriodLen), betaNULL, gammaNULL) h is die no. tydperke te Double Eksponensiële glad voorspel: Vlak en Trend komponente model LT HW (trainingData, aanvanklike optimale, h (forecastPeriodLen), gammaNULL) Holt Winters: Vlak, Trend en Seisoenaliteit model LT HW (trainingData, aanvanklike optimale, h (forecastPeriodLen) ) plot (model) akkuraatheid (model) te bereken akkuraatheid meet ARIMA Die voorspelling pakket bied funksie auto. arima () om ARIMA modelle inpas. Dit kan ook wees met die hand te pas met behulp van Arimathéa (). 'N Caveat met ARIMA modelle in R is dat dit nie die funksie om 'n lang seisoen van meer as 350 periodes bv pas het nie: 365 dae vir daaglikse data of 24 uur vir 15 sekondes data. Fiks en vooruitskatting met auto. arima () autoArimaFit LT auto. arima (tsData) plot (voorspelling (autoArimaFit, H20)) fiks en vooruitskatting met Arimathéa () arimaFit LT Arimathéa (tsData, orderc (3,1,0)) plot (voorspelling (arimafit, H20)) Hoe Om ARIMA Models met 'n lang seisoenaliteit (meer as 350 periodes) voorspelling By plot jou Arimathéa () voorspelling, 'n min of meer plat voorspelling vind jy, kan dit wees as gevolg van 'n lang seisoen. In so 'n geval, kan jy voer in die seisoen as 'n eksterne regressor deur die xregargument. Pas LT Arimathéa (tsData, orderc (3,1,0)) fiks Arimathéa model inpas LT auto. arima (tsData, seasonalFALSE, xregfourier (tsData, 4)) fiks auto. arima model plot (voorspelling (Fit, H20) ) pred LT voorspel (Fit, newxregnewXregVar) alternatiewe manier om plot (voorspelling (fiks, HH, xregfourierf (tsData, 4, h) voorspel)) h aantal voorspellings as jy 'n numeriese vektor as 'n eksterne regressor (xreg ), maak seker dat jy dit verander na 'n data. frame () voor te voed dit as 'n xreg parameter om auto. arima (). Jy kan ook verskeie eksterne voorspellers gebruik deur saam bind dit as 'n data. frame (). 'N paar nuttige eksterne voorspellers Vir Arimathéa () en auto. arima () Enige dataframe met soveel rye soos lengte van ts data kan gebruik word as xreg argument. 'N Paar algemene xregs wat gebruik word om seisoenale effekte model hieronder. Xreg1 LT seasonaldummy (tsData) skep dummy binêre veranderlike vir elke tydperk in 'n seisoen. Xreg2 LT model. matrix (as. factor (weekdag) 0)) weekdag kan 'n monthday, uur van die dag, vakansie aanwyser ens Hoe om 'n model tydreekse met Kompleks Seisoenaliteit Patroon Gebruik die tbats () in vooruitsig pakket. Tydreekse met meervoudige seisoenaliteit gemodelleer kan word met hierdie metode. Aangesien dit 'n bestryk intensiewe proses, kan die ingeboude parallelle verwerking fasiliteit aged. tbatsFit LT tbats (tsData, use. parallelTRUE, num. cores 2) fiks tbats model plot (voorspelling (pas)) plot komponente LT tbatsponents (tbatsFit) plot (komponente) Hoe kry jy vertrouensintervalle vir My voorspelling dat die voorspel () funksie het die fasiliteit. Deur middel van die argument prediction. intervalTRUE en vlak N, is die voorspelling intervalle vir 'n gegewe vertroue bereken. Hier is 'n algemene formaat van die kode. model LT HoltWinters (TS) voorspel (model, 50, prediction. interval WAAR, vlak 0.99) prediction. interval WAAR meer nuttig take betreffende Tyd SeriesRolling 12 months Gemiddelde in DAX Die berekening van die rollende 12-maande-gemiddelde in DAX lyk soos 'n eenvoudige taak, maar dit verberg 'n paar kompleksiteit. Hierdie artikel verduidelik hoe om die beste formule vermy algemene slaggate met behulp van tyd intelligensie funksies te skryf. Ons begin met die gewone AdventureWorks data model, met produkte, verkope en Kalender tafel. Die kalender is gemerk as 'n kalender tafel (dit is nodig om te werk met enige tyd intelligensie funksie) en ons het 'n eenvoudige hiërargie jaar-maand-date. Met die opstel van, is dit baie maklik om 'n eerste PivotTable toon verkope met verloop van tyd te skep: Wanneer doen tendens analise, indien verkope is onderhewig aan seisoenaliteit of, meer algemeen, as jy wil die effek van pieke te verwyder en laat val in verkope, 'n algemene tegniek is dat van die berekening van die waarde oor 'n gegewe tydperk, gewoonlik 12 maande, en gemiddeld nie. Die rol gemiddelde oor 12 maande bied 'n gladde aanwyser van die tendens en dit is baie nuttig in kaarte. Gegewe 'n datum, kan ons bereken die 12-maande rollende gemiddelde met hierdie formule, wat nog 'n paar probleme wat ons later sal oplos: Die gedrag van die formule is eenvoudig: dit die waarde van verkope bere na die skep van 'n filter op die kalender wat toon presies een volle jaar data. Die kern van die formule is die DATESBETWEEN, wat 'n inklusiewe stel datums tussen die twee grense terug. Die onderste een is: Lees dit uit die diepste As ons wys data vir 'n maand, sê Julie 2007 neem ons die laaste sigbare datum met behulp LASTDATE, wat die laaste dag terug in Julie 2007. Dan gebruik ons ​​Nextday die 1ste neem Augustus 2007 het ons uiteindelik gebruik SAMEPERIODLASTYEAR om dit terug te skuif een jaar, opbrengs 1 Augustus 2006. die boonste grens is eenvoudig LASTDATE, dws einde van Julie 2007. Indien ons hierdie formule gebruik in 'n PivotTable, die resultaat lyk goed, maar ons het 'n probleem vir die laaste datum: Trouens, soos jy kan sien in die figuur, die waarde is korrek bereken tot 2008 Dan is daar geen waarde in 2009 (wat korrek is, ons hoef nie verkope in 2009), maar daar is 'n verrassende waarde op Desember 2010 waar ons formule toon die groottotaal in plaas van 'n leë waarde, soos ons sou verwag. Trouens, op Desember LASTDATE gee die laaste dag van die jaar en Nextday moet die 1ste keer van Januarie 2011. Maar Nextday is 'n tyd intelligensie funksie en dit sal na verwagting stelle bestaande datums terugkeer. Hierdie feit is nie baie duidelik en dit is 'n paar woorde meer werd. Tyd intelligensie funksies nie wiskunde presteer op datums. As jy wil hê dat die dag ná 'n gegewe datum, kan jy eenvoudig voeg 1 na enige datum kolom, en die resultaat sal die volgende dag wees. In plaas daarvan, tyd intelligensie funksies skuif stelle datum heen en weer oor 'n tydperk. So, Nextday neem sy insette (in ons geval 'n enkel-ry tafel met die 31 Desember 2010) en verskuif dit 'n dag later. Die probleem is dat die resultaat 1 Januarie 2011 moet wees, maar as gevolg van die kalender tafel daardie datum bevat nie, is die resultaat is leeg. So, ons uitdrukking bere Verkope met 'n leë onderste grens, wat die begin van tyd beteken, opbrengs as gevolg van die groottotaal van verkope. Om die formule is dit genoeg om die evaluering einde van die onderste grens verander regstel: Soos jy kan sien, nou Nextday genoem na die verskuiwing van een jaar terug. Op hierdie manier, neem ons 31 Desember 2010 verhuis hy tot 31 Desember 2009 en neem die volgende dag, wat is 1 Januarie 2010: 'n bestaande datum op die kalender tafel. Die gevolg is nou die verwagte een: Op hierdie punt moet ons net dat die getal verdeel deur 12 tot die rollende gemiddelde behaal. Maar, as jy maklik kan dink, kan ons nie altyd deel dit deur 12 Trouens, aan die begin van die tydperk is daar nie 12 maande om te versamel, maar 'n laer getal. Ons moet die aantal maande waarvoor daar verkope te bereken. Dit kan bereik word deur gebruik te maak kruis filter van die kalender tafel met die verkope tafel nadat ons die nuwe 12 maande konteks toegepas. Ons definieer 'n nuwe maatreël wat die aantal bestaande maande bere in die 12 maande tydperk: Jy kan sien in die volgende figuur wat die Months12M maat bere n korrekte waarde: Dit is die moeite werd om daarop te let dat die formule nie werk as jy 'n periode te kies langer as 12 maande, omdat die CalendarMonthName het net 12 waardes. As jy langer nodig, sal jy nodig het om 'n JJJJMM kolom gebruik om in staat wees om meer as 12. Die interessante deel van hierdie formule wat kruis filter gebruik te tel, is die feit dat dit bere die aantal beskikbare maande, selfs wanneer jy filter met behulp van ander eienskappe. As, byvoorbeeld, jy die blou kleur met behulp van 'n Snijder kies, dan verkope begin in Julie 2007 (nie in 2005, soos dit gebeur vir baie ander kleure). Die gebruik van die kruis filter op verkope, die formule korrek bere wat in Julie 2007 is daar 'n enkele maand beskikbaar verkope vir Blue: Op hierdie punt, die rollende gemiddelde is net 'n DIVIDE weg: Wanneer ons dit gebruik in 'n Pivot Table, het ons nog 'n klein probleem: in werklikheid, is die waarde ook bereken vir maande waarvoor daar geen verkope (dit wil sê die toekoms maande): Dit kan opgelos word met behulp van 'n IF-stelling om die formule vertoon waardes voorkom wanneer daar geen verkope. Ek het niks teen INDIEN maar vir die prestasie verslaaf onder julle, dit is altyd die moeite werd om te onthou dat indien 'n prestasie moordenaar kan wees, want dit DAX formule enjin kan dwing om in te skop. In hierdie spesifieke geval, die verskil is onbeduidend, maar , as 'n algemene reël, die beste manier om die waarde te verwyder wanneer daar geen verkope is om te vertrou op suiwer stoor enjin formules soos hierdie een: Vergelyk 'n grafiek met behulp van die Avg12M met 'n ander een wat verkope toon jy kan maklik verstaan ​​hoe die rollende gemiddelde beskryf tendense in 'n veel skoner manier: Aflaai Hou my op die hoogte oor die komende artikels (nuusbrief). Ontmerk om die lêer vrylik te laai.


No comments:

Post a Comment