CROSSJOIN DAX Funktion: Server Timings & Query Plan

I denne vejledning lærer du, hvordanfunktion fungerer i DAX ved hjælp af Server Timings-ruden og dens forespørgselsplan.

CROSSJOIN-funktionen kan bruges til at skabe et kartesisk produkt af to tabeller. Et kartesisk produkt er et sæt af alle mulige kombinationer af rækker fra to eller flere tabeller.

Nedenstående vil blive brugt i denne tutorial.

CROSSJOIN DAX Funktion: Server Timings & Query Plan

Du kan se, at CROSSJOIN-funktionen resulterer i en kombination af produktet Brand og Color, selvom nogle af disse kombinationer ikke findes i . Dette resulterer i en tabel med i alt 176 rækker.

På fanen Server Timings henter den første forespørgsel mærket fra tabellen Produkter, mens den anden forespørgsel henter farven.

CROSSJOIN DAX Funktion: Server Timings & Query Plan

CROSSJOIN DAX Funktion: Server Timings & Query Plan

I den første linje returnerer resultatet i form af en tabel. Den anden og tredje linje i produkttabellen scanner henholdsvis farve og mærke.

CROSSJOIN DAX Funktion: Server Timings & Query Plan

Når dataene er modtaget, itererer Formula Engine over tabellen og producerer en kombination af begge kolonner. CrossApply i linje 2 svarer til CROSSJOIN-funktionen.

CROSSJOIN DAX Funktion: Server Timings & Query Plan

Indholdsfortegnelse

Filter CROSSJOIN resultater i DAX

Du kan brugefunktion til at filtrere resultaterne af en CROSSJOIN. For eksempel kan du bruge det til kun at vise produkter, der er røde.

Husk dog, at du ikke kan placere en CROSSJOIN-funktion i et FILTER-argument .

CROSSJOIN DAX Funktion: Server Timings & Query Plan

Hvis du nu kører denne kode og tjekker fanen Server Timings, vil du se, at filterkonteksten ikke vises som en WHERE-sætning i forespørgslen.

CROSSJOIN DAX Funktion: Server Timings & Query Plan

CROSSJOIN-funktionen kan kun løses af . Koden virker ikke, da den kommer mellem FILTER og som er funktioner, der kun kan løses af . Således fik CROSSJOIN sløjfen mellem disse to funktioner til at bryde.

CROSSJOIN DAX Funktion: Server Timings & Query Plan

Derfor skal du placere FILTER-funktionen i CROSSJOIN-argumentet for at filteret kan fungere.

CROSSJOIN DAX Funktion: Server Timings & Query Plan

Hvis du nu kører denne kode og tjekker fanen Server Timings, vil du se, at FILTER-funktionen nu er repræsenteret af WHERE-sætningen.

CROSSJOIN DAX Funktion: Server Timings & Query Plan

I den logiske forespørgselsplan kan du se, at i stedet for filteroperatøren bruges Filter VertiPaq .

CROSSJOIN DAX Funktion: Server Timings & Query Plan

Dette skyldes, at den nye filtertilstand i koden kan skubbes ned til Storage Engine. Efter at resultatet er returneret, udføres CROSSJOIN-argumentet derefter inde i Formula Engine.

IN-operatøren

Du kan også brugeoperator i stedet for lighedstegnet i et FILTER-argument.

IN-operatoren kan bruges i udtryksargumentet for FILTER-funktionen til at filtrere en tabel baseret på, om en værdi er indeholdt i en liste med værdier eller i en tabel.

CROSSJOIN DAX Funktion: Server Timings & Query Plan

CROSSJOIN DAX Funktion: Server Timings & Query Plan

Når du bruger FILTER – I kombination, skal DAX-motoren udføre et IsEmpty- filter, som bekræfter, om produktfarven er rød eller sort.

Tilføj samlet salgskolonne i CROSSJOIN DAX-resultat

Andre funktioner kan også bruges sammen med CROSSJOIN.

Du kan bruge funktionen til at tilføje endnu en kolonne i din tabel og derefter skrive argumentet for den information, du vil vise.

Lad os i dette eksempel tilføje en kolonne i alt salg.

CROSSJOIN DAX Funktion: Server Timings & Query Plan

Når du kører koden, vil resultaterne stadig returnere 176 rækker. Nogle kombinationer vil dog have tomme værdier i kolonnen Samlet salg. Dette skyldes, at disse kombinationer ikke har en tilsvarende række i salgstabellen.

CROSSJOIN DAX Funktion: Server Timings & Query Plan

På fanen Server Timings vælger koden først mærke og farve. Det opsummerer derefter produktet af mængden og salgsnettoprisen.

