Pipe In R: Tilslutningsfunktioner med Dplyr
I denne øvelse lærer du, hvordan du kæder funktioner sammen ved hjælp af dplyr-røroperatoren i programmeringssproget R.
Til denne øvelse vil jeg vise dig, hvordan du fikser LuckyTemplates matrixtotaler, især fastsættelse af totaler og subtotaler, hvis de mål, du opretter, ikke giver de rigtige resultater oprindeligt. Du kan se den fulde video af denne tutorial nederst på denne blog.
Der er to grunde til, at jeg ønskede at løse dette problem. Den ene er, at det forekommer ret ofte. Det er noget, der kommer meget op i. Vi ser dette spørgsmål gentaget igen og igen i forskellige former. Den anden grund er, at når du adresserer det i sammenhæng med en matrix, er det nok det sværeste af de brudte totalproblemer.
Hvis du lærer, hvordan du adresserer det i matrixen, ved du, hvad du skal gøre for at rette dine totaler i kort, i tabeller og i andre visuals, hvor totaler kan gå i stykker. Jeg vil gennemgå en systematisk proces til at rette LuckyTemplates matrixtotaler, der er brudt og virkelig opdele det efter komponenter.
I dette eksempel var foranstaltningen kompleks nok til, at den brød totalerne på en ret spektakulær måde. Jeg ville starte med virkelig brudte totaler for at vise dig, hvordan du løser selv de værste problemer med brudte totaler.
Indholdsfortegnelse
Forkerte totaler i LuckyTemplates Matrix
Lad os se på konteksten af foranstaltningerne i dette eksempel. For det første har vi et mål kaldet Spread Revenue , som er grenen af Total Opportunity Revenue and Lookup Scaling Factor .
Den samlede mulighedsindtægt er bare en simpelmåle, mens Lookup Scaling Factor er et mere kompliceret, slags multi-kriterie opslag, som vi baserer på en række filterbetingelser.
Dette er blot et eksempel på en måde, hvorpå totaler kan bryde. Hvis vi nu tager den Spread Revenue og dropper den i feltet for matricen, er det, hvad der sker (se nedenfor).
Som du kan se, beregner basisrækkerne korrekt, men de samlede rækker beregner det ikke. I mange tilfælde, når du har totaler, subtotaler og hovedtotaler, vil LuckyTemplates i det mindste tage et gæt. Og ofte er det gæt forkert, og du er nødt til at rette op på totalerne.
Men i dette tilfælde giver LuckyTemplates bare det, der svarer til skuldertræk. Den har ingen idé om, hvad disse totaler skal være. Det har ikke engang et gæt. Det mærker dem bare som tomme. For at løse dette er vi nødt til at bygge noget ekstra logik her, der fortæller LuckyTemplates, hvad de skal gøre i rækketotaler, kolonnetotaler og hovedtotaler.
I mange tilfælde, hvor du ser på flere forhold, kan du gøre dette som en indlejretudmelding. Men vi har en bedre konstruktion i LuckyTemplates, der gør det meget nemmere at se logikken, som er udmelding.
Reparation af LuckyTemplates matrixtotaler med SWITCH TRUE Logic
Vi har en SWITCH TRUE-statement, der er bygget fra det generelle til det specifikke, og jeg vil gerne vise dig, hvorfor dette ikke virker. Hvad SWITCH TRUE-sætningen gør, er, at den gennemgår hver af betingelserne. Det går ud af den første, det er sandt.
Og så i dette tilfælde går vi fra det generelle. Det siger, "hvis dyrets klasse er i monotremes, pungdyr og placenta, så får det betegnelsen pattedyr". I dette eksempel er disse de eneste tre klasser af pattedyr. Hvis det er et pattedyr, vil det være en af disse tre typer.
Hvis vi ser på, hvad der sker, kommer dataene ind, og vi går til SWITCH TRUE. Og hvis det er en af disse klasser, bliver det "pattedyr". Det betyder, at det aldrig vil komme ned til dette kriterium her af pungdyr eller det, vi ønsker, som er kænguru, fordi disse alle er pattedyr. Og så, hvis denne udtalelse er sand, vil den forsvinde.
Hvis udsagnet ikke er sandt, vil de to udsagn ikke være sande. Det vil gå til standard, som ikke er et pattedyr. Så i stedet for at bygge ud fra det generelle til det specifikke, skal du bygge dit SWITCH TRUE-udsagn fra det specifikke til det generelle og derefter catch-all til sidst.
Hvis vi tager dette tilbage til eksemplet med fastsættelse af matrixtotaler, er det virkelig det samme. A'et her er detaljerne, som vil være det første udsagn i vores SWITCH TRUE. Og så har vi D som catch-all. I midten har vi disse to B- og C-betingelser. B har kontekst for kolonnen, men ikke rækken, mens C har kontekst for rækken, men ikke kolonnen.
Lad os nu hoppe ind i Tabular Editor 3 (TE3), som virkelig er min foretrukne måde nu at fejlfinde og forstå foranstaltninger på.
Fejlretning ved hjælp af tabeleditor 3
Jeg kalder dette mål (nedenfor) Spredning af omsætning med faste totaler. Det er ret langt og ligner kompliceret DAX, men jeg vil opdele det efter komponent.
Vi har her kun to variabler, der dybest set opfangeraf vores korte måned og vores periode, og det kommer til at bestemme konteksten. Så har vi en virtuel tabel, som dybest set er en virtuel version af matrixen gennem detteogkonstruere.
Hvis vi ser på dette inde i en DAX-forespørgsel, kan du se, at den grundlæggende skaber alle mulige kombinationer af Periode og Short Month, hvilket er hvad matricen gør.
I tabeleditoren 3 er der en anden måde at visualisere dette på, kaldet pivotgitteret. Det producerer en visualisering, der er lig med den matrixvisual i LuckyTemplates.
Går vi tilbage til vores mål i Expression Editor, skal vi bygge den logik, der skaber totalfelterne. Og så har vi denne SWITCH TRUE-erklæring med, hvor vi tester for at se, om der er en kontekst i hvert af de to felter, som vi har brug for kontekst i.
Den første betingelse, som er fra den mest specifikke til den mindst specifikke, er den betingelse A, grundrækkerne. Så hvis vi har kontekst for Periode, og vi har kontekst for Kort måned, så bruger vi bare Spread Revenue-målet, fordi det gav de korrekte resultater i disse datarækker.
Nu skal vi bygge logikken for B, hvor vi har kontekst i kolonnen. Så vi har HASONEVALUE for kort måned, men ikke for periode. Nu vil vi fremtvinge logikken, tage den virtuelle matrix og tage vores Spread Revenue-mål og derefter summere det på tværs af alle værdierne i Periode.
Den næste ting vi har er bagsiden, hvor vi har HASONEVALUE i Periode, men ikke i Short Month. Vi tager nuaf den virtuelle tabel (Spread Revenue-mål), og vi summerer det over alleaf kort måned.
Og så til sidst, har vi catch-all-målet, som er, hvis vi ikke har kontekst i nogen af de to, så tager vi bare den samlede sum af den virtuelle tabel.
Hvis vi nu tager vores Spread Revenue with Fixed Totals-mål til felterne og dropper det i værdierne, får vi de korrekte totaler for rækketotaler, kolonnetotaler og totaltotaler. SWITCH TRUE logikken går igennem og påtvinger al den logik, vi har brug for for at få de korrekte totaler.
Konklusion
I denne blog har jeg vist dig, hvordan du retter forkerte totaler i LuckyTemplates-matricen. Dette er en konstruktion, som du kan pålægge et bord eller på et kort, hvor du bygger den virtuelle logik til basisrækkerne, som typisk vil virke, hvis du har et korrekt mål. Og så skal du bare påtvinge den logik, du har brug for for at fremtvinge den korrekte total.
Det ser komplekst ud, men bestemt nyttigt. Jeg håber, at det hele er klart. Du kan se den fulde videotutorial nedenfor og se linkene for mere relateret indhold.
Alt det bedste!
I denne øvelse lærer du, hvordan du kæder funktioner sammen ved hjælp af dplyr-røroperatoren i programmeringssproget R.
RANKX fra LuckyTemplates giver dig mulighed for at returnere rangeringen af et specifikt tal i hver tabelrække, der udgør en del af en liste over tal.
Lær, hvordan du adskiller en PBIX-fil for at udtrække LuckyTemplates-temaer og -billeder fra baggrunden og bruge den til at oprette din rapport!
Excel Formler Snydeark: Mellemvejledning
LuckyTemplates kalendertabel: Hvad er det, og hvordan man bruger det
Lær, hvordan du installerer programmeringssproget Python i LuckyTemplates, og hvordan du bruger dets værktøjer til at skrive koder og vise billeder.
Lær, hvordan du beregner dynamiske fortjenstmargener ved siden af LuckyTemplates, og hvordan du kan få mere indsigt ved at grave dybere ned i resultaterne.
Lær, hvordan du sorterer felterne fra kolonner med udvidet datotabel korrekt. Dette er en god strategi at gøre for vanskelige felter.
I denne artikel gennemgår jeg, hvordan du kan finde dine topprodukter pr. region ved hjælp af DAX-beregninger i LuckyTemplates, herunder funktionerne TOPN og CALCUATE.
Lær, hvordan du bruger en uønsket dimension til flag med lav kardinalitet, som du ønsker at inkorporere i din datamodel på en effektiv måde.