CALCULATETABLE
Koskee: Lasketun sarakkeen lasketun taulukon mittarin visuaalinen laskutoimitus
Laskee taulukkolausekkeen muokatussa suodatinkontekstissa.
Muistiinpano
Saatavilla on myös CALCULATE-funktio. Se suorittaa täsmälleen samat toiminnot, mutta se muokkaa suodatinkontekstia, jota käytetään skalaariarvon palauttavassa lausekkeessa.
Syntaksi
CALCULATETABLE(<expression>[, <filter1> [, <filter2> [, …]]])
Parametrit
Termi | Määritelmä |
---|---|
lauseke | 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ä loogista operaattoria JA. Tämä tarkoittaa sitä, että kaikkien ehtojen on oltava TOSIA samanaikaisesti.
Totuusarvosuodatinlausekkeet
Totuusarvolausekkeen suodatin on lauseke, joka antaa tulokseksi TOSI tai EPÄTOSI. 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. FILTER-funktiolla voit käyttää monimutkaisia suodatusehtoja, myös sellaisia, joita ei voi määrittää totuusarvosuodatinlausekkeella.
Suodattimen muokkausfunktiot
Suodattimen muokkausfunktioiden avulla voit tehdä muutakin kuin vain lisätä suodattimia. Ne tarjoavat lisäohjausobjektin suodatinkontekstin muokkaamiseen.
Function | 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ä. |
1 ALL-funktio ja sen muunnokset 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.
Huomautukset
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 |
Kokonaissumma | 26 054 827,45 dollaria | 5 681 440,58 dollaria | 4.59 |