CROSSJOIN DAX-funksjon: Servertiming og spørringsplan

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.

CROSSJOIN DAX-funksjon: Servertiming og spørringsplan

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.

CROSSJOIN DAX-funksjon: Servertiming og spørringsplan

CROSSJOIN DAX-funksjon: Servertiming og spørringsplan

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.

CROSSJOIN DAX-funksjon: Servertiming og spørringsplan

Når dataene er mottatt, itererer Formula Engine over tabellen og produserer en kombinasjon av begge kolonnene. CrossApply i linje 2 tilsvarer funksjonen CROSSJOIN.

CROSSJOIN DAX-funksjon: Servertiming og spørringsplan

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 .

CROSSJOIN DAX-funksjon: Servertiming og spørringsplan

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 DAX-funksjon: Servertiming og spørringsplan

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.

CROSSJOIN DAX-funksjon: Servertiming og spørringsplan

Derfor må du plassere FILTER-funksjonen i CROSSJOIN-argumentet for at filteret skal fungere.

CROSSJOIN DAX-funksjon: Servertiming og spørringsplan

Hvis du nå kjører denne koden og sjekker fanen Server Timings, vil du se at FILTER-funksjonen nå er representert av WHERE-leddet.

CROSSJOIN DAX-funksjon: Servertiming og spørringsplan

I den logiske spørreplanen kan du se at filteret VertiPaq brukes i stedet for filteroperatøren .

CROSSJOIN DAX-funksjon: Servertiming og spørringsplan

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.

CROSSJOIN DAX-funksjon: Servertiming og spørringsplan

CROSSJOIN DAX-funksjon: Servertiming og spørringsplan

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.

CROSSJOIN DAX-funksjon: Servertiming og spørringsplan

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.

CROSSJOIN DAX-funksjon: Servertiming og spørringsplan

I fanen Server Timings velger koden først merke og farge. Den oppsummerer deretter produktet av kvantitet og netto salgspris.

CROSSJOIN DAX-funksjon: Servertiming og spørringsplan

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.

CROSSJOIN DAX-funksjon: Servertiming og spørringsplan

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.

CROSSJOIN DAX-funksjon: Servertiming og spørringsplan

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,


Løs en dataanalyseutfordring med LuckyTemplates Accelerator

Løs en dataanalyseutfordring med LuckyTemplates Accelerator

Utvid rapportutviklingsferdighetene dine ved å bli med i en dataanalyseutfordring. Akseleratoren kan hjelpe deg å bli en LuckyTemplates-superbruker!

Løpende totaler i LuckyTemplates ved hjelp av DAX

Løpende totaler i LuckyTemplates ved hjelp av DAX

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.

LuckyTemplates Dax-variabler er konstante: Hva betyr dette?

LuckyTemplates Dax-variabler er konstante: Hva betyr dette?

Forstå konseptet med variabler i DAX i LuckyTemplates og implikasjonene av variabler for hvordan målene dine beregnes.

LuckyTemplates Slope Chart: En oversikt

LuckyTemplates Slope Chart: En oversikt

Lær mer om det tilpassede visuelle bildet kalt LuckyTemplates Slope-diagram, som brukes til å vise økning/reduksjon for en enkelt eller flere beregninger.

LuckyTemplates fargetemaer for enhetlige visualiseringer

LuckyTemplates fargetemaer for enhetlige visualiseringer

Oppdag fargetemaene i LuckyTemplates. Disse er avgjørende for at rapportene og visualiseringene dine skal se ut og fungere sømløst.

Beregne gjennomsnitt i LuckyTemplates: Isolere ukedag- eller helgeresultater ved hjelp av DAX

Beregne gjennomsnitt i LuckyTemplates: Isolere ukedag- eller helgeresultater ved hjelp av DAX

Å beregne et gjennomsnitt i LuckyTemplates kan gjøres på mange måter for å gi deg nøyaktig informasjon for bedriftsrapportene dine.

LuckyTemplates Theming | LuckyTemplates Desktop Standard Theming

LuckyTemplates Theming | LuckyTemplates Desktop Standard Theming

La oss fordype oss i Standard LuckyTemplates-tema, og gjennomgå noen av funksjonene som er innebygd i selve LuckyTemplates Desktop-applikasjonen.

LuckyTemplates Map Visual: Hvordan lage og legge til en egendefinert legende i LuckyTemplates

LuckyTemplates Map Visual: Hvordan lage og legge til en egendefinert legende i LuckyTemplates

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.

LuckyTemplates bakgrunnsbilde for rapporter som bruker PPT

LuckyTemplates bakgrunnsbilde for rapporter som bruker PPT

Lær hvordan du setter opp et LuckyTemplates-bakgrunnsbilde ved hjelp av PowerPoint. Dette er en av teknikkene mine for å lage mine LuckyTemplates-rapporter.

Anskaffelsesbeslutningsmodell og analyse i LuckyTemplates

Anskaffelsesbeslutningsmodell og analyse i LuckyTemplates

I denne opplæringen skal vi dykke ned i noen innkjøpsanalyser i en organisasjon, ved å bruke en interaksjonsfunksjon og kraften til datamodellen.