SQLShack

Microsoft Power BI tukee kahta eri kieltä, M-kieltä ja DAX:ää (Data Analysis Expression), joita voidaan käyttää tietojen suodattamiseen, hallintaan ja visualisointiin.

M-kieltä voidaan pitää kyselykaavakielenä, ja sitä voidaan käyttää Power BI:n kyselyeditorissa tietojen valmistelemiseksi ennen kuin ne voidaan ladata Power BI:n malliin.

Toisaalta DAX on analyyttinen datan laskentakieli, jota voidaan käyttää syvälliseen data-analyysiin Data View -vaiheessa.

M ja DAX eivät ole riippuvaisia toisistaan, ja ne noudattavat täysin erilaisia rakenteita ja logiikoita, ja niiden taustalla on eri koodit. M:ää ja DAX:ää ei voi käyttää samanaikaisesti, koska M-kieltä käytetään kyselyeditorissa, kun taas DAX:ää käytetään enimmäkseen Data View -mallissa.

Tässä blogikirjoituksessa näytetään esimerkkien avulla, miten M ja DAX eroavat toisistaan Power BI:ssä. Katso tästä artikkelista pikaesittely DAX:ään.

Tietokannan tuonti

Tässä osiossa tuomme kuvitteellisen tietokannan, jota käytämme M-kielen ja DAX-kyselyjen suorittamiseen. Aloita tämä napsauttamalla ylävalikon ”Get data” -painiketta, kuten seuraavassa kuvakaappauksessa näkyy.

Uusi valintaikkuna listaa kaikki Power BI:ssä avoinna olevat tietolinkit.

Lisää haku-kohtaan ”web”, ja hyvin pian Web”-tietovaihtoehto ilmestyy näkyviin, ja myös kuvake tulee näkyviin Kaikkien tietolähteiden vaihtoehdoissa. Valitse Web”-vaihtoehto ja napsauta sitten alareunassa olevaa ”connect”-painiketta. Tämä näkyy selvästi alla olevassa kuvakaappauksessa.

Alla olevassa kuvakaappauksessa näkyvä valintaikkuna tulee näkyviin. Sinun on nyt lisättävä alla oleva URL-osoite URL-osoitteella merkittyyn kenttään:

https://raw.githubusercontent.com/treselle-systems/customer_churn_analysis/master/WA_Fn-UseC_-Telco-Customer-Churn.csv

Klikkaa ”OK” vahvistaaksesi, kun tämä on tehty.

Tässä on kuvakaappaus viitteeksi:

Tämä URL-osoite johdattaa Power BI:n Githubiin, jossa säilytetään tarvitsemamme CSV-tietotiedosto. Datatiedostossa on yksityiskohtaiset tiedot televiestintäasiakkaiden vaihtuvuustiedostosta. Se sisältää tietoja teleyrityksen asiakkaista, jotka ovat lähteneet yrityksestä tietyn ajanjakson jälkeen.

Tiedoston koosta riippuen datan lataaminen etäsivustolta saattaa kestää jonkin aikaa.

Kun data on ladattu, sinulla on kaksi vaihtoehtoa: voit joko tuoda datan suoraan Data/Report View -näkymään (Data/Report View) tai ladata datan ensin Query Editoriin. Koska M-kieli toimii kyselyeditorissa, lataamme tiedot ensin kyselyeditoriin napsauttamalla ”Transform Data” (Muunna tiedot), kuten seuraavassa kuvakaappauksessa näkyy:

Näet, että tietokokonaisuus sisältää tietoja asiakkaasta, kuten sukupuolen, virka-aseman, puhelinpalvelun, Internet-palvelun, huollettavat jne.

Kun napsautat Transform-painiketta, sinun pitäisi nähdä seuraava kyselyeditori.

M-kielen ja DAX:n erot

Edellisessä osiossa yhdistimme Power BI:n GitHubissa olevaan dummy-tietoaineistoon. Tässä osiossa näet esimerkkien avulla M-kielen ja DAX:n erot.

M-kieli

Ensin katsotaan, mikä M-kieli on ja miten sitä käytetään Power BI:ssä. Kuten aiemmin sanoin, M-kieltä käytetään tietojen hallintaan ja suodattamiseen kyselyeditorissa. Jos olet sulkenut kyselyeditorin, voit avata sen napsauttamalla ylävalikosta ”Muokkaa kyselyitä” -vaihtoehtoa.

Kyselyeditorissa näytön vasemmanpuoleisessa paneelissa on ainoana taulukkonimenä taulukkosi, kuten alla näkyy. Napsauta kyselyeditorin vasemmasta paneelista ”WA_Fn-UseC_-Telco-Customer-Churn”-tietotaulukkoa alla esitetyllä tavalla:

Näet kyselyt M. Valitse mikä tahansa sarake, esimerkiksi ”Kumppani”, ja napsauta sitten ylävalikosta ”Poista sarakkeet” -painiketta. Se poistaa ”Partner”-sarakkeen taulukosta alla esitetyllä tavalla:

Seuraavaksi napsauta ylävalikosta ”View”-vaihtoehtoa, kuten seuraavassa kuvakaappauksessa on korostettu.

