CALCULATETABLE
Koskee seuraavia:Laskettu sarake
Laskettu taulukko
Mittayksikkö
Visuaalinen laskenta -
Laskee taulukkolausekkeen muokatussa suodatinkontekstissa.
Muistiinpano
Saatavilla on myös CALCULATE funktio. Se suorittaa täsmälleen samat toiminnot, paitsi että se muokkaa suodatinkontekstia, käytetty lausekkeeseen, joka palauttaa skalaariarvon.
Syntaksi
CALCULATETABLE(<expression>[, <filter1> [, <filter2> [, …]]])
Parametrit
Termi | Määritelmä |
---|---|
expression |
Laskettava taulukkolauseke. |
filter1, filter2,… |
(Valinnainen) Totuusarvolausekkeet tai taulukkolausekkeet, jotka määrittävät suodattimia tai suodattimen muokkausfunktioita. |
Ensimmäisenä parametrina käytettävän lausekkeen on oltava mallitaulukko tai funktio, joka palauttaa taulukon.
Suodattimet voivat olla seuraavat:
- Totuusarvosuodatinlausekkeet
- Taulukkosuodatinlausekkeet
- Suodattimen muokkausfunktiot
Kun suodattimia on useita, ne arvioidaan käyttämällä ANDloogista operaattoria. Tämä tarkoittaa sitä, että kaikki ehdot on TRUE
samanaikaisesti.
Totuusarvosuodatinlausekkeet
Ehtolausekesuodatin on lauseke, joka antaa tulokseksi TRUE
tai FALSE
. Niiden on noudatettava useita sääntöjä:
- Ne voivat viitata vain yhteen sarakkeeseen.
- Ne eivät voi viitata mittareihin.
- Ne eivät voi käyttää sisäkkäistä CALCULATE funktiota.
Power BI Desktopin syyskuun 2021 versiosta alkaen myös seuraavat ovat voimassa:
- Ne eivät voi käyttää funktioita, jotka skannaavat tai palauttavat taulukon, ellei niitä välitetä argumentteina koostamisfunktioihin.
- Ne voivat sisältää koostefunktion, joka palauttaa skalaariarvon.
Taulukkosuodatinlauseke
Taulukkolausekesuodatin käyttää suodattimena taulukko-objektia. Se voi olla viittaus mallitaulukkoon, mutta todennäköisempää on, että se on funktio, joka palauttaa taulukko-objektin. voit käyttää FILTER-funktiota monimutkaisten suodatusehtojen käyttämiseen, mukaan lukien ne, joita ei voida määrittää totuusarvosuodatinlausekkeella.
Suodattimen muokkausfunktiot
Suodattimen muokkausfunktioiden avulla voit tehdä muutakin kuin vain lisätä suodattimia. Ne tarjoavat lisäohjausobjektin suodatinkontekstin muokkaamiseen.
Funktio | Tarkoitus |
---|---|
REMOVEFILTERS | Poista kaikki suodattimet tai suodattimet yhdestä tai useammasta taulukon sarakkeesta tai yksittäisen taulukon kaikista sarakkeista. |
ALL 1, ALLEXCEPT, ALLNOBLANKROW | Poista suodattimet yhdestä tai useammasta sarakkeesta tai yhden taulukon kaikista sarakkeista. |
KEEPFILTERS | Lisää suodatin poistamatta samojen sarakkeiden aiemmin luotuja suodattimia. |
USERELATIONSHIP | Ota passiivinen yhteys käyttöön liittyvien sarakkeiden välillä, jolloin aktiivinen yhteys poistetaan automaattisesti käytöstä. |
CROSSFILTER | Muokkaa suodattimen suuntaa (molemmista yksittäiseen tai yksittäisestä molempiin) tai poista suhde käytöstä. |
1ALL-funktio ja sen variantit toimivat sekä suodattimen muokkaajina että funktioina, jotka palauttavat taulukko-objekteja. Jos työkalu tukee REMOVEFILTERS funktiota, on parempi käyttää sitä suodattimien poistamiseen.
Palautusarvo
Arvotaulukko.
Huomautuksia
Kun suodatinlausekkeita annetaan, CALCULATETABLE-funktio muokkaa suodatinkontekstia lausekkeen arvioimiseksi. Kullekin suodatinlausekkeelle on kaksi mahdollista vakiotulosta, kun suodatinlauseketta ei ole pakattu KEEPFILTERS-funktioon:
- Jos sarakkeet (tai taulukot) eivät ole suodatinkontekstissa, suodatinkontekstiin lisätään uusia suodattimia lausekkeen arvioimiseksi.
- Jos sarakkeet (tai taulukot) ovat jo suodatinkontekstissa, uudet suodattimet korvaavat olemassa olevat suodattimet CALCULATETABLE lausekkeen arvioimiseksi.
Tätä funktiota ei tueta DirectQuery-tilassa lasketuissa sarakkeissa tai rivitason suojauksen (RLS) säännöissä käytettäväksi.
Esimerkki
Seuraavassa esimerkissä käytetään CALCULATETABLE-funktiota vuoden 2006 Internet-myynnin summan noutamiseen. Tätä arvoa käytetään myöhemmin vuoden 2006 Internet-myynnin osuuden laskemiseksi vuoden kokonaismyynnistä.
Seuraava kaava:
= SUMX(
CALCULATETABLE(
'InternetSales_USD',
'DateTime'[CalendarYear] = 2006
),
[SalesAmount_USD]
)
Tuloksena on seuraava taulukko:
Riviotsikot | Internet SalesAmount_USD | CalculateTable 2006 Internet-myynti | Internet-myynnin osuus vuonna 2006 |
---|---|---|---|
2005 | 2 627 031,40 dollaria | 5 681 440,58 dollaria | 0.46 |
2006 | 5 681 440,58 dollaria | 5 681 440,58 dollaria | 1.00 |
2007 | 8 705 066,67 dollaria | 5 681 440,58 dollaria | 1.53 |
2008 | 9 041 288,80 dollaria | 5 681 440,58 dollaria | 1.59 |
Loppusumma | 26 054 827,45 dollaria | 5 681 440,58 dollaria | 4.59 |