Valutakurstabell – Redovisning av saknade data med DAX

Jag ska visa dig hur du hanterar en valutakurstabell där vissa dagar inte tas med . Dessa dagar kan vara helger eller helgdagar.

Detta kanske inte är ett problem ibland, särskilt om företaget du förbereder en rapport för inte har öppet på helger och helgdagar. Men om de gör det kan du få felaktiga summor i slutet av månaden.

Att veta hur man hanterar data som saknas gör att du kan jämföra försäljningen rättvist om det finns flera valutor som används. Det kan till exempel finnas dagar då du tror att den totala försäljningen minskar på grund av att valutans värde sjunkit. I verkligheten kan den totala försäljningen vara låg eftersom du inte räknar med alla dagar under den givna perioden.

I det här exemplet kommer jag att ta den senaste tillgängliga valutakursen och använda den på de datum som saknas för att fylla upp utrymmet. Du kan se hela videon av denna handledning längst ner på den här bloggen.

Innehållsförteckning

Given data i valutakurstabellen

Nedan finns faktatabellen, som är tabellen Valutakurser . Den använder euron som basvaluta.

Valutakurstabell – Redovisning av saknade data med DAX

Den visar data från januari 2016 med tillhörande Crossrate för varje dag.

Valutakurstabell – Redovisning av saknade data med DAX

Allt ser bra ut från 1 januari. Men när jag träffade den 26:e, är nästa datum på den efterföljande raden den 29:e.

Valutakurstabell – Redovisning av saknade data med DAX

Det betyder att jag saknar data från den 27:e och 28:e .

Observera att vissa kanske föredrar att använda Power Query för att hantera denna situation. Just nu vill jag bara fokusera på DAX.

Låt oss nu säga att jag vill använda 0,920 den 27:e och 28:e. Detta är korshastigheten som användes den 26:e. Hur gör jag det med DAX?

Valutakurstabell – Redovisning av saknade data med DAX

Vissa kanske säger att detta enkelt kan göras i Excel. De kan ha rätt till viss del.

Men fördelen som LuckyTemplates har gentemot Excel är möjligheten att ytterligare dyka in i data från olika perspektiv utan att behöva göra om eller ändra något, vilket med största sannolikhet skulle hända i Excel.

Jag ska visa dig alla åtgärder du behöver tänka på, samt de olika stegen jag skulle ta för att täcka eventuella saknade data från valutakurstabellerna.

Valutakursmått

Låt mig först visa min huvudtabell. Jag har redan en del data här, inklusive datumet och valutakursen för euro .

Valutakurstabell – Redovisning av saknade data med DAX

I det här fallet använder valutakursen helt enkeltfungera.

Valutakurstabell – Redovisning av saknade data med DAX

Eftersom jag har att göra med en valutakurs per dag är det lätt att använda funktioner som SUM ,,, eller något liknande. Data som visas per rad skulle vara helt vettiga.

Det enda problemet här är vad som kommer att hända med Total .

Valutakurstabell – Redovisning av saknade data med DAX

Detta visar totalen som 26.693, vilket inte är någon mening alls. Det är bokstavligen bara att summera alla dagars valutakurser. På grund av detta måste jag hitta ett sätt att iterera över dagarna för att få den verkliga totalen .

Så jag ska titta på mitt valutadatummått för att försöka lösa det.

Aktuellt datummått

Personligen gör jag alltid ett aktuellt datummått som tar in vilket datum jag än befinner mig på i det aktuella filtersammanhanget .

Valutakurstabell – Redovisning av saknade data med DAX

Jag föredrar också att använda. I det här exemplet kommer användningen av MAX- funktionen att ge mig 1/31 vid Totalt, vilket skulle vara mer meningsfullt eftersom det är det senaste datumet.

Valutakurstabell – Redovisning av saknade data med DAX

Senaste valutadatum

Min tabell innehåller också det senaste valutadatumet . Jag får detta genom att användafunktion och hänvisar till tabellerna FactCurrencyRates och Date .

Valutakurstabell – Redovisning av saknade data med DAX

Även om detta visar funktionen LASTDATE , är det också möjligt att använda MAX . Detta använder samma utgångspunkt som tabellen Aktuellt datum , men ger en specifik tidpunkt i förhållande till tabellen Valutakurser .

