Løs en dataanalyseutfordring med LuckyTemplates Accelerator
Utvid rapportutviklingsferdighetene dine ved å bli med i en dataanalyseutfordring. Akseleratoren kan hjelpe deg å bli en LuckyTemplates-superbruker!
I denne opplæringen lærer du hvordanfunksjonen fungerer i DAX ved å bruke ruten Server Timings og spørringsplanen.
CROSSJOIN-funksjonen kan brukes til å lage et kartesisk produkt av to tabeller. Et kartesisk produkt er et sett med alle mulige kombinasjoner av rader fra to eller flere tabeller.
Nedenfor vil bli brukt i denne opplæringen.
Du kan se at CROSSJOIN-funksjonen resulterer i en kombinasjon av produktet Brand og Color selv om noen av disse kombinasjonene ikke finnes i . Dette resulterer i en tabell med totalt 176 rader.
I Server Timings-fanen henter den første spørringen merkevaren fra produkttabellen, mens den andre spørringen henter fargen.
I den, returnerer den første linjen resultatet i form av en tabell. Den andre og tredje linjen i produkttabellen skanner henholdsvis farge og merke.
Når dataene er mottatt, itererer Formula Engine over tabellen og produserer en kombinasjon av begge kolonnene. CrossApply i linje 2 tilsvarer funksjonen CROSSJOIN.
Innholdsfortegnelse
Filter CROSSJOIN-resultater i DAX
Du kan brukefunksjon for å filtrere resultatene av en CROSSJOIN. Du kan for eksempel bruke den til kun å vise produkter som er røde.
Husk imidlertid at du ikke kan plassere en CROSSJOIN-funksjon i et FILTER-argument .
Hvis du nå kjører denne koden og sjekker Server Timings-fanen, vil du se at filterkonteksten ikke vises som en WHERE-klausul i spørringen.
CROSSJOIN-funksjonen kan bare løses av . Koden fungerer ikke siden den kommer mellom FILTER og som er funksjoner som bare kan løses av . Dermed fikk CROSSJOIN sløyfen mellom disse to funksjonene til å bryte.
Derfor må du plassere FILTER-funksjonen i CROSSJOIN-argumentet for at filteret skal fungere.
Hvis du nå kjører denne koden og sjekker fanen Server Timings, vil du se at FILTER-funksjonen nå er representert av WHERE-leddet.
I den logiske spørreplanen kan du se at filteret VertiPaq brukes i stedet for filteroperatøren .
Dette er fordi den nye filterbetingelsen i koden kan skyves ned til Storage Engine. Etter at resultatet er returnert, utføres CROSSJOIN-argumentet inne i Formula Engine.
IN-operatøren
Du kan også brukeoperator i stedet for likhetstegnet i et FILTER-argument.
IN-operatoren kan brukes i uttrykksargumentet til FILTER-funksjonen for å filtrere en tabell basert på om en verdi finnes i en liste med verdier eller i en tabell.
Når du bruker FILTER – I kombinasjon, må DAX-motoren utføre et IsEmpty- filter som bekrefter om produktfargen er rød eller svart.
Legg til totalt salgskolonne i CROSSJOIN DAX-resultat
Andre funksjoner kan også brukes sammen med CROSSJOIN.
Du kan bruke funksjonen til å legge til en kolonne til i tabellen og deretter skrive argumentet til informasjonen du vil vise.
I dette eksemplet, la oss legge til en kolonne for totalt salg.
Når du kjører koden, vil resultatene fortsatt returnere 176 rader. Noen kombinasjoner vil imidlertid ha tomme verdier i kolonnen Totalt salg. Dette er fordi disse kombinasjonene ikke har en tilsvarende rad i Sales-tabellen.
I fanen Server Timings velger koden først merke og farge. Den oppsummerer deretter produktet av kvantitet og netto salgspris.
I dette tilfellet henter DAX-motoren først alle kombinasjonene av merke og farge som finnes inne i produkttabellen, sammen med de med en tilsvarende rad i salgstabellen. Deretter henter den merke- og fargekolonnene separat.
I den fysiske spørringsplanen kan du se to databuffere; en for merket, og en annen for fargen. Når du multipliserer deres totale rekorder, får du 176 rader.
Deretter utføres et oppslag på de 176 radene for å se om de har en tilsvarende verdi i salgstabellen. Du kan se at bare 111 rader har verdier. De andre 65 radene vil returnere blanke felter.
Dessuten, hvis du legger til flere kolonner i CROSSJOIN-argumentet, vil resultatet også returnere flere rader.
Konklusjon
DAX CROSSJOIN-funksjonen genererer en ny tabell ved å kombinere rader fra en tabell med radene fra en annen. Denne funksjonen ligner på CROSS JOIN-klausulen i SQL og kan brukes til å lage mer komplekse spørringer i datamodellen din.
Den kan generere en liste over alle mulige verdikombinasjoner fra to eller flere tabeller. Den kan også brukes til raskt å lage en ny tabell med et stort antall rader, noe som kan være nyttig for dataanalyse, testing eller ytelsesbenchmarking.
Totalt sett er CROSSJOIN-funksjonen et hendig verktøy i scenarier der du trenger å kombinere data fra flere tabeller eller generere en liste over alle mulige kombinasjoner.
Beste ønsker,
Utvid rapportutviklingsferdighetene dine ved å bli med i en dataanalyseutfordring. Akseleratoren kan hjelpe deg å bli en LuckyTemplates-superbruker!
Lær hvordan du beregner løpende totaler i LuckyTemplates ved hjelp av DAX. Løpende totaler lar deg ikke bli fanget opp i et individuelt resultat.
Forstå konseptet med variabler i DAX i LuckyTemplates og implikasjonene av variabler for hvordan målene dine beregnes.
Lær mer om det tilpassede visuelle bildet kalt LuckyTemplates Slope-diagram, som brukes til å vise økning/reduksjon for en enkelt eller flere beregninger.
Oppdag fargetemaene i LuckyTemplates. Disse er avgjørende for at rapportene og visualiseringene dine skal se ut og fungere sømløst.
Å beregne et gjennomsnitt i LuckyTemplates kan gjøres på mange måter for å gi deg nøyaktig informasjon for bedriftsrapportene dine.
La oss fordype oss i Standard LuckyTemplates-tema, og gjennomgå noen av funksjonene som er innebygd i selve LuckyTemplates Desktop-applikasjonen.
I denne opplæringen lærer du hvordan du bygger en egendefinert legende i en LuckyTemplates Map Visual for å vise dine foretrukne farger og segmentering.
Lær hvordan du setter opp et LuckyTemplates-bakgrunnsbilde ved hjelp av PowerPoint. Dette er en av teknikkene mine for å lage mine LuckyTemplates-rapporter.
I denne opplæringen skal vi dykke ned i noen innkjøpsanalyser i en organisasjon, ved å bruke en interaksjonsfunksjon og kraften til datamodellen.