Joulupähkinä #4 – DAX, Viikonpäivät järjestykseen

Neljäs pähkinä on taas DAX:ia. Aika yleinen tarve raportoinnissa on saada esimerkiksi myynti per viikonpäivä tai myynti per kuukausi – tyyppinen suure. Monet käyttäjät haluavat nähdä nimet numeroiden sijaan, joten x-akselille pitää saada vaikka viikonpäivät tyyliin “maanantai”, “tiistai”, “keskiviikko” jne… Viikonpäivät eivät kuitenkaan ole luonnollisesti aakkosjärjestyksessä ja Power BI järjestelee elementit aakkosten mukaan oletuksena. Päivän tehtävänä on muokata oheista raporttia niin, että päivät menevät järjestykseen. Koska Microsoft Forms ei mahdollista liitetiedoston palauttamista, tulee sinun palauttaa kuvaus siitä miten ratkaisit ongelmaa.

Esimerkkiraportilla olen laittanut järjestyksen menemään viikonpäivän mukaan, mutta valitettavasti järjestys on aakkoksellinen ja käyttäjät haluavat maanantain ekaksi ja sunnuntain vikaksi. Tässä tehtävässä on tärkeää että kokeilet toimintoa itse raportilla, koska saatat vaikka oppia jotain uutta!

Raportti on direct query raportti. Jos Power BI kysyy käyttäjätunnuksia datalähteeseen, ovat ne:

  • Palvelin: qsql.database.windows.net
  • Tietokanta: AdventureWorksLT
  • Käyttäjätunnus: joulu
  • Salasana: kalenteri123!

Palauta tehtävä tänne.

Pähkinän #3 ratkaisu

Pähkinä #3 oli selkeästi joko tylsä tai vaikea… Vain 4 vastausta. Hauskimmassa vastauksessa oli “Copying with pride!” kommentti.

Ongelma ei ole helppo, mutta minun käyttämäni ratkaisu perustuu kahteen Power Queryn ominaisuuteen. Voit viitata aiempiin stepeihin ihan vain nimellä missä kohdassa skriptiä tahansa ja let … in -lauserakenteita saa olla useita sisäkkäin. Tämä mahdollistaa muuttujien käytön yhden stepin sisällä.

Avain on tuossa siniseksi maalatussa kohdassa. Siinä lisätään uusi sarake, joka on taulu aikaisemmasta vaiheesta. Lisäksi siinä käytetään muuttujia CurrentYear ja CurrentMonth, jotka pystytään luomaan let-rakenteella. Näiden avulla pystytään filteroimaan soluun lisättävää taulua niin että siinä on vain myynti kyseisen kuun loppuun saakka. Loppu onkin ihan käyttöliittymällä naksuttelua.

Maalatun vaiheen jälkeen tulosjoukko näyttää tältä.