Tapahtumat
Liity seuraamme FabCon Vegasiin
31. maalisk. klo 23 - 2. huhtik. klo 23
Lopullinen Microsoft Fabric-, Power BI-, SQL- ja tekoälyyhteisöjohtoinen tapahtuma. 31.3.–2.4.2025.
Rekisteröidy jo tänäänTätä selainta ei enää tueta.
Päivitä Microsoft Edgeen, jotta voit hyödyntää uusimpia ominaisuuksia, suojauspäivityksiä ja teknistä tukea.
Koskee seuraavia:Laskettu sarakeLaskettu taulukkoMeasureVisuaalinen laskutoimitus
Laskee lausekkeen muokatussa filter kontekstissa.
Huomautus
Saatavilla on myös CALCULATETABLE funktio. Se suorittaa täsmälleen samat toiminnot, except se muokkaa filter kontekstia, käytetään lausekkeessa, joka palauttaa taulukko-objektin.
CALCULATE(<expression>[, <filter1> [, <filter2> [, …]]])
Termi | Määritelmä |
---|---|
expression |
Laskettava lauseke. |
filter1, filter2,… |
(Valinnainen) Ehtolausekkeet or taulukkolausekkeita, jotka määrittävät filters, orfilter muokkausfunktioita. |
first-parametrina käytettävä lauseke on sama kuin measure.
Filters voivat olla:
Kun
Ehtolausekefilter on lauseke, joka antaa tulokseksi TRUE
orFALSE
. Niiden on noudatettava useita sääntöjä:
syyskuun 2021 julkaisusta alkaen Power BI Desktopissa ovat myös seuraavat:
Total sales on the last selected date =
CALCULATE (
SUM ( Sales[Sales Amount] ),
'Sales'[OrderDateKey] = MAX ( 'Sales'[OrderDateKey] )
)
Taulukkolauseke filter käyttää taulukko-objektia filter. Se voi olla viittaus mallitaulukkoon, mutta todennäköisempää on, että se on funktio, joka palauttaa taulukko-objektin. voit käyttää FILTER-funktiota monimutkaisten filter ehtojen käyttämiseen, mukaan lukien ne, joita totuusarvolauseke ei voi määrittää filter lausekkeessa.
Filter muokkausfunktioiden avulla voit tehdä muutakin kuin vain lisätä filters. Niiden avulla voit hallita paremmin filter kontekstia.
Funktio | Tarkoitus |
---|---|
REMOVEFILTERS | Poista allfilters, orfilters yhdestä or useammasta taulukon sarakkeesta or yksittäisen taulukon all sarakkeista. |
ALL 1, ALLEXCEPT, ALLNOBLANKROW | Poista filters yhdestä or useammasta sarakkeesta yhden taulukon all sarakkeista or. |
KEEPFILTERS | Lisää filter poistamatta samojen sarakkeiden aiemmin luotuja filters. |
USERELATIONSHIP | Ota passiivinen yhteys related sarakkeiden välille, jolloin aktiivinen yhteys poistetaan automaattisesti käytöstä. |
CROSSFILTER | Muokkaa filter suuntaa (molemmista yksittäiseen, or yksittäisestä molempiin) or poistaa suhteen käytöstä. |
1ALL-funktio and sen variantit toimivat niin kuin molemmat filter muokkaajat and taulukko-objekteja palauttavina funktioina. If työkalu tukee REMOVEFILTERS funktiota, on parempi käyttää sitä filterspoistamiseen.
value, joka on lausekkeen tulos.
Kun filter lausekkeita annetaan, CALCULATE-funktio muokkaa filter kontekstia lausekkeen evaluate. Kullekin filter-lausekkeelle on kaksi mahdollista vakiotulosta, kun filter-lauseke not rivitetään KEEPFILTERS-funktioon:
Ilman
Tätä funktiota not tueta DirectQuery-tilassa, kun sitä käytetään lasketuissa sarakkeissa or rivitason suojauksen (RLS) säännöissä.
Seuraava Sales -taulukon measure määritys tuottaa tuoton tuloksen, mutta vain tuotteille, joiden väri on sininen.
Tämän artikkelin esimerkkejä voidaan käyttää sample Adventure Works DW 2020 Power BI Desktop -mallin kanssa. Jos haluat hankkia mallin, katso DAXsample mallin.
Blue Revenue =
CALCULATE(
SUM(Sales[Sales Amount]),
'Product'[Color] = "Blue"
)
Luokka | Myynnin summa | Sininen tuotto |
---|---|---|
Tykötarpeet | 1 272 057,89 dollaria | 165 406,62 $ |
Polkupyöriä | 94 620 526,21 $ | 8 374 313,88 dollaria |
Vaatetus | 2 117 613,45 dollaria | 259 488,37 $ |
Osia | 11 799 076,66 dollaria | 803 642,10 $ |
yhteensä | 109 809 274,20 dollaria | 9 602 850,97 dollaria |
Seuraava Myynti- taulukkomääritelmä measure tuottaa myynnin suhteen all myyntikanaviin.
Kanava | Myynnin summa | Tuotto % kanava yhteensä |
---|---|---|
Internet | 29 358 677,22 $ | 26,74% |
Jälleenmyyjä | 80 450 596,98 dollaria | 73,26% |
yhteensä | 109 809 274,20 dollaria | 100,00 % |
Revenue % Total Channel =
DIVIDE(
SUM(Sales[Sales Amount]),
CALCULATE(
SUM(Sales[Sales Amount]),
REMOVEFILTERS('Sales Order'[Channel])
)
)
DIVIDE-funktio jakaa lausekkeen, joka laskee yhteen Sales -taulukon Sales Amount -sarakkeen value (filter-kontekstissa) samalla lausekkeella muokatussa filter kontekstissa. Se on CALCULATE-funktio, joka muokkaa filter kontekstia REMOVEFILTERS-funktiolla, joka on filter muokkausfunktio. Se poistaa
Seuraava Customer -taulukon lasketun sarakkeen määritelmä luokittelee asiakkaat uskollisuusluokkaan. Skenaario on hyvin yksinkertainen: Kun asiakkaan tuottama tuotto on alle 2 500 dollaria, asiakkaan luokkana on Low; muutoin ne High.
Customer Segment =
IF(
CALCULATE(SUM(Sales[Sales Amount]), ALLEXCEPT(Customer, Customer[CustomerKey])) < 2500,
"Low",
"High"
)
Tässä esimerkissä rivikonteksti muunnetaan filter kontekstiin. Sitä kutsutaan kontekstisiirtymäksi. ALLEXCEPT-funktio poistaa filtersallCustomer -taulukon sarakkeista exceptCustomerKey -sarakkeesta.
Filter
rivikontekstin
CALCULATETABLE-funktion
Filter-funktiot
Tapahtumat
Liity seuraamme FabCon Vegasiin
31. maalisk. klo 23 - 2. huhtik. klo 23
Lopullinen Microsoft Fabric-, Power BI-, SQL- ja tekoälyyhteisöjohtoinen tapahtuma. 31.3.–2.4.2025.
Rekisteröidy jo tänään