Paranna suorituskykyä ja vianmääritystä muuttujien avulla

Valmis

Voit käyttää DAX-kaavoissa muuttujia, joiden avulla voit kirjoittaa yksinkertaisempia ja tehokkaampia laskutoimituksia. Power BI Desktopin käyttöä aloittavat kehittäjät käyttävät muuttujia liian vähän, mutta ne ovat tehokkaita, ja niitä tulisi käyttää oletusarvoisesti mittareita luotaessa.

Jotkin lausekkeet edellyttävät useiden sisäkkäisten funktioiden käyttämistä ja lausekelogiikan uudelleenkäyttöä. Näiden lausekkeiden käsittely kestää kauemmin, ja niiden lukeminen ja näin ollen vianmääritys on hankalaa. Jos käytät muuttujia, voit säästää kyselyn käsittelyyn kuluvaa aikaa. Tämä muutos on askel oikeaan suuntaan semanttisen mallin suorituskyvyn optimoinnissa.

Muuttujien käyttö semanttisessa mallissa tarjoaa seuraavat edut:

  • Parempi suorituskyky: Muuttujat voivat tehostaa mittareita, koska ne poistavat Power BI:ltä tarpeen arvioida sama lauseke moneen kertaan. Voit saavuttaa samat tulokset kyselyssä noin puolessa alkuperäisestä käsittelyajasta.

  • Parempi luettavuus: Muuttujilla on lyhyet, kuvaavat nimet, ja niitä käytetään moniselitteisen, monisanaisen lausekkeen sijaan. Kaavojen lukeminen ja ymmärtäminen voi olla helpompaa muuttujia käytettäessä.

  • Yksinkertainen virheenkorjaus: Voit käyttää muuttujia kaavan ja testilausekkeiden virheenkorjaukseen, mistä voi olla hyötyä vianmäärityksen aikana.

  • Monimutkaisuuden vähentäminen: Muuttujat eivät edellytä vaikeasti ymmärrettävien EARLIER- tai EARLIEST-DAX-funktioiden käyttämistä. Näitä funktioita tarvittiin ennen muuttujien käyttöönottoa, ja ne kirjoitettiin monimutkaisiksi lausekkeiksi, jotka ottivat käyttöön uusia suodatinkonteksteja. Nyt kun voit käyttää muuttujia näiden funktioiden sijaan, voit kirjoittaa yksinkertaisempia kaavoja.

Paranna suorituskykyä muuttujien avulla

Seuraavassa taulukossa esitetään mittarin määritys kahdella eri tavalla havainnollistamaan sitä, miten voit tehostaa mittaria muuttujan avulla. Huomaa, että kaava toistaa lausekkeen, joka laskee ”saman ajanjakson viime vuonna”, mutta kahdella eri tavalla: ensimmäisessä käytetään normaalia DAX-laskentamenetelmää ja toisessa käytetään muuttujia laskennassa.

Taulukon toisella rivillä esitetään parannettu mittarin määritys. Tämä määritys käyttää VAR-avainsanaa muuttujan nimeltä EdellisvuodenMyynti käyttöön ottamiseksi, ja se käyttää lauseketta, joka määrittää ”sama ajanjakso viime vuonna” -tuloksen tähän uuteen muuttujaan. Sen jälkeen se käyttää muuttujaa kahdesti DIVIDE-lausekkeessa.

Ilman muuttujaa

Sales YoY Growth =
DIVIDE (
    ( [Sales] - CALCULATE ( [Sales], PARALLELPERIOD ( 'Date'[Date], -12, MONTH ) ) ),
    CALCULATE ( [Sales], PARALLELPERIOD ( 'Date'[Date], -12, MONTH ) )
)

Muuttujan kanssa

Sales YoY Growth =
VAR SalesPriorYear =
    CALCULATE ( [Sales], PARALLELPERIOD ( 'Date'[Date], -12, MONTH ) )
VAR SalesVariance =
    DIVIDE ( ( [Sales] - SalesPriorYear ), SalesPriorYear )
RETURN
    SalesVariance

Taulukon ensimmäisessä mittarin määrityksessä kaava on tehoton, koska se edellyttää, että Power BI arvioi saman lausekkeen kahdesti. Toinen määritys on tehokkaampi, koska muuttujan vuoksi Power BI:n tarvitsee arvioida PARALLELPERIOD-lauseke vain kerran.

Jos semanttisessa mallissasi on useita kyselyitä, joissa on useita mittareita, muuttujien käyttö voi puolintaa kyselyn yleisen käsittelyajan ja parantaa semanttisen mallin yleistä suorituskykyä. Lisäksi tämä ratkaisu on yksinkertainen. Ajattele, kuinka paljon säästöä syntyy, kun kaavat monimutkaistuvat esimerkiksi silloin, kun käsittelet prosenttiosuuksia ja kokonaissummia.

Paranna luettavuutta muuttujien avulla

Parantuneen suorituskyvyn lisäksi saatat huomata, miten muuttujien käyttö tekee koodista helpompaa lukea.

Muuttujia käytettäessä on parasta antaa niille kuvaavia nimiä. Edellisessä esimerkissä muuttujan nimi on EdellisvuodenMyynti, joka ilmoittaa selvästi, mitä muuttuja laskee. Mieti tulosta käytettäessä muuttujaa nimeltä X, temp tai muuttuja1: muuttujan tarkoitus ei ole selvä.

Käyttämällä selkeitä, ytimekkäitä ja merkityksellisiä nimiä sinun on helpompi ymmärtää, mitä yrität laskea, ja muiden kehittäjien on huomattavasti helpompi ylläpitää raporttia jatkossa.

Useiden vaiheiden vianmääritys muuttujien avulla

Muuttujien avulla sinun on helpompi korjata kaavan virhe ja tunnistaa ongelma. Muuttujat helpottavat DAX-laskennan vianmäärityksen tekemistä, koska kukin muuttuja arvioidaan erikseen ja ne palautetaan RETURN-lausekkeen jälkeen.

Seuraavassa esimerkissä testaat muuttujalle määritetyn lausekkeen. Virheenkorjauksen korjaukseksi return-lauseke kirjoitettiin tilapäisesti uudelleen muuttujaan kirjoittamiseksi. Mittarimääritys palauttaa vain Edellytysvuosi-muuttujan , koska se tulee RETURN-lausekkeen jälkeen.

Sales YoY Growth % =
VAR SalesPriorYear =  CALCULATE([Sales], PARALLELPERIOD('Date'[Date], -12, MONTH))
VAR SalesPriorYear% = DIVIDE(([Sales] - SalesPriorYear), SalesPriorYear)  
RETURN  SalesPriorYear%

RETURN-lauseke näyttää vain SalesPriorYear% -arvon. Tämän tekniikan avulla voit palauttaa lausekkeen, kun virheenkorjaus on valmis. Sen avulla on myös helpompi ymmärtää laskutoimituksia DAX-koodin yksinkertaistumisen vuoksi.