När jag scrollar ner kan jag se att det inte finns några uppgifter för den 27:e och 28:e i månaden.

Valutakurstabell – Redovisning av saknade data med DAX

För att ta itu med de saknade dagarna, ska jag prata om kolumnen Senaste rapporterade valutadatum .

Senaste rapporterade valutadatum

Det senaste rapporterade valutadatumet styr vilken kurs som ska användas för de saknade dagarna. Konceptet är att den senast rapporterade valutakursen kommer att vara samma kurs som ska användas de dagar där data saknas .

Eftersom det inte finns några uppgifter både den 27:e och 28:e betyder det att uppgifterna för den 26:e kommer att tillämpas.

Valutakurstabell – Redovisning av saknade data med DAX

Vårt exempel visar också att det senast rapporterade valutadatumet inte nödvändigtvis är föregående dag. Eftersom det inte heller finns några data för den 27:e, skulle jag fortfarande behöva gå tillbaka till den 26:e för att ta reda på vilken takt jag ska använda den 28:e.

Innan jag hoppar in i måttet som visar hur detta gjordes, kom ihåg att allt här händer i samband med hur ett filter fungerar. Jag måste tänka på vilken specifik data jag vill fokusera på.

Eftersom jag är på raden för den 27:e i månaden vill jag ta bort eventuella filterreferenser och fokusera på den 26:e istället. Detta innebär att ta medellereftersom de tillåter mig att ändra det använda filtret. Bli inte så förvirrad medfunktion, som bara kan begränsa data ytterligare.

Så här är måttet jag använde för det senaste rapporterade valutadatumet . Jag använde CALCULATE för det här exemplet.

Valutakurstabell – Redovisning av saknade data med DAX

Jag försöker alltid hitta så många variabler jag kan. Jag behöver bara titta på omfattningen av varje variabel, eftersom variabler får värdet av var de definieras .

I det här fallet kommer jag att använda det aktuella datumet eftersom jag vet att denna variabel inte kommer att ändras oavsett vilka funktioner jag använder.

Valutakurstabell – Redovisning av saknade data med DAX

Observera att det inte är nödvändigt att hitta denna variabel. Det är bara en vana som gör att jag kan kontrollera omfattningen av varje variabel jag kommer att använda i måttet.

För att gå tillbaka till måttet, hur säger jag åt DAX att ta bort filtren för det aktuella datumet och ge mig det senast registrerade valutadatumet ?

Först ska jag använda FILTER för den(DimDate) tabell.

Valutakurstabell – Redovisning av saknade data med DAX

ALL - funktionen tar bort de använda filtren, vilket öppnar DimDate-tabellen för mig att använda.

Sedan använder jag MIN för att tala om för DAX att jag vill använda den del av DimDate-kolumnen som är lika med antingen det senaste valutadatumet eller det aktuella datumet .

Valutakurstabell – Redovisning av saknade data med DAX

Vad händer om det senaste valutadatumet och det aktuella datumet inte är samma? Använd sedan alltid Senaste valutadatum .

Det är därför mellan 1/26 och 1/27 kommer åtgärden att ta 1/26. Härifrån kommer rätt datum att tillämpas på tabellen Valutakurser för att få den senast rapporterade valutakursen .

Senast rapporterade valutakurs

Låt mig dra den senast rapporterade valutakursen till min tabell.

Valutakurstabell – Redovisning av saknade data med DAX

Du kommer att se att den 27:e och 28:e nu använder 0,9200 som valutakurs eftersom det är samma kurs som används den 26:e.

Valutakurstabell – Redovisning av saknade data med DAX

Nedan är måttet jag använde för den senast rapporterade valutakursen .

Valutakurstabell – Redovisning av saknade data med DAX

Återigen, jag börjar alltid med att definiera några variabler. I det här fallet använder jag Valuta Valuta och Senast rapporterad valutadatum .

Jag kommer att använda Valuta vald eftersom jag har att göra med olika valutor här. Det är därför jag måste peka ut vilken specifik valuta som utvärderas vid varje given tidpunkt.

Valutakurstabell – Redovisning av saknade data med DAX

I det här exemplet kan de olika valutorna nås med den angivna slicern.

Valutakurstabell – Redovisning av saknade data med DAX

Självklart behöver det inte vara en skärare som används. Det kan också komma från ett bord eller en bild. Det som är viktigt är att det finns ett filter som låter dig se data i olika valutor.

