Power BI Desktopin tietotyypit
Tässä artikkelissa kuvataan tietotyypit, joita Power BI Desktop ja Data Analysis Expressions (DAX) tukevat.
Kun Power BI lataa tietoja, se yrittää muuntaa lähdesarakkeiden tietotyypit tietotyypeiksi, jotka tukevat tehokkaampaa tallennusta, laskutoimituksia ja tietojen visualisointia. Jos esimerkiksi Excelistä tuomallasi arvosarakkeella ei ole murtolukuarvoja, Power BI Desktop muuntaa tietosarakkeen Ken lukutietotyypiksi, joka soveltuu paremmin kokonaislukujen tallentamiseen.
Tämä käsite on tärkeä, koska joillakin DAX-funktioilla on erityisiä tietotyyppivaatimuksia. Monissa tapauksissa DAX muuntaa tietotyyppejä implisiittisesti, mutta joissakin tapauksissa ei. Jos ESIMERKIKSI DAX-funktio edellyttää Päivämäärä-tietotyyppiä, mutta sarakkeen tietotyyppi on Teksti, DAX-funktio ei toimi oikein. On siis tärkeää ja hyödyllistä käyttää oikeita tietotyyppejä sarakkeille.
Sarakkeen tietotyypin määrittäminen ja määrittäminen
Power BI Desktopissa voit määrittää sarakkeen tietotyypin Power Query -editori, tietonäkymässä tai raporttinäkymässä:
Valitse Power Query -editori sarake ja valitse sitten Tietotyyppi valintanauhan Muunna-ryhmästä.
Valitse sarake tieto- tai raporttinäkymässä ja valitse sitten avattavan valikon nuoli kohdan Tietotyyppi vieressä valintanauhan Saraketyökalut-välilehdessä.
Power Query -editori avattavan tietotyypin valinnassa on kaksi tietotyyppiä, joita ei ole tieto- tai raporttinäkymässä: päivämäärä/aika/aikavyöhyke ja kesto. Kun lataat tällaisten tietotyyppien sarakkeen Power BI -malliin, Päivämäärä/aika/aikavyöhyke-sarake muunnetaan päivämäärä/aika-tietotyypiksi ja Kesto-sarake muunnetaan desimaaliluvun tietotyypiksi.
Binaarista tietotyyppiä ei tueta Power Query -editori ulkopuolella. Power Query -editori voit käyttää Binary-tietotyyppiä, kun lataat binaaritiedostoja, jos muunnat sen muihin tietotyyppeihin ennen sen lataamista Power BI -malliin. Binaarivalinta on olemassa Tietonäkymä- ja Raporttinäkymä-valikoissa vanhoista syistä, mutta jos yrität ladata Binary-sarakkeita Power BI -malliin, saattaa ilmetä virheitä.
Lukutyypit
Power BI Desktop tukee kolmea lukutyyppiä: desimaalilukua, kiinteää desimaalilukua ja Ken lukua.
Voit käyttää Taulukkomuotoinen objektimalli (TOM) -sarakeominaisuutta DataType numerotyyppien luetteloinnin DataType määrittämiseen. Lisätietoja objektien ohjelmallisista muokkaamisesta Power BI:ssä on artikkelissa Power BI:n semanttisten mallien ohjelma, jossa on taulukkomuotoinen objektimalli.
Desimaaliluku
Desimaaliluku on yleisin lukutyyppi, ja se voi käsitellä murtolukuarvoja ja kokonaislukuja sisältäviä lukuja. Desimaaliluku edustaa 64-bittistä (kahdeksantavuista) liukulukua negatiivisilla arvoilla väliltä -1,79E +308 ... -2,23E -308, positiiviset arvot välillä 2,23E –308 ja 1,79E +308 ja 0. Luvut 34, 34,01 ja 34,000367063 ovat kelvollisia desimaalilukuja.
Suurin tarkkuus, jota desimaalilukutyyppi voi edustaa, on 15 numeroa. Desimaalierotin voi ilmetä missä tahansa luvun kohdassa. Tämä tyyppi vastaa sitä, miten Excel tallentaa sen luvut, ja TOM määrittää tämän tyypin luetteloinniksi DataType.Double
.
Kiinteä desimaaliluku
Kiinteän desimaaliluvun tietotyypissä on kiinteä sijainti desimaalierottimelle. Desimaalierottimen oikealla puolella on aina neljä numeroa, ja siinä voi olla 19 merkitsevyyttä olevaa numeroa. Suurin arvo, jota kiinteä desimaaliluku voi edustaa, on positiivinen tai negatiivinen 922 337 203 685 477,5807.
Kiinteä desimaalilukutyyppi on hyödyllinen tilanteissa, joissa pyöristäminen saattaa aiheuttaa virheitä. Luvut, joilla on pieniä murtolukuarvoja, voivat joskus kertyä ja pakottaa luvun hieman epätarkaksi. Kiinteän desimaalilukutyypin avulla voit välttää tällaiset virheet katkaisemalla arvot neljän numeron jälkeen desimaalierottimen oikealla puolella.
Tämä tietotyyppi vastaa SQL Serverin desimaalilukua (19,4) tai Valuutta-tietotyyppiä Analysis Servicesissä ja Power Pivotissa Excelissä. TOM määrittää tämän tyypiksi DataType.Decimal
Luettelointi.
Kokonaisluku
Ken numero edustaa 64-bittistä (kahdeksantavuista) kokonaislukuarvoa. Koska kyseessä on kokonaisluku, Ken numerossa ei ole numeroita desimaalierottelun oikealla puolella. Tämä tyyppi sallii 19 positiivista tai negatiivista kokonaislukua välillä -9 223 372 036 854 775 807 (-2^63+1) ja 9 223 372 036 854 775 806 (2^63-2), joten ne voivat edustaa numeeristen tietotyyppien suurinta mahdollista lukua.
Kuten kiinteän desimaalilukutyypin kohdalla, myös Ken numerotyypistä voi olla hyötyä, kun haluat hallita pyöristusta. TOM edustaa Ken numerotietotyyppiä luetteloinniksiDataType.Int64
.
Muistiinpano
Power BI Desktop -tietomalli tukee 64-bittistä kokonaislukuarvoja, mutta JavaScriptin rajoitusten vuoksi suurin määrä, jonka Power BI -visualisoinnit voivat turvallisesti ilmaista, on 9 007 199 254 740 991 (2^53-1). Jos tietomallissasi on suurempia lukuja, voit pienentää niiden kokoa laskutoimitusten avulla ennen niiden lisäämistä visualisointeihin.
Lukutyyppilaskelmien tarkkuus
Desimaaliluku-tietotyypin sarakearvot tallennetaan likimääräisinä tietotyypeinä IEEE 754 Standardin mukaisesti liukulukuja varten. Likimääräisiin tietotyyppeihin liittyy luontaisia tarkkuusrajoituksia, koska tarkkojen lukuarvojen tallentamisen sijaan ne saattavat tallentaa erittäin lähellä tai pyöristettyjä arvioita.
Tarkkuushälytystä tai epätarkkuutta voi ilmetä, jos liukulukuarvoa ei voida luotettavasti määrittää liukulukunumeroiden määrän määräksi. Epätarkka saattaa vaikuttaa odottamattomalta tai epätarkalta laskentatuloksilta joissain raportointiskenaarioissa.
Desimaalilukutietotyypin arvojen yhtäläisyysvertailulaskelmat voivat mahdollisesti palauttaa odottamattomia tuloksia. Yhtäläisyysvertailuihin kuuluu yhtä suuri kuin =
, suurempi kuin >
, pienempi kuin <
, suurempi tai yhtä suuri >=
kuin ja pienempi tai yhtä suuri <=
kuin .
Tämä ongelma ilmenee useimmin , kun käytät RANKX-funktiota DAX-lausekkeessa, joka laskee tuloksen kahdesti ja tuottaa hieman erilaisia lukuja. Raportin käyttäjät eivät välttämättä huomaa kahden luvun välistä eroa, mutta sijoitustulos voi olla selvästi epätarkka. Odottamattomien tulosten välttämiseksi voit muuttaa sarakkeen tietotyypin desimaaliluvusta joko kiinteäksi desimaaliluvuksi tai Ken luvuksi tai tehdä pakotetun pyörisoinnin ROUND-funktiolla. Kiinteän desimaaliluvun tietotyypillä on suurempi tarkkuus, koska desimaalierottimen oikealla puolella on aina neljä numeroa.
Harvoin laskutoimitukset, jotka laskevat yhteen desimaaliluku-tietotyypin sarakkeen arvot, voivat palauttaa odottamattomia tuloksia. Tämä tulos on todennäköisin sarakkeissa, joissa on suuria sekä positiivisia lukuja että negatiivisia lukuja. Arvojen jakautuminen sarakkeen riveillä vaikuttaa summatulokseen.
Jos pakollinen laskutoimitus laskee suurimman osan positiivisista luvuista ennen negatiivisten lukujen laskemista yhteen, suuri positiivinen osittainen summa alussa voi mahdollisesti vinouta tuloksia. Jos laskutoimitus sattuu lisäämään tasapainotettuja positiivisia ja negatiivisia lukuja, kysely säilyttää suuremman tarkkuuden ja palauttaa näin tarkemmat tulokset. Odottamattomien tulosten välttämiseksi voit muuttaa sarakkeen tietotyypin desimaaliluvusta kiinteäksi desimaaliluvuksi tai Ken luvuksi.
Päivämäärä/aika-tyypit
Power BI Desktop tukee viittä päivämäärä/aika-tietotyyppiä Power Query -editori. Sekä päivämäärä/aika/aikavyöhyke että kesto muunnetaan latauksen aikana Power BI Desktop -tietomalliin. Malli tukee päivämäärää/aikaa, tai voit muotoilla arvot päivämääräksi tai ajaksi itsenäisesti.
Päivämäärä/aika edustaa sekä päivämäärän että kellonajan arvoa. Taustalla oleva Päivämäärä/aika-arvo tallennetaan desimaalilukutyyppinä, joten voit muuntaa sen kahden tyypin välillä. Aikaosa tallennetaan murtolukuna 1/300 sekunnin (3,33 ms) kokonaislukukertojen mukaan. Tietotyyppi tukee päivämääriä vuosien 1900 ja 9999 välillä.
Päivämäärä edustaa vain päivämäärää, jolla ei ole aikaosaa. Päivämäärä muunnetaan malliksi päivämäärä/aika-arvona, jossa murtolukuarvo on nolla.
Aika edustaa vain aikaa ilman päivämääräosaa. Aika muuntuu malliksi päivämäärä/aika-arvona ilman numeroita desimaalipilkun vasemmalla puolella.
Päivämäärä/aika/aikavyöhyke edustaa UTC-päivämäärää/-aikaa ja aikavyöhykesiirtymään ja muuntaa malliin lataamisen yhteydessä päivämääräksi /ajaksi . Power BI -malli ei säädä aikavyöhykettä käyttäjän sijainnin tai maa-asetuksen perusteella. Malliin Ladattu arvo 09:00 Usa:ssa näkyy muodossa 09:00, kun raportti avataan tai sitä tarkastellaan.
Kesto edustaa ajan pituutta ja muuntaa sen desimaalilukutyypiksi, kun se ladataan malliin. Kuten desimaalilukutyyppiä , voit lisätä tai vähentää arvot Päivämäärä/aika-arvoista oikeilla tuloksilla ja käyttää helposti visualisointien arvoja, jotka näyttävät suuruusluokan.
Tekstityyppi
Text-tietotyyppi on Unicode-merkkitietomerkkijono, joka voi olla kirjaimia, numeroita tai päivämääriä, jotka on esitetty tekstimuodossa. Merkkijonon pituusrajoitus on käytännössä noin 32 000 Unicode-merkkiä, mikä perustuu Power BI:n pohjana olevaan Power Query -moduuliin ja sen tekstitietotyyppien pituuksien rajoituksiin. Tekstitietotyypit, jotka ylittävät käytännöllisen enimmäisrajan, aiheuttavat todennäköisesti virheitä.
Tapa, jolla Power BI tallentaa tekstitietoja, voi aiheuttaa sen, että tiedot näkyvät eri tavalla joissakin tilanteissa. Seuraavissa osissa kuvataan yleisiä tilanteita, jotka voivat aiheuttaa sen, että tekstitiedot muuttuvat hieman ulkoasun Power Query -editori tietojen kyselemisen ja Power BI:hin lataamisen välillä.
Kirjainkoon merkitsevyys
Moduulin, joka tallentaa ja lähettää kyselyn power BI:n tietoihin, kirjainkoolla ei ole merkitystä, ja sen kirjaimien eri isojen kirjainten kirjainkoko on sama arvo. "A" on yhtä suuri kuin "a". Power Queryssa kirjainkoko on kuitenkin merkitsevä, kun "A" ei ole sama kuin "a". Ero siltä varalta, että luottamuksellisuus voi johtaa tilanteisiin, joissa tekstitiedot muuttuvat isolla kirjaimella vaikeasti Power BI:hin lataamisen jälkeen.
Seuraavassa esimerkissä näytetään tilaustiedot: OrderNo-sarake , joka on yksilöllinen kullekin tilaukselle, ja Addressee-sarake , joka näyttää manuaalisesti annetun osoitteen nimen tilauksen aikana. Power Query -editori näyttää useita tilauksia, joilla on sama Kirjoita järjestelmään eri isot kirjaimet sisältävien nimien nimiä.
Kun Power BI lataa tiedot, nimien kaksoiskappaleiden kirjainkoko Tiedot-välilehdellä muuttuu alkuperäisestä merkinnästä yhdeksi isoksi versioksi.
Tämä muutos tapahtuu, koska Power Query -editori kirjainkoko on merkitsevä, joten se näyttää tiedot täsmälleen samalla tavalla kuin lähdejärjestelmässä. Moduulissa, joka tallentaa tiedot Power BI:hin, kirjainkoko ei ole merkitsevä, joten merkin pienet ja isoilla kirjaimilla merkityt versiot ovat identtisiä. Power BI -moduuliin ladatut Power Query -tiedot voivat muuttua vastaavasti.
Power BI -moduuli arvioi jokaisen rivin erikseen, kun se lataa tietoja ylhäältä alkaen. Kullekin tekstisarakkeelle, kuten Addresseelle, moduuli tallentaa yksilöllisten arvojen hakemiston suorituskyvyn parantamiseksi tietojen pakkaamisen avulla. Moduuli näkee Addressee-sarakkeen kolme ensimmäistä arvoa yksilöllisinä ja tallentaa ne sanakirjaan. Sen jälkeen, koska moduulin kirjainkoolla ei ole merkitystä, se arvioi nimet identtisiksi.
Moduuli näkee nimen "Taina Hasu" samanlaisena "TAINA HASU" ja "Taina HASU" kanssa, joten se ei tallenna näitä muunnelmia, vaan viittaa sen tallentamaan ensimmäiseen muunnelmaan. Nimi "MURALI DAS" näkyy isoilla kirjaimilla, koska näin nimi näytti ensimmäisen kerran, kun moduuli arvioi sen ladattaessa tietoja ylhäältä alas.
Tämä kuva havainnollistaa arviointiprosessia:
Edellisessä esimerkissä Power BI -moduuli lataa ensimmäisen tietorivin, luo Addressee-hakemiston ja lisää siihen Taina Hasun . Moduuli lisää viitteen myös kyseiseen arvoon sen taulukon Addressee-sarakkeeseen , jonka se lataa. Moduuli tekee saman toiselle ja kolmannelle riville, koska nämä nimet eivät vastaa muita kirjainkokoa huomioitaessa.
Neljännen rivin osalta moduuli vertaa arvoa sanaston nimiin ja löytää nimen. Koska moduulin kirjainkoolla ei ole merkitystä, "TAINA HASU" ja "Taina Hasu" ovat samat. Moduuli ei lisää uutta nimeä sanastoon, mutta viittaa olemassa olevaan nimeen. Sama prosessi tapahtuu jäljelle jääville riveille.
Muistiinpano
Koska moduulissa, joka tallentaa ja lähettää kyselyjä Power BI:n tietoihin, kirjainkoko ei ole merkitsevä, ole erityisen varovainen, kun työskentelet DirectQuery-tilassa kirjainkoon huomioon ottavassa lähteessä. Power BI olettaa, että lähde on poistanut rivien kaksoiskappaleet. Koska Power BI:n kirjainkoolla ei ole merkitystä, se käsittelee kahta arvoa, jotka eroavat vain kirjainkooltaan kaksoiskappaleina, kun taas lähde ei ehkä käsittele niitä siten. Tällaisissa tapauksissa lopullinen tulos on määrittämätön.
Jos käytät DirectQuery-tilaa kirjainkoon huomioon ottavassa tietolähteessä, voit välttää tämän normalisoimalla johdannaisen lähdekyselyssä tai Power Query -editori.
Välilyönnit alussa ja lopussa
Power BI -moduuli poistaa automaattisesti kaikki lopussa olevat välilyönnit, jotka seuraavat tekstitietoja, mutta ei poista alussa olevia välilyöntejä, jotka edeltävät tietoja. Sekaannusten välttämiseksi, käsitellessäsi tietoja, jotka sisältävät alussa tai lopussa olevia välilyöntejä, käytä Text.Trim-funktiota välilyöntien poistamiseen tekstin alusta tai lopusta. Jos et poista alussa olevia välilyöntejä, suhteen luominen voi epäonnistua arvojen kaksoiskappaleiden vuoksi tai visualisoinnit saattavat palauttaa odottamattomia tuloksia.
Seuraavassa esimerkissä näytetään tietoja asiakkaista: Nimi-sarake, joka sisältää asiakkaan nimen, ja Indeksi-sarake, joka on yksilöllinen kullekin merkinnälle. Nimet näkyvät lainausmerkkeiden sisällä selkeyden vuoksi. Asiakkaan nimi toistuu neljä kertaa, mutta joka kerta, kun alussa ja lopussa on välilyöntejä eri yhdistelminä. Nämä muunnelmat voivat ilmetä manuaalisen tietojen lisäämisen yhteydessä ajan kuluessa.
Row | Edeltävä tila | Lopussa tila | Nimi | Indeksi | Text length |
---|---|---|---|---|---|
1 | En | En | "Dylan Williams" | 1 | 14 |
2 | Ei | Kyllä | "Dylan Williams" | 10 | 15 |
3 | Kyllä | En | " Dylan Williams" | 20 | päivänä |
4 | Kyllä | Kyllä | " Dylan Williams " | 40 | 16 |
Power Query -editori tuloksena saatavat tiedot näkyvät seuraavasti.
Kun siirryt Power BI:n Tiedot-välilehteen tietojen lataamisen jälkeen, sama taulukko näyttää samalta kuin seuraavassa kuvassa, jossa on sama määrä rivejä kuin ennenkin.
Näihin tietoihin perustuva visualisointi palauttaa kuitenkin vain kaksi riviä.
Edellisessä kuvassa ensimmäisen rivin kokonaisarvo on 60 Indeksi-kentälle, joten visualisoinnin ensimmäinen rivi edustaa ladattujen tietojen kahta viimeistä riviä. Toinen rivi, jonka indeksiarvo yhteensä on 11, edustaa kahta ensimmäistä riviä. Visualisoinnin ja tietotaulukon rivien määrän ero johtuu siitä, että moduuli poistaa tai rajaa lopussa olevat välilyönnit automaattisesti, mutta ei alussa olevia välilyöntejä. Moduuli arvioi siten ensimmäisen ja toisen rivin sekä kolmannen ja neljännen rivin identtisiksi, ja visualisointi palauttaa nämä tulokset.
Tämä toiminta voi myös aiheuttaa suhteisiin liittyviä virhesanomia, koska arvojen kaksoiskappaleita havaitaan. Esimerkiksi yhteyksien määrityksestä riippuen saatat saada seuraavan kuvan kaltaisen virheen:
Muissa tilanteissa et ehkä voi luoda monta yhteen- tai yksi yhteen -suhdetta, koska arvojen kaksoiskappaleita havaitaan.
Voit jäljittää nämä virheet takaisin alussa tai lopussa olevissa välilyönneillä ja ratkaista ne käyttämällä Text.Trim-funktiota tai Muunna-kohdan alla olevaa Trim-funktiota välilyönnit Power Query -editori.
Tosi/epätosi-tyyppi
Tosi /epätosi-tietotyyppi on totuusarvo joko Tosi tai Epätosi. Saat parhaat ja yhdenmukaisimmat tulokset lataamalla Totuusarvon tosi/epätosi-tietoja sisältävän sarakkeen Power BI:hin ja määrittämällä saraketyypiksi Tosi/Epätosi.
Power BI muuntaa ja näyttää tiedot joissakin tilanteissa eri tavoin. Tässä osiossa kuvataan totuusarvojen yleisiä muuntamistapauksia ja sellaisten muunnosten korjaamista, jotka luovat odottamattomia tuloksia Power BI:ssä.
Tässä esimerkissä lataat tietoja siitä, ovatko asiakkaasi rekisteröityneet uutiskirjeesi saajaksi. Arvo TRUE ilmaisee, että asiakas on rekisteröinyt uutiskirjeen ja arvo FALSE ilmaisee, että asiakas ei ole rekisteröitynyt.
Kun julkaiset raportin Power BI -palvelu, uutiskirjeen kirjautumistilan sarakkeessa näkyy kuitenkin 0 ja -1 true- tai FALSE-arvon odotettujen arvojen sijaan. Seuraavissa vaiheissa kuvataan, miten tämä muunto tapahtuu ja miten se voidaan estää.
Tämän taulukon yksinkertaistettu kysely näkyy seuraavassa kuvassa:
Tilaajalle uutiskirje -sarakkeen tietotyypiksi on määritetty Mikä tahansa, ja tämän seurauksena Power BI lataa tiedot malliin tekstinä.
Kun lisäät yksinkertaisen visualisoinnin, joka näyttää yksityiskohtaiset tiedot asiakasta kohden, tiedot näkyvät visualisoinnissa odotetulla tavalla sekä Power BI Desktopissa että Power BI -palvelu julkaisun jälkeen.
Kun päivität semanttisen mallin Power BI -palvelu, visualisointien Tilaa uutiskirjeeseen -sarakkeessa näkyvät arvot -1 ja 0 sen sijaan, että ne esimerkittäisiin TRUE- tai FALSE-muodossa:
Jos julkaiset raportin uudelleen Power BI Desktopista, Tilaa uutiskirjeeseen -sarakkeessa näkyy taas TRUE tai FALSE odotetulla tavalla, mutta kun päivitys tapahtuu Power BI -palvelu, arvot muuttuvat uudelleen arvoiksi -1 ja 0.
Ratkaisu tämän tilanteen estämiseen on määrittää totuusarvosarakkeet kirjoittamaan Tosi/Epätosi Power BI Desktopissa ja julkaisemaan raportti uudelleen.
Kun teet muutoksen, visualisointi näyttää Tilaajalle uutiskirjeelle -sarakkeen arvot hieman eri tavalla. Sen sijaan, että teksti olisi kokonaan kirjoitettu taulukkoon kirjoitettuna, vain ensimmäinen kirjain kirjoitetaan isolla alkukirjaimella. Tämä muutos on yksi sarakkeen tietotyypin muuttamisesta.
Kun muutat tietotyyppiä ja julkaiset uudelleen Power BI -palvelu ja tapahtuu päivitys, raportti näyttää arvot odotetulla tavalla muodossa Tosi tai Epätosi.
Yhteenvetona: kun käsittelet totuusarvotietoja Power BI:ssä, varmista, että sarakkeille on määritetty True/False-tietotyyppi Power BI Desktopissa.
Tyhjä tyyppi
Tyhjä on DAX-tietotyyppi, joka edustaa ja korvaa SQL-tyhjäarvot. Voit luoda tyhjän käyttämällä TYHJÄ-funktiota ja testata tyhjät käyttämällä loogista funktiota ONTYHJÄ.
Binaarityyppi
Binaaritietotyypin avulla voit esittää mitä tahansa binaarimuotoisia tietoja. Power Query -editori voit käyttää tätä tietotyyppiä binaaritiedostojen lataamisessa, jos muunnat sen muihin tietotyyppeihin ennen sen lataamista Power BI -malliin.
Binaarisarakkeita ei tueta Power BI -tietomallissa. Binaarivalinta on tietonäkymän ja raportin näkymän valikoissa vanhoista syistä, mutta jos yrität ladata binaarisarakkeita Power BI -malliin, saatat kohdata virheitä.
Muistiinpano
Jos binaarisarake on kyselyn vaiheiden tulosteessa, tietojen päivittäminen yhdyskäytävän kautta voi aiheuttaa virheitä. On suositeltavaa, että poistat kaikki binaarisarakkeet kyselyiden viimeisenä vaiheena.
Taulukon tyyppi
DAX käyttää taulukkotietotyyppiä monissa funktioissa, kuten koostamisissa ja aikatietojen laskutoimituksissa. Jotkin funktiot edellyttävät viittausta taulukkoon. Muut funktiot palauttavat taulukon, jota voit sitten käyttää syötteenä muihin funktioihin.
Joissakin funktioissa, jotka edellyttävät taulukkoa syötteeksi, voit määrittää lausekkeen, joka antaa tulokseksi taulukon. Jotkin funktiot edellyttävät viittausta perustaulukkoon. Lisätietoja tiettyjen funktioiden vaatimuksista saat DAX Function Reference -artikkelista.
Implisiittinen ja eksplisiittinen tietotyyppien muuntaminen
Jokaisella DAX-funktiolla on erityisvaatimuksia, jotka koskevat syötteinä ja tulostimina käytettäviä tietotyyppejä. Jotkin funktiot edellyttävät esimerkiksi kokonaislukuja joillekin argumenteille ja päivämääriä muille. Muut funktiot edellyttävät tekstiä tai taulukoita.
Jos argumentiksi määrittämäsi sarakkeen tiedot eivät ole yhteensopivia funktion vaatiman tietotyypin kanssa, DAX voi palauttaa virheen. Aina kun mahdollista, DAX yrittää kuitenkin implisiittisesti muuntaa tiedot vaadituksi tietotyypiksi.
Esimerkkejä:
- Jos kirjoitat päivämäärän merkkijonona, DAX jäsentää merkkijonon ja yrittää luoda sen Windowsin päivämäärän ja kellonajan muodossa.
- Voit lisätä arvon TRUE + 1 ja saada tulokseksi arvon 2, koska DAX muuntaa implisiittisesti ARVON TRUE luvuksi 1 ja tekee toiminnon 1+1.
- Jos lisäät arvoja kahteen sarakkeeseen, joista toinen on esitetty tekstinä ("12") ja toinen lukuna (12), DAX muuntaa merkkijonon implisiittisesti luvuksi ja lisää sitten numeerisen tuloksen. Lauseke = "22" + 22 palauttaa arvon 44.
- Jos yrität yhdistää kaksi lukua, DAX esittää ne merkkijonoina ja sitten yhdistää ne. Lauseke = 12 & 34 palauttaa arvon "1234".
Implisiittisten tietomuunnosten taulukot
Operaattori määrittää DAX-muunnoksen tyypin määrittämällä sen vaatimat arvot ennen pyydetyn toiminnon suorittamista. Seuraavissa taulukoissa luetellaan operaattorit, ja muuntaminen DAX tekee jokaisen tietotyypin, kun se yhdistetään leikkaavan solun tietotyyppiin.
Muistiinpano
Nämä taulukot eivät sisällä Teksti-tietotyyppiä . Kun numero esitetään tekstimuodossa, Power BI yrittää joissakin tapauksissa määrittää lukutyypin ja esittää tiedot lukuna.
Yhteenlasku (+)
KOKONAISLUKU | VALUUTTA | TODELLINEN | Päivämäärä/aika | |
---|---|---|---|---|
KOKONAISLUKU | KOKONAISLUKU | VALUUTTA | TODELLINEN | Päivämäärä/aika |
VALUUTTA | VALUUTTA | VALUUTTA | TODELLINEN | Päivämäärä/aika |
TODELLINEN | TODELLINEN | TODELLINEN | TODELLINEN | Päivämäärä/aika |
Päivämäärä ja aika | Päivämäärä/aika | Päivämäärä/aika | Päivämäärä/aika | Päivämäärä/aika |
Jos esimerkiksi lisäämistoiminto käyttää reaalilukua yhdessä valuuttatietojen kanssa, DAX muuntaa molemmat arvot REAALI-arvoiksi ja palauttaa tuloksen REAALI-muodossa.
Vähennyslasku (-)
Seuraavassa taulukossa riviotsikko on vähennettävä (vasen puoli) ja sarakeotsikko on vähennettävä (oikea puoli).
KOKONAISLUKU | VALUUTTA | TODELLINEN | Päivämäärä/aika | |
---|---|---|---|---|
KOKONAISLUKU | KOKONAISLUKU | VALUUTTA | TODELLINEN | TODELLINEN |
VALUUTTA | VALUUTTA | VALUUTTA | TODELLINEN | TODELLINEN |
TODELLINEN | TODELLINEN | TODELLINEN | TODELLINEN | TODELLINEN |
Päivämäärä ja aika | Päivämäärä/aika | Päivämäärä/aika | Päivämäärä/aika | Päivämäärä/aika |
Jos esimerkiksi vähennystoiminto käyttää päivämäärää minkä tahansa muun tietotyypin kanssa, DAX muuntaa molemmat arvot päivämääriksi, ja palautusarvo on myös päivämäärä.
Muistiinpano
Tietomallit tukevat yksiparametrista operaattoria, - (negatiivinen), mutta tämä operaattori ei muuta operandin tietotyyppiä.
Kertolasku (*)
KOKONAISLUKU | VALUUTTA | TODELLINEN | Päivämäärä/aika | |
---|---|---|---|---|
KOKONAISLUKU | KOKONAISLUKU | VALUUTTA | TODELLINEN | KOKONAISLUKU |
VALUUTTA | VALUUTTA | TODELLINEN | VALUUTTA | VALUUTTA |
TODELLINEN | TODELLINEN | VALUUTTA | TODELLINEN | TODELLINEN |
Jos esimerkiksi kertolaskutoiminto yhdistää kokonaisluvun reaalilukuun, DAX muuntaa molemmat luvut reaaliluvuiksi. Palautusarvo on myös REAALI.
Jakolasku (/)
Seuraavassa taulukossa riviotsikko on osoittaja ja sarakeotsikko on nimittäjä.
KOKONAISLUKU | VALUUTTA | TODELLINEN | Päivämäärä/aika | |
---|---|---|---|---|
KOKONAISLUKU | TODELLINEN | VALUUTTA | TODELLINEN | TODELLINEN |
VALUUTTA | VALUUTTA | TODELLINEN | VALUUTTA | TODELLINEN |
TODELLINEN | TODELLINEN | TODELLINEN | TODELLINEN | TODELLINEN |
Päivämäärä ja aika | TODELLINEN | TODELLINEN | TODELLINEN | TODELLINEN |
Jos esimerkiksi jakolasku yhdistää kokonaisluvun valuutta-arvoon, DAX muuntaa molemmat arvot reaaliluvuiksi. Tulos on myös reaaliluku.
Vertailuoperaattorit
Vertailulausekkeissa DAX ottaa huomioon merkkijonoarvoja suuremmat totuusarvot ja merkkijonoarvot, jotka ovat suurempia kuin numeeriset arvot tai päivämäärä-/aika-arvot. Numeroilla ja päivämäärä- ja aika-arvoilla on sama sijoitus.
DAX ei tee implisiittisiä muunnoksia totuusarvoille tai merkkijonoarvoille. BLANK tai tyhjä arvo muunnetaan arvoksi 0, "" tai False toisen verratun arvon tietotyypin mukaan.
Seuraavat DAX-lausekkeet kuvaavat tätä toimintaa:
=IF(FALSE()>"true","Expression is true", "Expression is false")
palauttaa arvon "lauseke on tosi".=IF("12">12,"Expression is true", "Expression is false")
palauttaa arvon "lauseke on tosi".=IF("12"=12,"Expression is true", "Expression is false")
palauttaa "lauseke on epätosi".
DAX tekee implisiittisiä muunnoksia numeerisille tyypeille tai päivämäärä- ja aikatyypeille seuraavassa taulukossa kuvatulla tavalla:
Vertailu Käyttäjä |
KOKONAISLUKU | VALUUTTA | TODELLINEN | Päivämäärä/aika |
---|---|---|---|---|
KOKONAISLUKU | KOKONAISLUKU | VALUUTTA | TODELLINEN | TODELLINEN |
VALUUTTA | VALUUTTA | VALUUTTA | TODELLINEN | TODELLINEN |
TODELLINEN | TODELLINEN | TODELLINEN | TODELLINEN | TODELLINEN |
Päivämäärä ja aika | TODELLINEN | TODELLINEN | TODELLINEN | Päivämäärä/aika |
Tyhjät, tyhjät merkkijonot ja nolla-arvot
DAX edustaa tyhjäarvoa, tyhjää arvoa, tyhjää solua tai puuttuvaa arvoa samalla uudella arvotyypillä eli BLANK-arvolla. Voit myös luoda tyhjiä kohtia käyttämällä TYHJÄ-funktiota tai testata tyhjät ISBLANK-funktiolla.
Se, miten toiminnot, kuten yhteenlasku tai ketjutus, käsittelevät tyhjiä kohtia, riippuu yksittäisestä funktiosta. Seuraavassa taulukossa on yhteenveto eroista sen välillä, miten DAX- ja Microsoft Excel -kaavat käsittelevät tyhjiä kohtia.
Expression | DAX | Excel |
---|---|---|
TYHJÄ + TYHJÄ | TYHJÄ | 0 (nolla) |
TYHJÄ + 5 | 5 | 5 |
TYHJÄ * 5 | TYHJÄ | 0 (nolla) |
5/BLANK | Infinity | Error |
0/BLANK | NaN | Error |
TYHJÄ/TYHJÄ | TYHJÄ | Error |
EPÄTOSI TAI TYHJÄ | FALSE | FALSE |
EPÄTOSI JA TYHJÄ | FALSE | FALSE |
TOSI TAI TYHJÄ | TRUE | TRUE |
TOSI JA TYHJÄ | FALSE | TRUE |
TYHJÄ TAI TYHJÄ | TYHJÄ | Error |
TYHJÄ JA TYHJÄ | TYHJÄ | Error |
Liittyvä sisältö
Voit tehdä kaikenlaista Power BI Desktopilla ja tiedoilla. Lisätietoja Power BI -ominaisuuksista on seuraavissa resursseissa: