Työskentely toistuvien funktioiden kanssa DAX:ssa

Olen nähnyt DAX:n iterointitoimintojen hämmennystä aina, kun työskentelen LuckyTemplates-jäsenten kanssa foorumilla. Joten teemme katsauksen siitä, mitä näiden toimintojen avulla voidaan saavuttaa ja miksi sinun pitäisi käyttää niitä. Voit katsoa tämän opetusohjelman koko videon tämän blogin alaosasta.

Kun opit lisää DAX- kaavoja, käytät näitä iterointifunktioita paljon enemmän kuin uskotkaan. Ne ovat paljon monipuolisempia kuin yksinkertaiset aggregointifunktiot, kuten SUM tai AVERAGE .

Minulla on tässä muutamia esimerkkejä, ja haluan käydä läpi kunkin esimerkin logiikan, jotta saat erittäin hyvän käsityksen siitä, mitä todella tapahtuu, kun logiikkaa ajetaan näiden kaavojen kautta.

Avainasia iterointifunktioissa on , että ne iteroivat jotain.

Sisällysluettelo

Yksinkertainen iterointi SUMX:n avulla

Työskentely toistuvien funktioiden kanssa DAX:ssa

Tässä tapauksessa haluan tehdä yhteenvedon, mutta haluan toistaa tämän myyntitaulukon jokaisen rivin.

Työskentely toistuvien funktioiden kanssa DAX:ssa

Ja sitten jokaisella rivillä haluan käyttää tätä erityistä logiikkaa täällä.

Työskentely toistuvien funktioiden kanssa DAX:ssa

Siirrytään nopeasti hyvin yksinkertaiseen myyntitaulukkoomme, jossa haluan käyttää logiikkaa jokaisella rivillä. Ja sitten haluan kertoa määrän hinnalla.

Työskentely toistuvien funktioiden kanssa DAX:ssa

Hintaa ei ole tässä taulukossa. Ja tässä mallissa se on itse asiassa tuotetaulukossa.

Työskentely toistuvien funktioiden kanssa DAX:ssa

Seuraavaksi minun on palattava tuotetaulukkooni ja voin tehdä sen RELATED- sovelluksella . Kun laskemme määrän kertaa asianmukainen hinta, teemme tämän jokaiselle riville. Juuri tätä tapahtuu tämän kaavan sisällä.

Nämä ovat avainkäsitteitä, jotka tulee muistaa, kun alamme tehdä edistyneempiä asioita.

Vaihtoehtoinen tapa saada myyntiä SUMX:n avulla

Työskentely toistuvien funktioiden kanssa DAX:ssa

Tässä esimerkissä minulla ontoista myyntitaulukkoa uudelleen. Joten käytämme tätä logiikkaa jokaisella rivillä ja laskemme määrän kertaa hinta jokaisella rivillä ja aggregoimme sen sitten, kun kaikki iteraatiot on tehty.

Työskentely toistuvien funktioiden kanssa DAX:ssa

Tässä näet, että tämä tulos on täsmälleen sama kuin ensimmäisen esimerkin tulokset (SUMX Tutorial 2) tai kokonaismyynti.

Voit sijoittaa tähän monia erilaisia ​​asioita – se voi olla mitta ja voit haarautua iterointitoiminnolla. Sinun ei tarvitse viitata tiettyihin sarakkeisiin saadaksesi laskelmat oikein.

Työskentely toistuvien funktioiden kanssa DAX:ssa

Kuten näet tästä, olen tehnyt vain mittarin (Total Sales) tähän ja saan täsmälleen saman tuloksen.

SUMX ja loogiset funktiot

Työskentely toistuvien funktioiden kanssa DAX:ssa

Käytän täällä SUMX:ää , mutta se on myös relevanttia, MINX ja MAXX . Ne ovat kaikki hyvin samanlaisia ​​asioita.

Toinen tärkeä asia muistaa näillä iterointifunktioilla on, että ne suorittavat logiikkaa jokaisella rivillä, ja se tallentaa tuloksen muistiin.

Kun kaikki nämä arvot on tallennettu muistiin, tehdään kattava laskutoimitus – kuten SUMMA tai KESKIMÄÄRÄ .

Työskentely toistuvien funktioiden kanssa DAX:ssa

Takaisin esimerkkiimme, näet tästä, että tämän sarakkeen summa on hieman pienempi kuin edellisissä sarakkeissa.

Työskentely toistuvien funktioiden kanssa DAX:ssa

SUMX- iterointitoiminnolla haluan iteroida jokaisen myyntitaulukon rivin läpi. Ja jokaisella rivillä haluan laskea, onko kyseinen myynti suurempi kuin 2 000 dollaria. Jos on, haluan laskea kyseisen rivin kokonaismyynnin. Mutta jos myynnin kokonaissumma oli alle 2000 dollaria, haluan palauttaa nollan. Joten haluan vain laskea arvokkaamman myynnin.

Jotkut ihmiset ehdottavat, että voisin vain laittaa logiikan lasketun sarakkeen sisään. Mutta emme halua tehdä niin, koska on paljon parempi tapa käyttää tätä logiikkaa DAX:n sisällä sen sijaan, että laittaisimme sen fyysisesti sarakkeen sisään.

Iterointi taulukoiden kautta

Tässä iterointitoiminnot ovat todella hämmästyttäviä. Et voi vain iteroida fyysisen taulukon läpi, kuten teimme aiemmin, vaan voit myös iteroida jonkin muun parametrina syöttämäsi virtuaalisen taulukon kautta.

Työskentely toistuvien funktioiden kanssa DAX:ssa

Ajattelemme, että jokaisella tuloksella on oma kontekstinsa. Tässä nimenomaisessa tapauksessa meillä on asiakaskonteksti.

Työskentely toistuvien funktioiden kanssa DAX:ssa

Tässä yhteydessä haluan käydä läpi jokaisen yksittäisen sijainnin ja nähdä, onko tietty asiakas saavuttanut yli 5 000 dollarin myynnin.

Jos näin käy, haluan laskea kokonaismyynnin. Mutta jos ei, haluan sen palauttavan nollan.

Työskentely toistuvien funktioiden kanssa DAX:ssa

Joten tässä nimenomaisessa tapauksessa lasken arvokkaat toimipaikat, joista tämä asiakas ostaa, ja heidän kyseisissä sijainneissa tekemänsä kokonaismyynnin.

Työskentely toistuvien funktioiden kanssa DAX:ssa

Mitätekee tässä, se luo virtuaalitaulukon. Joten SUMX ei edes työskentele minkään fyysisen asian parissa. Se toimii itse asiassa täysin virtuaalisen asian parissa.

Yksinkertainen iterointi MINX:n avulla

Työskentely toistuvien funktioiden kanssa DAX:ssa

Tämä on samanlainen kuin aiemmissa esimerkeissä, mutta SUMX:n sijasta aiomme suorittaa jonkin muun tyyppisen aggregoinnin, kun toistamme jokaisen rivin.

Työskentely toistuvien funktioiden kanssa DAX:ssa

Tässä nimenomaisessa tapauksessa kirjoitamme jokaisen asiakkaan jokaisen yksittäisen sijainnin läpi ja laskemme kunkin sijainnin kokonaismyynnin.

Työskentely toistuvien funktioiden kanssa DAX:ssa

Sitten haluamme palauttaa pienimmän summan paikasta, josta he ostivat.

Yksinkertainen iterointi käyttämällä MAXXia

Työskentely toistuvien funktioiden kanssa DAX:ssa

Teen myös täällä samanlaisen asian vain näyttääkseni iterointitoimintojen monipuolisuuden. Käyn läpi jokaisen yksittäisen sijainnin ja katson niiden myyntiä, mutta palautan sitten suurimman osan myynneistä, minkä vuoksi näemme täällä suurempia lukuja.

Johtopäätös

Avainasia, jota halusin käsitellä tässä artikkelissa, on iteroivan funktion sisällä olevien vaihtoehtojen valikoima verrattuna yksinkertaiseen summaan tai keskiarvoon.

Kun alat perehtyä monimutkaisempiin laskelmiin, huomaat, kuinka tärkeitä nämä tietyt funktiot ovat arvojen palauttamisessa kontekstitasolla.

