Esittely
Seuraavasta videosta saat tietoja iteraattorifunktioista.
DAX (Data Analysis Expressions) sisältää funktioperheen, jota kutsutaan iteraattorifunktioiksi. Iteraattorifunktiot luettelevat kaikki tietyn taulukon rivit ja arvioivat tietyn lausekkeen kullekin riville. Niiden avulla voit joustavasti hallita sitä, miten mallisi laskutoimitukset tekevät yhteenvedon tiedoista.
Nyt olet tutustunut yhden sarakkeen yhteenvetofunktioihin, kuten SUM
, COUNT
, MIN
MAX
, ja muihin. Jokaisella näistä funktioista on vastaava iteraattorifunktio, joka tunnistetaan X-jälkiliitteessä, kuten SUMX
, COUNTX
, MINX
MAXX
, ja muut. Lisäksi on olemassa erikoistuneita iteraattorifunktioita, jotka suorittavat esimerkiksi suodatus- ja sijoitustoimintoja ja puolittain lisääviä laskutoimituksia suhteessa aikaan.
Iteraattorifunktioille luonteenomaisesti sinun on välitettävä siihen taulukko ja lauseke. Taulukko voi olla mallitaulukon viittaus tai lauseke, joka palauttaa taulukko-objektin. Lausekkeen tulee antaa tulokseksi skalaariarvo.
Yhden sarakkeen yhteenvetofunktiot, kuten SUM
, ovat tiivistelmäfunktioita. Sisäisesti Microsoft Power BI muuntaa funktion SUM
muotoon SUMX
. Tämän seurauksena seuraavat kaksi mittarimääritystä tuottavat saman tuloksen samalla suorituskyvyllä.
Revenue = SUM(Sales[Sales Amount])
Revenue =
SUMX(
Sales,
Sales[Sales Amount]
)
On tärkeää ymmärtää, miten konteksti toimii iteraattorifunktioissa. Koska iteraattorifunktiot luetteloivat taulukon rivejä, lauseke arvioidaan jokaista riviä varten rivikontekstissa samaan tapaan kuin laskettujen sarakkeiden kaavoissa. Taulukko arvioidaan suodatinkontekstissa, joten jos käytät edellistä Tuotto-mittarin määritysesimerkkiä ja raportin visualisointi suodatettiin tilikauden FY2020 mukaan, Myynti-taulukko sisältää myyntirivit, jotka tilattiin kyseisenä vuonna. Suodatinkonteksti on kuvattu suodatinkontekstimoduulissa.
Tärkeä
Kun käytät iteraattorifunktioita, varmista, että et käytä suuria (riveistä koostuvia) taulukoita, joissa on laajoja DAX-funktioita käyttäviä lausekkeita. Jotkin funktiot, kuten SEARCH
DAX-funktio, joka tarkistaa tiettyjä merkkejä tai tekstiä hakevan tekstiarvon, voivat hidastaa suorituskykyä.
LOOKUPVALUE
DAX-funktio saattaa myös aiheuttaa arvojen hitaan rivittäisen noutamisen. Käytä tässä toisessa tapauksessa RELATED
sen sijaan DAX-funktiota aina, kun se on mahdollista.