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,


DAX Studio EVALUATE Nøkkelord: Grunnleggende eksempler

DAX Studio EVALUATE Nøkkelord: Grunnleggende eksempler

Lær å bruke DAX Studio EVALUATE nøkkelordet med grunnleggende eksempler og få en bedre forståelse av hvordan dette kan hjelpe deg med databehandling.

Opprette en datotabell i LuckyTemplates

Opprette en datotabell i LuckyTemplates

Finn ut hvorfor det er viktig å ha en dedikert datotabell i LuckyTemplates, og lær den raskeste og mest effektive måten å gjøre det på.

LuckyTemplates Mobile Reporting Tips og teknikker

LuckyTemplates Mobile Reporting Tips og teknikker

Denne korte opplæringen fremhever LuckyTemplates mobilrapporteringsfunksjon. Jeg skal vise deg hvordan du kan utvikle rapporter effektivt for mobil.

Profesjonelle tjenesteanalyserapporter i LuckyTemplates

Profesjonelle tjenesteanalyserapporter i LuckyTemplates

I denne LuckyTemplates-utstillingen vil vi gå gjennom rapporter som viser profesjonell tjenesteanalyse fra et firma som har flere kontrakter og kundeengasjementer.

Microsoft Power Platform-oppdateringer | Microsoft Ignite 2021

Microsoft Power Platform-oppdateringer | Microsoft Ignite 2021

Gå gjennom de viktigste oppdateringene for Power Apps og Power Automate og deres fordeler og implikasjoner for Microsoft Power Platform.

Vanlige SQL-funksjoner: en oversikt

Vanlige SQL-funksjoner: en oversikt

Oppdag noen vanlige SQL-funksjoner som vi kan bruke som streng, dato og noen avanserte funksjoner for å behandle eller manipulere data.

LuckyTemplates Template Creation: Guide og tips

LuckyTemplates Template Creation: Guide og tips

I denne opplæringen lærer du hvordan du lager din perfekte LuckyTemplates-mal som er konfigurert til dine behov og preferanser.

Feltparametre og små multipler i LuckyTemplates

Feltparametre og små multipler i LuckyTemplates

I denne bloggen vil vi demonstrere hvordan du legger feltparametere sammen med små multipler for å skape utrolig nyttig innsikt og grafikk.

LuckyTemplates-rangering og tilpasset gruppering

LuckyTemplates-rangering og tilpasset gruppering

I denne bloggen vil du lære hvordan du bruker LuckyTemplates rangering og tilpassede grupperingsfunksjoner for å segmentere et eksempeldata og rangere det i henhold til kriterier.

Viser kun kumulativ total opp til en bestemt dato i LuckyTemplates

Viser kun kumulativ total opp til en bestemt dato i LuckyTemplates

I denne opplæringen skal jeg dekke en spesifikk teknikk rundt hvordan du viser kumulativ total kun opp til en bestemt dato i grafikken i LuckyTemplates.