När det gäller LastReportedDate är det samma sak som Senaste Rapporterade Valutadatum som jag pratade om tidigare.

Valutakurstabell – Redovisning av saknade data med DAX

För variabeln Rate använde jagfungera.

Valutakurstabell – Redovisning av saknade data med DAX

Jag tar in korskursen från faktatabellen för Valutakurser .

Valutakurstabell – Redovisning av saknade data med DAX

Eftersom jag har många valutor i en enda tabell kan jag inte bara använda datumet som en enda referenspunkt. Det måste vara en kombination av rätt valuta och rätt datum.

Det är därför jag också hänvisar till att valutatickern är lika med Valuta .

Valutakurstabell – Redovisning av saknade data med DAX

Jag hänvisar också till LastReportedDate .

Valutakurstabell – Redovisning av saknade data med DAX

Det är därför som man tittar på tabellen visar den den 26:e tre gånger innan den hoppar till den 29:e.

Valutakurstabell – Redovisning av saknade data med DAX

Konverterad försäljning med senast rapporterad kurs kontra aktuellt datum

Jag är nu på sista sträckan, vilket innebär att konvertera försäljningen med den senaste rapporterade valutakursen .

I grund och botten tar måttet bara denna senast rapporterade valutakurs och multiplicerar den med basmåttet , som i det här fallet är total försäljning .

Valutakurstabell – Redovisning av saknade data med DAX

När den åtgärden har tillämpats kommer du att se att dessa två datum slutar vara tomma. Det betyder att det inte finns någon försäljning på dessa datum .

Valutakurstabell – Redovisning av saknade data med DAX

Det visar sig också att det är försäljning den 27:e och 28:e (där det tidigare saknades valutadata).

Valutakurstabell – Redovisning av saknade data med DAX

Sedan jag hänvisade till den senast rapporterade valutakursen har dessa siffror omvandlats till euro.

Den här gången ska jag visa dig den konverterade försäljningen med aktuellt datum.

Valutakurstabell – Redovisning av saknade data med DAX

Den här gången tittar den bara på det aktuella datumet istället för att ta hänsyn till det senaste rapporterade datumet .

Valutakurstabell – Redovisning av saknade data med DAX

När jag väl har lagt det måttet i tabellen i en annan kolumn visar det bara tomma utrymmen den 27:e och 28:e.

Valutakurstabell – Redovisning av saknade data med DAX

Om du jämför den konverterade försäljningen mellan att använda den senaste rapportkursen och att använda det aktuella datumet visar summan en enorm skillnad .

Valutakurstabell – Redovisning av saknade data med DAX

Där den konverterade försäljningen med det senaste rapporterade datumet visar totalt över 4 miljoner, visar den konverterade försäljningen med det aktuella datumet endast 3,8 miljoner totalt.

Det är därför det är mycket viktigt att förstå vilken variabel du använder. Om du tittar på totalen ser det bara ut som att euron fick en stor träff och drog ner värdet. Men i verkligheten beror nedgången i Totalt på oredovisade data i tabellen Valutakurser.

Rensa upp data

Nu när jag har fyllt i de saknade uppgifterna ska jag städa i tabellen.

Jag har precis lagt till en formaterad försäljningskolumn här som tydligt visar siffrorna i euro.

Valutakurstabell – Redovisning av saknade data med DAX

Sedan jag gick igenom så många steg har jag samlat på mig en hel del kolumner här.

Valutakurstabell – Redovisning av saknade data med DAX

Men alla dessa behövs inte för att presentera data. Så jag ska gå vidare och bli av med dem genom att ta bort dem under värderutan .

Valutakurstabell – Redovisning av saknade data med DAX

När de har tagits bort, slutar jag med en renare tabell med bara nödvändiga data som visas.

Valutakurstabell – Redovisning av saknade data med DAX

Observera att jag fortfarande kan ändra valutan genom att använda slicern här till höger.

Valutakurstabell – Redovisning av saknade data med DAX

För att göra min tabell mer noggrann lägger jag till alla andra valutor genom att stänga av alternativet Single Select .

Valutakurstabell – Redovisning av saknade data med DAX

Detta kommer att visa mina siffror i USD, Euro och brittiska pund.

Valutakurstabell – Redovisning av saknade data med DAX

