Pipe In R: Koblingsfunksjoner med Dplyr
I denne opplæringen lærer du hvordan du kobler funksjoner sammen ved å bruke dplyr-røroperatøren i programmeringsspråket R.
I denne opplæringen vil jeg diskutere fire skjulte fallgruver i LuckyTemplates som kan ødelegge datamodellen din og/eller rapporten din. Jeg vil vise deg ikke bare hvordan du unngår disse problemene når du oppretter LuckyTemplates-rapporter, men hvordan du lager en omfattende mal som effektivt adresserer dem alle, samt øker hastigheten på LuckyTemplates-utviklingen. Du kan se hele videoen av denne opplæringen nederst på denne bloggen.
Innholdsfortegnelse
4 Ryttere av LuckyTemplates Apocalypse i å lage LuckyTemplates-rapporter
Oppdag relasjoner automatisk
Den første fallgruven når du oppretter LuckyTemplates-rapporter, er Autooppdag relasjoner . Dette snur beslutningsprosessen om datamodellering fra din vurdering og ekspertise til en automatisert prosess innen power BI. Jeg tror at Microsoft bør bringe tilbake Clippy fra 90-tallet for i det minste å gi deg en rettferdig advarsel og tillate deg å godkjenne om du vil at de skal gjøre ting med datamodellen din eller ikke.
Dette er et faktisk eksempel fra noe arbeid en venn av meg gjorde fordatautfordring 15. Hun satte denne Total Wins-tabellen inn i en nyere datamodell og glemte å slå av Auto-detect Relationships.
Som et resultat bygde den tre relasjoner inn i denne tabellen av feil type i feil retning og la til toveis relasjoner i stedet for ensrettet relasjoner. Det skapte mye tvetydighet i modellen hennes og undergravde nøyaktigheten til DAX-en hennes.
Hvis dette ikke forteller deg at du bør slå den av, er jeg ikke sikker på hva som vil gjøre det. Dessuten, hvis du har Auto-detect Relationships på, og du setter inn en frakoblet tabell i modellen din, for eksempel en innhøstingsverdi for en slicer, men du ikke vil ha den koblet til datamodellen din, vil den automatisk koble til disse og i utgangspunktet gjøre ubrukelig det frakoblede elementet i tabellen som du prøvde å oppnå.
Automatisk dato/klokkeslett
Den andre tingen jeg vil snakke om er automatisk dato/klokkeslett . Jeg tror dette er en funksjon som var ment å hjelpe nybegynnere, som ikke var klar over vanskelighetene med dedikerte Dato-tabeller.
Denne funksjonen oppretter én enkelt datotabell på hver av datoene og datamodellen din på den ene siden av en en-til-mange-relasjon. Så den kan i noen tilfeller lage fem eller seks forskjellige Dato-tabeller i modellen din. Det betyr også at det er laget på en måte som gjør at du må forholde deg til datoene i et merkelig hierarkisk format. Det roter ikke bare modellen, men det gjør det vanskelig å jobbe med dem.
Så la oss hoppe inn i LuckyTemplates. Vi skal lage en malfil, slå av alle disse funksjonene i malen, og deretter lagre malen med en annen funksjonalitet. Vi kan åpne det hver gang vi gjenskaper en ny rapport og få den til å ignorere de fire rytterne.
Nå, hvis vi går til Alternativer og innstillinger, vil du se i Global at det ikke er noen måte å slå av automatisk oppdage relasjoner. Den eneste måten å slå den av er i Data Load under Current File. Så hvis du ikke lager en mal, må du slå av denne hver eneste gang. Og hvis du ikke husker det, kommer det til å skape noen av de dårlige relasjonene.
Så slå det av i tillegg til automatisk dato/klokkeslett. Sørg dessuten for at Oppdag kolonnetyper og overskrifter for ustrukturerte kilder også er slått av, noe som er noe av det, spesielt med CSV-filer, kan forårsake problemer fordi det kun bedømmes basert på de første par hundre radene. Igjen, det tar noen dårlige beslutninger som potensielt kan forårsake problemer når du er BI-rapporter.
Du kan også slå av automatisk dato/klokkeslett globalt, noe som betyr at vi har beseiret de to første rytterne rett ut av porten.
For å gå videre, skal vi legge inn en datotabell i malen vår. Datotabellen jeg bruker er Melissas utrolige Extended Date-tabell, som du finner i LuckyTemplates-forumet.
Nå går vi inn i LuckyTemplates, går til Hjem, den nye kilden og deretter Blank Query . Deretter, hvis vi går inn i Advanced Editor, kan vi lime inn koden for utvidet datotabell.
Og på dette tidspunktet har vi en avgjørelse å ta. Siden vi bruker en mal, vet vi ikke hvordan faktatabellen kommer til å se ut. Det kommer til å være forskjellig for hver rapport.
Så hvis faktatabellene dine har en ganske konstant varighet, kan du lage en dynamisk start- og sluttdato for Dato-tabellen. Det jeg vanligvis gjør i denne situasjonen er at jeg bare bruker et år som jeg vet ikke er riktig, men som jeg vet er at hvis jeg glemmer å gå inn og endre ting, vil det gi meg veldig merkelige resultater. Deretter kommer den til å rykke i hukommelsen og minne meg på å gå inn og matche datoene for datotabellen min med faktatabellen min.
Så i dette eksemplet skal jeg bare sette 1950 her. Vi ønsker alltid å bruke et helt år i datotabellen vår, så jeg legger det til slutten av 1950. Regnskapsåret starter 1. juli, la oss si.
Vi trykker deretter på Invoke, og den bygger den datotabellen for oss. Senere når vi vet varighetsformen til faktatabellene våre, går vi bare inn her og endrer disse datoene. Den oppdaterer datotabellen for å matche disse varighetene.
Merke datotabeller når du oppretter LuckyTemplates-rapporter
Nå vil jeg snakke om tabeller for merkedato . Dette er en av de andre ryttere vi ikke har forholdt oss til ennå. I Dato-tabellen kan du gjøre det enten i modellvisningen eller i tabellvisningen. Jeg gjør det vanligvis i tabellvisningen.
Den vil be deg om feltet du vil validere. I den utvidede Dato-tabellen vil det alltid være Dato- feltet.
Når du trykker på valider, gjør den seks ting i rekkefølge. Det bekrefter at Dato-feltet inneholder unike verdier, at det ikke inneholder nullverdier, at det inneholder sammenhengende datoverdier, og at hvis det er et Dato/Klokkeslett-felt (som i dette tilfellet ikke er det, er det et Dato-felt). Hvis det var et dato/klokkeslett-felt, ville det bekreftet at det har samme tidsstempel for hver av oppføringene for den datoen.
Dessuten blir den kvitt de automatiske datohierarkiene som jeg snakket om tidligere. Den tillater også at visse funksjoner som forventer en sammenhengende validert dato under tidsintelligens funksjoner fungerer som de skal. I noen tilfeller vil disse funksjonene ikke fungere ordentlig uten en riktig merket datotabell og et validert datofelt.
Så ved å merke Dato-tabellen din, gjør den alle de gode tingene, og vi gjør det i malen. Selv når vi endrer varigheten på start- og sluttdatoen, vil den fortsatt forbli som en markert datotabell.
Automatisk oppsummering
Det siste vi ønsker å gjøre er den automatiske oppsummeringen .
Det siste vi ønsker å gjøre er den automatiske oppsummeringen . Hvis vi går til feltvisningen vår, vil vi se summeringstegnene ved siden av alle numeriske feltene våre. Du vil se under Kolonneverktøy at den legger en summering av Sum ved siden av alle disse. Den forutsetter at den vet hva vi vil gjøre med disse.
Dette kommer til spørsmålet om implisitte versus eksplisitte tiltak. Igjen, du vil ikke overføre denne beslutningsprosessen til LuckyTemplates at du vil lage eksplisitte mål, og du vil slå av disse Sum-funksjonene. I native LuckyTemplates er det ingen måte å slå alle disse av samtidig.
Så da har du den møysommelige oppgaven med å gå gjennom hver av dem der den er lagt til oppsummeringen, og gå til Kolonneverktøy, og deretter klikke ned på Ikke oppsummere . Når du gjør det, vil du se at det tar summeringstegnet bort.
Men du vil legge merke til at denne datotabellen har mange av disse automatiske oppsummeringene. Du lurer kanskje på om det er en enklere måte å gjøre dette på. Svaret er ja – du kan bruke Tabular Editor 3 (TE3).
Vi skal dra nytte av den avanserte skriptmodusen i TE3 for å bare slå av alt dette på en gang. For å gjøre det, går vi til Makroer og klikker deretter på Slå av oppsummering for hele modellen . Du vil se at det bare er et relativt kort C-sharp-manus.
Deretter går vi tilbake til TOM Explorer, klikker på datamodellen vår, høyreklikker på makroer og klikker deretter Slå av sammendrag for hele modellen. Og det slo av oppsummeringen for hele Dato-tabellen med bare et par klikk. Det er bare en fantastisk funksjon i TE3.
I tillegg til disse fire ryttere, er det en viktig ting du må gjøre. Du må skjule nøkkelfeltene dine på faktatabellsiden av forholdet. For å gjøre dette, må du gå gjennom dem individuelt og skjule hver av dem i innfødte LuckyTemplates. Men du kan også skrive det inn i TE3 og med bare to klikk blir alt gjort riktig i malen din.
Etter å ha slått ut disse fire ryttere, gjør vi livene våre lettere fra et utviklingssynspunkt, når det gjelder temaer og bakgrunner. Du kan lage noe slikt – en mal med firmalogoen, bakgrunnsfargen osv. Etter dette kan du lagre den som en PBIT-mal, ikke som en PBX-fil. Når du åpner denne filen, vil den gi deg et fint startsted for designet ditt med alle de fire ryttere slått av og "beseiret".
Konklusjon
I denne bloggen viste jeg deg de fire skjulte fallgruvene i LuckyTemplates, hvordan du unngår dem, og flere tips for rask og enkel rapportutvikling. Forhåpentligvis gir dette deg litt god tankegang og hvordan du ønsker å sette opp en lignende mal og unngå noen av de store fallgruvene når du lager.
Jubel!
I denne opplæringen lærer du hvordan du kobler funksjoner sammen ved å bruke dplyr-røroperatøren i programmeringsspråket R.
RANKX fra LuckyTemplates lar deg returnere rangeringen til et spesifikt tall i hver tabellrad som utgjør en del av en liste med tall.
Lær hvordan du demonterer en PBIX-fil for å trekke ut LuckyTemplates-temaer og bilder fra bakgrunnen og bruke den til å lage rapporten din!
Excel Formulas Cheat Sheet: Mellomveiledning
LuckyTemplates-kalendertabell: Hva er det og hvordan du bruker det
Lær hvordan du installerer programmeringsspråket Python i LuckyTemplates og hvordan du bruker verktøyene til å skrive koder og vise visuelle elementer.
Lær hvordan du beregner dynamiske fortjenestemarginer ved siden av LuckyTemplates og hvordan du kan få mer innsikt ved å grave dypere inn i resultatene.
Lær hvordan du sorterer feltene fra kolonner med utvidet datotabell på riktig måte. Dette er en god strategi å gjøre for vanskelige felt.
I denne artikkelen går jeg gjennom hvordan du kan finne de beste produktene dine per region ved å bruke DAX-beregninger i LuckyTemplates, inkludert TOPN- og CALCUATE-funksjonene.
Lær hvordan du bruker en søppeldimensjon for flagg med lav kardinalitet som du ønsker å inkludere i datamodellen din på en effektiv måte.