Napsauta valintaruutua ”Formula Bar”. Kaavapalkissa pitäisi nyt näkyä kysely, kuten seuraavassa kuvakaappauksessa on korostettu. Kysely tässä on ”= Table.RemoveColumns(#”Changed Type”,{”Partner”}). Tämä kysely on M-kielinen kysely, jota käytetään ”Partner”-sarakkeen poistamiseen valitusta taulukosta. Voit nähdä, että M-kielinen kysely muistuttaa enemmän SQL- tai LINQ-komentoa (Language Integrated Query) C#-kielessä.

Jos haluat nähdä kaikki aiemmin suoritetut M-kyselyt tietokokonaisuudessasi, voit napsauttaa ”View – Advanced Editor” (Näytä – Lisäeditori) -painiketta, kuten seuraavassa kuvakaappauksessa näkyy.

Kun napsautat ylävalikosta ”Advanced Editor” -vaihtoehtoa, sinun pitäisi nähdä alla olevan kuvan mukainen Advanced Editor -ikkuna. Advanced Editor -ikkuna sisältää kaikki M-kieliset kyselyt, jotka olet suorittanut tähän mennessä nykyisessä istunnossa.

Näet, että viimeinen kysely on se, jolla poistettiin ”Partner”-sarake taulukosta. Sitä ennen ”Muuta tyyppiä” -kyselyä käytetään tietotyyppien määrittämiseen tietokokonaisuuden eri sarakkeille. Sitä ennen ”Promoted Headers” -kyselyä käytetään otsikkosarakkeiden määrittämiseen. Jos suoritat toisen kyselyn, se näkyy ”Advance Editorin” kyselyluettelon alareunassa.

Yritetään lisätä yksinkertainen sarake kirjat-taulukkoon ja katsotaan M-kyselyä sitä varten. Napsauta ikkunan yläreunan valikossa olevaa ”Lisää sarake -> Mukautettu sarake” -vaihtoehtoa, kuten näet alla:

Sinun pitäisi nähdä alla oleva ikkuna. Napsauta ”TotalCharges”- ja ”MonthlyCharges”-sarakkeita yksitellen ja napsauta sitten ”Insert”-painiketta lisätäksesi ne kyselyeditori-ikkunaan. Lisää kyselyeditori-ikkunassa ”+”-merkki kahden sarakkeen nimen väliin ja napsauta ”OK”-painiketta.

Sinun pitäisi nähdä, että taulukkoon on lisätty uusi sarake ”Kuukausikohtainen kokonaissumma” alla olevan kuvan mukaisesti. Kaavapalkissa näet myös M-kyselyn, joka on luotu sarakkeen ”Monthly-Total” luomiseksi. Sarake ”Monthly-Total” näyttää periaatteessa sarakkeiden ”TotalCharges” ja ”MonthlyCharges” arvojen summan.

Jos nyt avaat jälleen ”Advanced Editor”-ikkunan, näet ”Monthly-Total”-sarakkeen lisäämiseen käytetyn kyselyn edistyneen editorin kyselyjen alareunassa.

Nyt tiedämme, miten M-kieli toimii ja miltä se näyttää. Seuraavassa osiossa yritämme luoda saman ”Monthly-Total 2” -sarakkeen DAX:n (Data Analysis Expression) avulla.

DAX-kyselyt suoritetaan tietonäkymässä, joten meidän on siirrettävä tiedot kyselyeditorista tietonäkymään. Tätä varten napsauta kyselyeditorissa ylävalikosta ”Sulje & Sovelletaan” -vaihtoehtoa alla esitetyllä tavalla:

Kun napsautat ”Sulje & Sovelletaan” -painiketta, tietonäkymä avautuu.

DAX (Data Analysis Expression)

Tässä osassa katsotaan, miten Kirjat-taulukkoon lisätään uusi sarake DAXin avulla. Napsauta tietonäkymässä ylävalikosta ”Mallinnus -> Uusi sarake” -vaihtoehtoa alla esitetyllä tavalla:

Kun napsautat ”Uusi sarake” -vaihtoehtoa, sinun pitäisi nähdä seuraava ikkuna. Kaavapalkissa näet oletussarakkeen nimen. Voit suorittaa DAX-kyselyitä tässä kaavapalkissa.

Kirjoita kaavapalkkiin kysely ”Kuukausisumma 2 = + ” ja paina ”Enter”-näppäintä. Kun painat Enter-näppäintä, näet uuden sarakkeen ”Monthly-Total 2”, joka näyttää ”TotalCharges”- ja ”MonthlyCharges”-sarakkeiden arvojen summan.

Näet, että DAX-kyselyt muistuttavat enemmän MS Exceliä.

Johtopäätös

M-kieli ja DAX ovat kaksi Power BI:n tukemaa kieltä, joilla tietoja voidaan käsitellä, suodattaa ja analysoida. Vaikka molemmilla kielillä on samanlaiset toiminnot, ne toimivat toisistaan riippumatta. M-kieltä käytetään tietojen esikäsittelyyn kyselyeditorissa, kun taas DAX-kieltä käytetään tietojen analysointiin sen jälkeen, kun tiedot on ladattu tietonäkymämalliin.

  • Author
  • Recent Posts
Ben Richardson pyörittää Acuity Training johtavaa SQL-koulutuksen tarjoajaa Yhdistyneessä kuningaskunnassa. Se tarjoaa täyden valikoiman SQL-koulutusta peruskursseista edistyneeseen hallintakoulutukseen ja tietovarastokoulutukseen – katso lisätietoja täältä. Acuityllä on toimistot Lontoossa ja Guildfordissa, Surreyssä. Hän myös bloggaa satunnaisesti Acuityn blogissa
Katso kaikki käyttäjän Ben Richardson viestit

Viimeisimmät viestit käyttäjältä Ben Richardson (katso kaikki)
  • Työskentely Power BI:n raporttiteemojen kanssa – 25. helmikuuta 2021
  • Power BI: Vesiputouskaaviot ja yhdistetyt visuaalit – 19. tammikuuta 2021
  • Power BI: Ehdollinen muotoilu ja tietovärit toiminnassa – 14. tammikuuta 2021

Vastaa

Sähköpostiosoitettasi ei julkaista.