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.
Data Analysis Expression (DAX) -kieli luo operaattoreiden avulla lausekkeita, jotka vertaavat arvoja, suorittavat aritmeettisia laskutoimituksia tai käyttävät merkkijonoja.
Laskentaoperaattoreita on neljää eri tyyppiä: aritmeettinen, vertailu-, tekstin yhdistämis- ja looginen operaattori.
matemaattisten perustoimintojen, kuten yhteenlaskun, vähennyslaskun tai kertolaskun, suorittamiseen yhdistä numeroita; ja tuottaa numeerisia tuloksia, käytä seuraavia aritmeettisia operaattoreita.
Aritmeettinen operaattori | Merkitys | Esimerkki |
---|---|---|
+ (plusmerkki) |
Yhteenlasku | 3+3 |
- (miinusmerkki) |
Vähennyslasku tai merkki | 3-1-1 |
* (tähti) |
Kertolasku | 3*3 |
/ (vinoviiva) |
Jakolasku | 3/3 |
^ (varoen) |
Potenssiin korotus | 16^4 |
Huomautus
Plusmerkki voi toimia sekä binaarioperaattorina että yksiarvoisena operaattorina. Binaarioperaattori edellyttää lukuja operaattorin molemmin puolin ja suorittaa yhteenlaskun. Kun käytät DAX-kaavan arvoja binaarioperaattorin molemmin puolin, DAX yrittää muuntaa arvot numeerisiin tietotyyppeihin, jos ne eivät ole vielä lukuja. Unaarioperaattoria voidaan sen sijaan käyttää missä tahansa argumenttityypissä. Plusmerkki ei vaikuta tyyppiin tai arvoon ja se yksinkertaisesti ohitetaan, kun taas miinusoperaattori luo negatiivisen arvon, jos sitä käytetään numeerisissa arvoissa.
Voit verrata kahta arvoa seuraaviin operaattoreihin. Kun kahta arvoa verrataan näitä operaattoreita käyttämällä, tulos on looginen arvo, joko TRUE
tai FALSE
.
Vertailuoperaattori | Merkitys | Esimerkki |
---|---|---|
= |
Yhtä suuri kuin | [Region] = "USA" |
== |
Tarkalleen yhtä suuri kuin | [Region] == "USA" |
> |
Suurempi kuin | [Sales Date] > "tammikuu 2009" |
< |
Alle | [Sales Date] < "1.1.2009" |
>= |
Suurempi tai yhtä suuri kuin | [Summa] >= 20000 |
<= |
Pienempi tai yhtä suuri kuin | [Amount] <= 100 |
<> |
Eri suuri kuin | [Region] <> "USA" |
Kaikissa vertailuoperaattoreissa operaattoria == lukuun ottamatta BLANK-arvo on yhtä suuri kuin 0, tyhjä merkkijono "", DATE(1899, 12, 30) tai FALSE
. Tämän seurauksena [Column] = 0 on true, kun kohteen [Column] arvo on joko 0 tai BLANK. Sen sijaan [Column] == 0 on true vain, kun kohteen [Column] arvo on 0.
Et-merkin (&
) avulla voit tuottaa yhden tekstin yhdistäessään vähintään kaksi tekstimerkkijonoa.
Tekstioperaattori | Merkitys | Esimerkki |
---|---|---|
& (et-merkki) |
Yhdistää kaksi arvoa yhden jatkuvan tekstiarvon tuottamiseksi | [Region] & ", " & [City] |
Käytä loogisia operaattoreita (&&
) ja (||
) lausekkeiden yhdistämiseen yhden tuloksen tuottamiseksi.
Tekstioperaattori | Merkitys | Esimerkkejä |
---|---|---|
&& (kaksinkertainen et-merkki) |
Luo AND-ehdon kahden lausekkeen välille, joissa kummassakin on tuloksena totuusarvo. Jos molemmat lausekkeet palauttavat TRUE , lausekkeiden yhdistelmä palauttaa myös TRUE . muussa tapauksessa yhdistelmä palauttaa FALSE . |
([Region] = "France") && ([BikeBuyer] = "yes")) |
|| (kaksinkertainen putkisymboli) |
Luo OR-ehdon kahden loogisen lausekkeen välille. Jos jompikumpi lauseke palauttaa TRUE , tulos on TRUE . vain silloin, kun molemmat lausekkeet on FALSE on tulos, FALSE . |
(([Region] = "France") || ([BikeBuyer] = "yes")) |
IN |
Luo loogisen TAI-ehdon kunkin rivin välille, jota verrataan taulukkoon. Huomautus: taulukkokonstruktorin syntaksissa käytetään kaarisulkeita. | 'Product'[Color] IN { "Red", "Blue", "Black" } |
Joissakin tapauksissa laskutoimituksen käsittelyjärjestys voi vaikuttaa palautusarvoon. Siksi on tärkeää ymmärtää, miten järjestys määritetään ja miten voit muuttaa järjestystä halutun tuloksen saamiseksi.
Lauseke arvioi operaattorit ja arvot tietyssä järjestyksessä. Kaikki lausekkeet alkavat aina yhtäläisyysmerkillä (=). Yhtäläisyysmerkki ilmaisee, että sitä seuraavat merkit muodostavat lausekkeen.
Yhtäläisyysmerkin jälkeen ovat lasketut elementit (operandit), jotka erotetaan toisistaan laskentaoperaattoreilla. Lausekkeet luetaan aina vasemmalta oikealle, mutta elementtien ryhmittelyjärjestystä voidaan hallita jonkin verran käyttämällä sulkeita.
Jos yhdistät useita operaattoreita yhteen kaavaan, toiminnot järjestetään seuraavan taulukon mukaisesti. Jos operaattoreilla on sama käsittelyjärjestysarvo, ne järjestetään vasemmalta oikealle. Jos lauseke sisältää esimerkiksi sekä kertolasku- että jakolaskuoperaattorin, ne arvioidaan siinä järjestyksessä, jossa ne näkyvät lausekkeessa vasemmalta oikealle.
Operaattori | Kuvaus |
---|---|
^ |
Potenssiin korotus |
– |
Merkki (kuten –1) |
* ja / |
Kertolasku ja jakolasku |
+ ja – |
Yhteenlasku ja vähennyslasku |
& |
Yhdistää kaksi tekstimerkkijonoa (yhdistäminen) |
=,==,<,>,<=,>=,<>,IN |
Vertailu |
NOT |
NOT (unaarioperaattori) |
Jos haluat muuttaa arviointijärjestystä, sisällytä sulkeisiin se kaavan osa, joka on laskettava ensin. Esimerkiksi seuraavan kaavan arvo on 11, koska kertolasku lasketaan ennen yhteenlaskua. Kaava kertoo 2 luvulla 3 ja lisää sitten tulokseen 5.
=5+2*3
Sen sijaan jos käytät sulkeita syntaksin muuttamiseen, järjestystä muutetaan siten, että 5 ja 2 lasketaan yhteen ja tulos kerrotaan luvulla 3, jolloin tuloksena on 21.
=(5+2)*3
Seuraavassa esimerkissä kaavan ensimmäisen osan ympärillä olevat sulkeet pakottavat laskutoimituksen arvioimaan lausekkeen (3 + 0.25)
ensin ja sitten jakamaan tuloksen lausekkeen (3 - 0.25)
tuloksella.
=(3 + 0.25)/(3 - 0.25)
Seuraavassa esimerkissä potenssiin eksponentiointioperaattoria käytetään ensin operaattoreiden käsittelyjärjestyssääntöjen mukaisesti, ja sen jälkeen käytetään merkkioperaattoria. Tämän lausekkeen tulos on -4.
=-2^2
Jos haluat varmistaa, että merkkioperaattoria käytetään ensin numeerisissa arvoissa, voit käyttää sulkeita ohjaamaan operaattoreita seuraavassa esimerkissä esitetyllä tavalla. Tämän lausekkeen tulos on 4.
= (-2)^2
DAX käsittelee ja vertaa eri tietotyyppejä helposti Microsoft Excelin tapaan. Pohjana oleva laskentamoduuli perustuu kuitenkin SQL Server Analysis Servicesiin ja tarjoaa relaatiotietosäilön lisäominaisuuksia, mukaan lukien monipuolisemman tuen päivämäärä- ja aikatyypeille. Joissakin tapauksissa laskutoimitusten tulokset tai funktioiden toiminta eivät välttämättä ole samat kuin Excelissä. Lisäksi DAX tukee useampia tietotyyppejä kuin Excel. Tässä osiossa kuvataan tärkeimmät erot.
Yleensä operaattorin vasemmalla ja oikealla puolella olevan kahden operandin on oltava samaa tietotyyppiä. Jos tietotyypit ovat kuitenkin erilaiset, DAX muuntaa ne joissain tapauksissa yleiseksi tietotyypiksi operaattoria varten:
Oletetaan esimerkiksi, että sinulla on kaksi lukua, jotka haluat yhdistää. Yksi luku on esimerkiksi kaavan tulos, kuten =[Price] * .20
, ja tulos voi sisältää useita desimaaleja. Toinen luku on kokonaisluku, joka on annettu merkkijonoarvona.
Tässä tapauksessa DAX muuntaa molemmat luvut reaaliluvuiksi numeerisissa muodoissa käyttämällä suurinta numeerista muotoa, joka voi tallentaa kummankin lukutyypin. Tämän jälkeen DAX käyttää kertolaskua.
Tietojen ja tyypin yhdistelmästä riippuen tyypin pakottamista ei välttämättä käytetä vertailuoperaatioissa. Täydellinen luettelo DAXin tukemista tietotyypeistä on artikkelissa Taulukkomallien tukemat tietotyypit ja Power BI Desktop -.
Kokonaisluku-, Reaaliluku-, Valuutta-, Päivämäärä/aika- ja Tyhjä-parametrit katsotaan numeerisina vertailutarkoituksessa. Tyhjä saa arvon nolla vertailua suoritettaessa. Seuraavia tietotyyppiyhdistelmiä tuetaan vertailuoperaatioissa.
Vasemmanpuoleinen tietotyyppi | Oikeanpuoleinen tietotyyppi |
---|---|
Numeerinen | Numeerinen |
Boolean | Boolean |
Merkkijono | Merkkijono |
Muut tietojen ja tyypin yhdistelmät palauttavat virheen. Esimerkiksi kaava ="1" > 0 palauttaa virheen, jossa ilmoitetaan, että DAX-vertailutoiminnot eivät tue tyypin Teksti arvojen vertaamista tyypin Kokonaislukuarvoihin.
DAXissa käytetyt tietotyypit | Excelissä käytetyt tietotyypit |
---|---|
Luvut (I8, R8) | Luvut (R8) |
Merkkijono | Merkkijono |
Boolean | Boolean |
Päivämäärä ja aika | Muunnos |
Valuutta | Valuutta |
Toimintojen käsittelyjärjestys DAX-kaavoissa on periaatteessa sama kuin Microsoft Excelissä, mutta joitain Excel-operaattoreita, kuten prosenttia, ei tueta. Lisäksi alueita ei tueta.
Siksi aina kopioidessasi ja liittäessäsi kaavoja Excelistä muista tarkistaa kaava huolellisesti, koska jotkin kaavojen operaattorit tai elementit eivät ehkä ole kelvollisia. Jos toimintojen käsittelyjärjestys ei ole täysin epäselvä, on suositeltavaa käyttää sulkeita, jotta voit hallita toimintojen järjestystä ja jotta tuloksessa ei ole epäselvyyksiä.
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