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.
Denne opplæringen vil vise VertiPaq Analyzer Metrics iog hvordan det hjelper med å optimalisere DAX-kodene dine. Hver beregning vil bli diskutert slik at du forstår hvordan hver enkelt kan bidra til å forbedre ytelsen til kodene dine.
Dette er VertiPaq Analyzer Metrics.
Innholdsfortegnelse
Tabeller-fanen til VertiPaq-analysatoren
Den første beregningen er Tabeller- fanen eller den samlede tabellvisningen. I denne fanen kan du se Kardinalitet- kolonnen. Det refererer til antall unike verdier i en tabell. Det er den viktigste kolonnen i din datamodell og.
Hvis du ser på DimCustomer- tabellen, er det 20 unike verdier. Det betyr at det er 20 separate kunder med ikke-gjentakende verdier.
Dette er et eksempel på DAX-søk.
Den bruker funksjon for å telle radene i ulike tabeller. Antall rader tilsvarer kardinaliteten produsert i tabellen.
Kolonner for datastørrelse
Den neste kolonnen etter Cardinality kalles Tabell . Den viser hvor mye minne tabellen tar opp. Jo større datastørrelsen er, jo mer oppmerksomhet trenger den. Kolonnen Størrelse er summen av kolonnene Data , Ordbok og Hierarkistørrelse .
Kolonnene Data , Dictionary og Hierarchy Size viser den totale størrelsen på henholdsvis komprimerte data, ordbokkodede kolonner og automatisk genererte hierarkikolonner.
Neste er Koding- kolonnen som viser hvilken type koding som brukes. Verdi- og Hash- koding forekommer i alle tabellene, det er derfor resultatet viser "Mange".
Brudd på referanseintegritet vil også bli vist i kolonnen RI-brudd . Brudd oppstår når en verdi finnes i faktatabellen, men ikke finnes i dimensjonstabellen .
Kolonnen Brukerhierarkistørrelse viser størrelsen på brukerdefinerte hierarkier . Størrelsen på forholdet basert på mange-siden av en en-til-mange-innstilling vil også vises i kolonnen Relasjonsstørrelse .
Deretter har du %DB- kolonnene. Denne kolonnen viser hvor mye en tabell tar opp i prosent av den totale størrelsen på alle tabeller.
I eksemplet kan du se at DimCustomer- tabellen tar opp nesten 66 % av den totale tabellstørrelsen. Prosentandelen av databasen din til faktatabellen bør være større enn dimensjonstabellene .
Dette er prosentene:
Siden dette eksemplet ikke har mye data, kan ikke kolonnene Segmenter og Partisjoner brukes. det vil kun være aktuelt med større bord.
Den siste kolonnen i fanen heter Kolonner . Den viser ganske enkelt tallkolonnene det er i en tabell. Datatype- og %-tabellkolonnene gjelder ikke for den samlede tabellvisningen .
Inne i faktasalgstabellen
Dette er datatabellen for overordnede faktasalg.
Hver kolonne i tabellen har sin egen informasjon. Det overordnede tabellnivået har for eksempel forskjellige kolonner som kardinalitet , kolonnestørrelse osv.
I eksemplet vil du legge merke til at kardinaliteten til SalesKey er lik kardinaliteten til tabellen. Det er fordi SalesKey ikke har noen gjentakende verdier og er en unik verdi.
Kolonnen Størrelse- kolonnen er like viktig som Tabellnivået. Den viser summen av kolonnene Data , Ordbok og Hierarkistørrelse .
Du kan også se at kodemetoden som brukes er Hash Encoding , som lager en distinkt liste med verdier.
Hvis du ser på Antall- raden, vil du se at den bruker Hash- kodingsmetoden selv om datatypen er et heltall.
Grunnen til dette er at SQL Server Analysis Services satte opp en metode for å bestemme den beste komprimeringsmetoden.
Kolonnen % Tabell viser kolonnen som en prosent av den totale tabellstørrelsen. I eksemplet har SalesKey den største størrelsen på tabellen, noe som er fornuftig fordi den har den høyeste kardinaliteten og kolonnestørrelsen.
På samme måte viser % Database- kolonnen prosentandelen av enten en tabell eller kolonne i en tabell som en prosentandel av hele databasen.
Du vil se at FactSales- tabellen er 46,8 % av den totale størrelsen på datamodellen. SalesKey - kolonnen inne i FactSales- tabellen tar opp 15 % av den totale databasestørrelsen.
Siden dette eksemplet bare har en liten mengde data, vil du bare ha ett segment og en partisjon. Det samme gjelder kolonnen Kolonner . Antall kolonner vil alltid være én i kolonnevisningen.
Kolonner-fanen i VertiPaq-analysatoren
Kolonner - fanen har et enklere format for å vise data. Den gir mer detaljert informasjon enn Tabeller- fanen.
Du vil legge merke til at den har lignende kolonner som Tabeller- fanen.
Kategorien Kolonner lar deg sortere hvilken som helst av kolonnene. I dette eksemplet er det sortert etter Cardinality som er merket med en liten trekant. Kolonnen Rader viser hvor mange rader det er i en tabell.
Du kan se at FactSales-SalesKey har 15 000 rader og kardinalitet. Alle primærnøkler har rader som er lik deres korresponderende kardinalitet.
Hvis antall rader ikke er lik antall kardinaliteter, vil tabellen ha gjentatte verdier.
Hvis du ser på FactSales-CustomerKey , vil du legge merke til at den har en kardinalitet på 801 og en kolonnestørrelse på nesten 1,1 millioner.
Dette betyr at den må optimaliseres og komprimeres. For å optimalisere den, gå til LuckyTemplates-filen og åpne DimCustomer- tabellen.
CustomerKey - kolonnen er en datastrengtype. Du kan se at verdiene starter med C og deretter etterfulgt av et tall. Klikk på Erstatt verdier for å endre verdiene inne i kolonnen.
Finn verdien C og endre den til tom. Deretter endrer du datatypen til Heltall.
Gjør det samme for CustomerKey- kolonnen i faktatabellen . Klikk på Bruk og gå tilbake til DAX Studio. Deretter klikker du på Vis beregninger for å laste inn DAX på nytt og deretter sortere den etter kardinalitet.
Søylestørrelsen er nå redusert til 46.372 fra 1,1 millioner. Hvis du ser på tabellvisningen, vil du se at kolonnestørrelsen også har sunket til 46 372.
Hvis du gjør det samme med SalesPersonKey som har en kolonnestørrelse på nesten 1,1 millioner, kan du redusere den ned til 5540.
Hvis du endrer streng- eller teksttypeverdier til heltallstype, kan du optimalisere DAX-en slik at den gir bedre resultater.
Konklusjon
DAX-optimalisering starter i DAX Studio ved hjelp av VertiPaq Analyzer. I analysatorberegningene vil du se hvordan tabeller og kolonner fungerer, og bestemme hvilken enhet som må optimaliseres og forbedres mer.
Hvis du vil finne ut hvilken del av koden som bremser kodens ytelse, bruk VertiPaq Analyzer. Det vil garantert gjøre din DAX bedre.
Nickligh
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.