Oplev unik indsigt ved hjælp af LuckyTemplates TOPN-funktion
Denne blog indeholder LuckyTemplates TOPN DAX-funktionen, som giver dig mulighed for at få unik indsigt fra dine data, hvilket hjælper dig med at træffe bedre markedsføringsbeslutninger.
Jeg vil lave et dybt dyk ned i noget, der hedder kombinatorisk analyse. Dette kan defineres som at vælge og arrangere elementer af sæt i overensstemmelse med foreskrevne regler. Det lyder måske esoterisk, men det har faktisk nogle meget praktiske use cases. Du kan se den fulde video af denne tutorial nederst på denne blog.
I denne tutorial viser jeg dig, hvordan du gør dette ved hjælp af Power Query i LuckyTemplates.
Indholdsfortegnelse
Eksempel på kombinatorisk analyse
I dette eksempel på kombinatorisk analyse var opgaven, at vi havde en liste med seks varehuse, og vi skulle generere hvert unikt sæt af tre. Det lyder som et ret ligetil problem, men dette er et af de tilfælde, hvor sproget virkelig betyder noget.
Det korrekte svar her er enten 216, 120, 56 eller 20. Så afhængigt af hvordan du definerer det unikke sæt og de regler, du har foreskrevet, kan du være ude af en faktor 10, hvis du ikke får sættet korrekt.
Og så er der to dimensioner, der betyder noget her. Den første er " betyder rækkefølge noget ?" Så når vi taler om tre sæt af tre, svarer ABC så til BCA? Så betyder rækkefølgen noget? Og hvis orden betyder noget , taler vi om permutationer .
Et godt eksempel på permutationer, hvor orden kunne have betydning, er (vi taler om en lagerkontekst) i tilfælde af rejsetid. Det kan meget vel være, at hvis du besøger lager A, derefter lager B og derefter lager C, kan rejsetiden på grund af trafikafvikling med trafik mod trafik, det tidspunkt, du ankom til hvert lager, være ret forskellig afhængig af ordren hvor du besøger dem.
Bagsiden af det er " orden betyder ikke noget ", i hvilket tilfælde vi taler om kombinationer , ikke permutationer. Den use case her, der er almindelig, er afstand. For eksempel, i luftlinje, vil afstanden fra A til B til C ikke være anderledes end afstanden fra B til C til A. Disse vil blive betragtet i en kombinationssammenhæng.
Kombinationer betragtes som dubletter af hinanden. Mens de i en permutationssammenhæng vil blive betragtet som unikke.
Og så, som du kan se, burde en kombinationslås virkelig være en permutationslås, fordi i så fald betyder rækkefølgen noget, hvilket gør den til en permutation, ikke en kombination.
Det andet spørgsmål eller dimension, der betyder noget, er " når en vare er plukket, kan den så plukkes igen ?" Hvis vi for eksempel vælger A som vores første lager, kan vi så vælge A igen, eller skal vi vælge unikke elementer hver gang?
Udtrykket, vi bruger her, er " med udskiftning " eller " uden udskiftning ". Så hvis en vare kan vælges igen, er det med erstatning, hvilket betyder, at du vælger den. Og på en måde går den tilbage i udvælgelsesspanden og for at blive plukket igen. Hvis svaret er nej, er det uden erstatning.
Og så kan du se i denne løsning, at permutationer med erstatning er de mindst restriktive. Så det er den, der giver os 216 unikke sæt. Og kombinationer uden erstatning er den mest restriktive og giver os 20.
Vi vil bare bruge disse formler som en måde at kontrollere vores resultater på. Så vi husker 216, 120, 56 og 20. Lad os nu hoppe ind i Power Query og se, hvordan denne kombinatoriske analyse udspiller sig.
Kombinatorisk analyse: Permutationer i Power Query
I Power Query har jeg her en meget simpel sag med seks navngivne varehuse.
Og jeg har udviklet denne Power Query M-funktion, som jeg har brugt til at behandle kombinationer og permutationer.
Først vil jeg udvikle det første use case, som er permutationer med erstatning , den mindst begrænsende af flokken. Måden at gøre det på i Power Query er at tage denne Warehouse- tabel og referere til den (i DAX bruger vi CROSSJOIN ).
Jeg vil kalde dette, Per w Rep (permutationer med erstatning).
Der er en række måder, hvorpå du kan lave en krydsforbindelse i Power Query. Den nemmeste måde, jeg har fundet, er at gå til Tilføj kolonne og derefter Brugerdefineret kolonne . I den tilpassede kolonneformel skal du henvise til tabellen Varehuse .
Og det, vi finder, når vi klikker på OK, er, at det genererer en indlejret tabel.
Derefter udvider vi det og fjerner klik på Brug originale kolonnenavn som præfiks .
Og vi får denne Location.1 , som er enhver mulig kombination af to. Så det tager de første seks referencer mod de andre seks kombinationer. Den anden seks gør det samme hele vejen ned, indtil vi har 36 forskellige sæt.
Vi kan gøre den tredje ved at gøre dette igen. Så vi går til Tilføj kolonne, derefter en brugerdefineret kolonne og derefter Warehouses.
Og vi vil have de 216 rækker som permutationer med erstatning.
Og du kan se nedefra, 3 kolonner, 216 rækker.
Det næste use case er permutationer uden erstatning . Det, vi tænker på her, er dybest set alt, der har et gentaget element. Så i denne tabel skal vi se på fra række 1 til række 8.
For at gøre det, tager vi et kig på denne funktion, fxSortAndIsDistinct .
I den avancerede editor kan du se, at denne grundlæggende beder om en tabel, og derefter udfører den en SortLocs . Men den vigtige del her for "med udskiftning" eller "uden udskiftning" er, at dette er en IsDistinct -funktion. Hvad dette gør, er bare dybest set at tage en liste over elementer og bestemme sandt eller falsk, om det er særskilt, eller om det har nogen dubletter på listen over elementer.
Så vi går her, vælg Perm w Rep og tryk på Invoke .
Dette vil give os disse to nye kolonner, SortLocs og IsDistinct . Husk nu, at de første otte poster havde dubletter, og den niende rekord var første gang, vi så den adskilte . Derfor er den niende række her den første, der viser sig som sand.
Hvis vi tænker tilbage på de tal, vi havde på faktorberegningerne, forventer vi 120 poster, hvis vi tager de ikke-særskilte poster ud. Så lad os prøve at filtrere her og fjerne FALSK.
Mens vi gør det, får vi hernede præcis de 120 rækker, som vi forventer. Lad os nu omdøbe dette til Perm wo Rep (permutation uden erstatning).
Kombinatorisk analyse: Kombinationer i Power Query
Nu laver vi kombinationerne med udskiftning . For at gøre det gør vi blot processen igen og gentager trinnet (Invoked Function). Så det er okay, at vi har dubletter, men vi vil ikke have sæt, der har de samme elementer , men i en anden rækkefølge.
I dette tilfælde, når vi taler om kombinationer. Hvis du husker, at ABC er lig med BCA er lig med CAB, betragtes de alle som dubletter af hinanden. Og måden vi bestemmer det på er gennem Sort-funktionen ( fxSortAndIsDistinct ).
Hvis vi går tilbage til funktionen i den avancerede editor, vil vi se for den anden kolonne, at vi har taget den liste og sorteret den alfabetisk. Derefter udtog vi værdierne afgrænset med komma fra den liste. Nu har vi hvert sæt sorteret alfabetisk. Vi har normaliseret rækkefølgen for at gøre det nemt at finde dubletter.
Hvis vi nu går tilbage til denne påkaldte funktion, så husk, at vi leder efter 56 poster her. Så vi tager denne slags placering ( SortLocs ) og fjerner vores dubletter .
Med det får vi 56 rækker.
Så dette er vores tredje use case. Lad os omdøbe dette til CC w Rep (kombinationer med erstatning).
Lad os afslutte dette ved at tage permutationer med erstatningstabellen (Perm w Rep) igen og lave det samme mønster (påkalde). Derefter vil vi fjerne dubletterne (SortLocs-kolonnen), fordi dette er en kombination, og rækkefølgen er ligegyldig. Den er uden erstatning, så vi ønsker også kun den særskilte liste . Så vi klikker fra FALSE i IsDistinct-kolonnen.
Hermed får vi 20 poster. Og nu har vi alle fire vores use cases.
Konklusion
Så nu har vi alle fire vores use cases. Du kan virkelig se, hvor stærkt dette er i forhold til at udvikle den kombinatoriske analyse, der giver dig kontrol over udskiftning og særskilte elementer.
Dette er endda anvendeligt i nogle mere komplekse tilfælde, hvor du har en delvis erstatning, eller måske vælger et dubletelement for den første, men ikke anden gang. Det kan du stadig godt klare indeni.
Jeg håber, du fandt dette nyttigt. Tjek nedenstående links for mere indhold. Du kan også se den fulde video af denne tutorial nedenfor.
Alt det bedste!
Denne blog indeholder LuckyTemplates TOPN DAX-funktionen, som giver dig mulighed for at få unik indsigt fra dine data, hvilket hjælper dig med at træffe bedre markedsføringsbeslutninger.
Find ud af, hvorfor det er vigtigt at have en dedikeret datotabel i LuckyTemplates, og lær den hurtigste og mest effektive måde at gøre det på.
Denne korte vejledning fremhæver LuckyTemplates mobilrapporteringsfunktion. Jeg vil vise dig, hvordan du kan udvikle rapporter effektivt til mobilenheder.
I denne LuckyTemplates Showcase gennemgår vi rapporter, der viser professionel serviceanalyse fra et firma, der har flere kontrakter og kundeengagementer.
Gå gennem de vigtigste opdateringer til Power Apps og Power Automate og deres fordele og implikationer for Microsoft Power Platform.
Opdag nogle almindelige SQL-funktioner, som vi kan bruge, såsom streng, dato og nogle avancerede funktioner til at behandle eller manipulere data.
I denne tutorial lærer du, hvordan du opretter din perfekte LuckyTemplates-skabelon, der er konfigureret til dine behov og præferencer.
I denne blog vil vi demonstrere, hvordan man lagdelte feltparametre med små multipler for at skabe utrolig nyttig indsigt og visuals.
I denne blog vil du lære, hvordan du bruger LuckyTemplates rangerings- og brugerdefinerede grupperingsfunktioner til at segmentere et eksempeldata og rangordne det efter kriterier.
I denne tutorial vil jeg dække en specifik teknik omkring, hvordan du kun viser Kumulativ Total op til en bestemt dato i dine visuals i LuckyTemplates.