On niin paljon monipuolisuutta ja niin monia tapoja, että voit suorittaa nämä laskelmat käyttämällä yksinkertaista kaavaa, jos vain osaat käsitellä parametreja.

Jos pidit näiden iterointitoimintojen oppimisesta , voit selata näitä linkkejä saadaksesi lisätietoja tästä aiheesta:

Keskeisimmät käsitteet funktioiden toistamiseen LuckyTemplatesissa

Logiikan iterointi virtuaalitaulukoiden kautta – edistyneet DAX-konseptit LuckyTemplatesissa

Nauti työstäsi tämän läpi.


Päivämäärätaulukon luominen LuckyTemplatesissa

Päivämäärätaulukon luominen LuckyTemplatesissa

Ota selvää, miksi LuckyTemplatesissa on tärkeää pitää oma päivämäärätaulukko ja opi nopein ja tehokkain tapa tehdä se.

LuckyTemplates mobiiliraportointivinkkejä ja -tekniikoita

LuckyTemplates mobiiliraportointivinkkejä ja -tekniikoita

Tämä lyhyt opetusohjelma korostaa LuckyTemplates-mobiiliraportointiominaisuutta. Näytän sinulle, kuinka voit kehittää raportteja tehokkaasti mobiililaitteille.

Ammattimainen palveluanalyysiraportit LuckyTemplatesissa

Ammattimainen palveluanalyysiraportit LuckyTemplatesissa

Tässä LuckyTemplates Showcase -esittelyssä käymme läpi raportteja, jotka näyttävät ammattitaitoisen palveluanalytiikan yritykseltä, jolla on useita sopimuksia ja asiakkaiden sitoumuksia.

Microsoft Power Platform -päivitykset | Microsoft Ignite 2021

Microsoft Power Platform -päivitykset | Microsoft Ignite 2021

Käy läpi tärkeimmät Power Appsin ja Power Automaten päivitykset sekä niiden edut ja vaikutukset Microsoft Power Platformiin.

Yleiset SQL-funktiot: Yleiskatsaus

Yleiset SQL-funktiot: Yleiskatsaus

Tutustu joihinkin yleisiin SQL-toimintoihin, joita voimme käyttää, kuten merkkijono, päivämäärä ja joitain lisätoimintoja tietojen käsittelyyn tai käsittelyyn.

LuckyTemplates-mallin luominen: opas ja vinkkejä

LuckyTemplates-mallin luominen: opas ja vinkkejä

Tässä opetusohjelmassa opit luomaan täydellisen LuckyTemplates-mallin, joka on määritetty tarpeidesi ja mieltymystesi mukaan.

Kenttäparametrit ja pienet kertoimet LuckyTemplatesissa

Kenttäparametrit ja pienet kertoimet LuckyTemplatesissa

Tässä blogissa esittelemme, kuinka kerrostat kenttäparametreja pienillä kerroilla uskomattoman hyödyllisten näkemysten ja visuaalien luomiseksi.

LuckyTemplates-sijoitus ja mukautettu ryhmittely

LuckyTemplates-sijoitus ja mukautettu ryhmittely

Tässä blogissa opit käyttämään LuckyTemplates-sijoitus- ja mukautettuja ryhmittelyominaisuuksia näytetietojen segmentoimiseen ja luokitteluun kriteerien mukaan.

LuckyTemplatesissa näytetään vain tiettyyn päivämäärään asti kumulatiivinen kokonaissumma

LuckyTemplatesissa näytetään vain tiettyyn päivämäärään asti kumulatiivinen kokonaissumma

Tässä opetusohjelmassa käsittelen tiettyä tekniikkaa, jolla voit näyttää kumulatiivisen kokonaissumman LuckyTemplates-visuaaleissasi vain tiettyyn päivämäärään asti.

Bullet Charts: Kehittyneet mukautetut visuaalit LuckyTemplatesille

Bullet Charts: Kehittyneet mukautetut visuaalit LuckyTemplatesille

Opi luomaan ja mukauttamaan Bullet-kaavioita LuckyTemplatesissa, joita käytetään pääasiassa suorituskyvyn mittaamiseen suhteessa tavoitteeseen tai edellisiin vuosiin.