Jag ser också några tomma utrymmen här som representerar de dagar då det inte finns någon försäljning.

Jag tar bort dem genom att stänga av " Visa objekt utan data " .

Valutakurstabell – Redovisning av saknade data med DAX

Nu innehåller tabellen bara rader som representerar datum med försäljning.

Valutakurstabell – Redovisning av saknade data med DAX

Detta ger mig en bra jämförelse av siffrorna baserat på de olika valutorna.

Summorna visar också de korrekta siffrorna eftersom jag användeatt iterera genom var och en av raderna.

Det här är väldigt viktigt. Om du inte använder SUMX kommer det att sluta med att du bara lägger till alla kolumner utan att tänka på om rätt valutakurs används.




Slutsats

Som jag nämnde tidigare är detta inte nödvändigtvis det enda sättet att hantera saknad data. Det finns faktiskt massor av andra sätt att göra detta.

I vissa fall kan du till exempel använda data från början av månaden och använda samma siffra i hela din valutakurstabell. Jag kommer att diskutera dessa andra tillvägagångssätt i framtiden i separata bloggar.

För närvarande använde jag det här tillvägagångssättet eftersom det är mest meningsfullt för mig att använda den senaste rapporterade frekvensen. Jag tror att det är det mest intuitiva alternativet.

En sak jag också skulle vilja betona är behovet av att förstå allt utifrån ett filtersammanhang. Hur skriver jag över filtret? Hur tar jag in de senast rapporterade uppgifterna? Dessa hjälper dig att förstå hur du får rätt siffror i slutändan.

Med vänliga hälsningar,


Pipe In R: Anslutningsfunktioner med Dplyr

Pipe In R: Anslutningsfunktioner med Dplyr

I den här handledningen kommer du att lära dig hur du kopplar ihop funktioner med hjälp av dplyr-röroperatorn i programmeringsspråket R.

RANKX Deep Dive: A Lucky Templates DAX-funktion

RANKX Deep Dive: A Lucky Templates DAX-funktion

RANKX från LuckyTemplates låter dig returnera rankningen av ett specifikt nummer i varje tabellrad som utgör en del av en lista med nummer.

Extrahera LuckyTemplates-teman och bilder från PBIX

Extrahera LuckyTemplates-teman och bilder från PBIX

Lär dig hur du tar isär en PBIX-fil för att extrahera LuckyTemplates-teman och bilder från bakgrunden och använda den för att skapa din rapport!

Excel Formler Fuskblad: Mellanvägledning

Excel Formler Fuskblad: Mellanvägledning

Excel Formler Fuskblad: Mellanvägledning

LuckyTemplates Kalendertabell: Vad är det och hur man använder det

LuckyTemplates Kalendertabell: Vad är det och hur man använder det

LuckyTemplates Kalendertabell: Vad är det och hur man använder det

Python i LuckyTemplates: Hur man installerar och ställer in

Python i LuckyTemplates: Hur man installerar och ställer in

Lär dig hur du installerar programmeringsspråket Python i LuckyTemplates och hur du använder dess verktyg för att skriva koder och visa bilder.

Beräkna dynamiska vinstmarginaler – enkel analys av LuckyTemplates med DAX

Beräkna dynamiska vinstmarginaler – enkel analys av LuckyTemplates med DAX

Lär dig hur du beräknar dynamiska vinstmarginaler vid sidan av LuckyTemplates och hur du kan få fler insikter genom att gräva djupare i resultaten.

Sortering av datumtabellkolumner i LuckyTemplates

Sortering av datumtabellkolumner i LuckyTemplates

Lär dig hur du sorterar fälten från en utökad datumtabells kolumner korrekt. Detta är en bra strategi att göra för svåra fält.

Hitta dina bästa produkter för varje region i LuckyTemplates med DAX

Hitta dina bästa produkter för varje region i LuckyTemplates med DAX

I den här artikeln går jag igenom hur du kan hitta dina toppprodukter per region med hjälp av DAX-beräkningar i LuckyTemplates, inklusive TOPN- och CALCULATE-funktionerna.

Skräpdimension: Vad är det och varför det är allt annat än skräp

Skräpdimension: Vad är det och varför det är allt annat än skräp

Lär dig hur du använder en skräpdimension för flaggor med låg kardinalitet som du vill infoga i din datamodell på ett effektivt sätt.