CROSSJOIN DAX Funktion: Server Timings & Query Plan

I dette tilfælde henter DAX-motoren først alle de kombinationer af mærke og farve, der findes inde i produkttabellen, sammen med dem med en tilsvarende række i salgstabellen. Derefter henter den mærke- og farvekolonnerne separat.

I den fysiske forespørgselsplan kan du se to datacaches; en for mærket og en anden for farven. Når du multiplicerer deres samlede rekorder, får du 176 rækker.

CROSSJOIN DAX Funktion: Server Timings & Query Plan

Derefter udføres et opslag på disse 176 rækker for at se, om de har en tilsvarende værdi i salgstabellen. Du kan se, at kun 111 rækker har værdier. De øvrige 65 rækker vil returnere blanke.

Desuden, hvis du tilføjer flere kolonner i CROSSJOIN-argumentet, vil resultatet også returnere flere rækker.

CROSSJOIN DAX Funktion: Server Timings & Query Plan

Konklusion

DAX CROSSJOIN-funktionen genererer en ny tabel ved at kombinere rækker fra en tabel med rækker fra en anden. Denne funktion ligner CROSS JOIN-sætningen i SQL og kan bruges til at oprette mere komplekse forespørgsler i din datamodel.

Det kan generere en liste over alle mulige værdikombinationer fra to eller flere tabeller. Det kan også bruges til hurtigt at oprette en ny tabel med et stort antal rækker, hvilket kan være nyttigt til dataanalyse, test eller performance benchmarking.

Samlet set er CROSSJOIN-funktionen et praktisk værktøj i scenarier, hvor du skal kombinere data fra flere tabeller eller generere en liste over alle mulige kombinationer.

Alt det bedste,

Leave a Comment

Oplev unik indsigt ved hjælp af LuckyTemplates TOPN-funktion

Oplev unik indsigt ved hjælp af LuckyTemplates TOPN-funktion

Denne blog indeholder LuckyTemplates TOPN DAX-funktionen, som giver dig mulighed for at få unik indsigt fra dine data, hvilket hjælper dig med at træffe bedre markedsføringsbeslutninger.

Oprettelse af en datotabel i LuckyTemplates

Oprettelse af en datotabel i LuckyTemplates

Find ud af, hvorfor det er vigtigt at have en dedikeret datotabel i LuckyTemplates, og lær den hurtigste og mest effektive måde at gøre det på.

LuckyTemplates Mobile Reporting Tips og teknikker

LuckyTemplates Mobile Reporting Tips og teknikker

Denne korte vejledning fremhæver LuckyTemplates mobilrapporteringsfunktion. Jeg vil vise dig, hvordan du kan udvikle rapporter effektivt til mobilenheder.

Professionelle serviceanalyserapporter i LuckyTemplates

Professionelle serviceanalyserapporter i LuckyTemplates

I denne LuckyTemplates Showcase gennemgår vi rapporter, der viser professionel serviceanalyse fra et firma, der har flere kontrakter og kundeengagementer.

Microsoft Power Platform-opdateringer | Microsoft Ignite 2021

Microsoft Power Platform-opdateringer | Microsoft Ignite 2021

Gå gennem de vigtigste opdateringer til Power Apps og Power Automate og deres fordele og implikationer for Microsoft Power Platform.

Almindelige SQL-funktioner: En oversigt

Almindelige SQL-funktioner: En oversigt

Opdag nogle almindelige SQL-funktioner, som vi kan bruge, såsom streng, dato og nogle avancerede funktioner til at behandle eller manipulere data.

LuckyTemplates skabelonoprettelse: Guide og tips

LuckyTemplates skabelonoprettelse: Guide og tips

I denne tutorial lærer du, hvordan du opretter din perfekte LuckyTemplates-skabelon, der er konfigureret til dine behov og præferencer.

Feltparametre og små multipler i LuckyTemplates

Feltparametre og små multipler i LuckyTemplates

I denne blog vil vi demonstrere, hvordan man lagdelte feltparametre med små multipler for at skabe utrolig nyttig indsigt og visuals.

LuckyTemplates-rangering og brugerdefineret gruppering

LuckyTemplates-rangering og brugerdefineret gruppering

I denne blog vil du lære, hvordan du bruger LuckyTemplates rangerings- og brugerdefinerede grupperingsfunktioner til at segmentere et eksempeldata og rangordne det efter kriterier.

Viser kun kumulativ total op til en bestemt dato i LuckyTemplates

Viser kun kumulativ total op til en bestemt dato i LuckyTemplates

I denne tutorial vil jeg dække en specifik teknik omkring, hvordan du kun viser Kumulativ Total op til en bestemt dato i dine visuals i LuckyTemplates.