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.
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,
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.
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å.
Denne korte opplæringen fremhever LuckyTemplates mobilrapporteringsfunksjon. Jeg skal vise deg hvordan du kan utvikle rapporter effektivt for mobil.
I denne LuckyTemplates-utstillingen vil vi gå gjennom rapporter som viser profesjonell tjenesteanalyse fra et firma som har flere kontrakter og kundeengasjementer.
Oppdag noen vanlige SQL-funksjoner som vi kan bruke som streng, dato og noen avanserte funksjoner for å behandle eller manipulere data.
Gå gjennom de viktigste oppdateringene for Power Apps og Power Automate og deres fordeler og implikasjoner for Microsoft Power Platform.
I denne bloggen vil vi demonstrere hvordan du legger feltparametere sammen med små multipler for å skape utrolig nyttig innsikt og grafikk.
I denne opplæringen lærer du hvordan du lager din perfekte LuckyTemplates-mal som er konfigurert til dine behov og preferanser.
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.
Lær hvordan du oppretter og tilpasser punktdiagrammer i LuckyTemplates, som hovedsakelig brukes til å måle ytelse mot mål eller tidligere år.