DAX:n optimointi LuckyTemplatesille DAX Studion avulla – Formula Engines

Kun optimoit tietomalliasi ja DAX for LuckyTemplates, se auttaa muistamaan, että kulissien takana toimii kaksi moottoria – kaavamoottori ja tallennusmoottori .

Nämä kaksi moottoria toimivat yhdessä palauttaakseen tarvittavat tulokset takaisin käyttäjälle. Ne tarjoavat tulokset taulukon tai asteikkoarvon muodossa.

Sisällysluettelo

Formula-moottorin rooli

Tässä artikkelissa keskitymme kaavamoottoriin.

Kaavamoottori on huipputason moottori, joka hallitsee kyselyn koko arkkitehtuuria.

Mitä tahansa teetkin suorittaessasi kyselyä tai luodessasi laskettua saraketta tai laskettua taulukkoa, kaavamoottori käynnistyy.

Kaavamoottori ymmärtää DAX:n lisäksi myös MDX:ssä vastaanotetut kyselyt. Kun esimerkiksi käytät Exceliä, luot pivot-malleja pivot-taulukoiden perusteella, ja pivot-taulukot käyttävät itse asiassa MDX-kieltä.

Tässä kaavamoottori käynnistyy. Koska se ymmärtää sekä DAX:n että MDX:n, voit käyttää toista LuckyTemplates-mallia. Tästä tietomallista lähetetyt kyselyt käyttävät DAXia, kun taas pivot-mallista tulevat kyselyt käyttävät MDX:ää.

Kuinka Formula Engine toimii

Joko MDX- tai DAX-lähteestä peräisin olevien kyselyjen ymmärtäminen on vain yksi tekijä kaavamoottorin suorituskyvyssä. Se käy läpi myös muita vaiheita, jotka auttavat sinua työstämään kyselyjäsi.

Ensin sen on luotava kyselysuunnitelma, jonka tallennuskone ymmärtää . Alemman tason moottorina tallennusmoottori ei itse asiassa tiedä, suorittiko kyselyn Excelin pivot-taulukko vai LuckyTemplatesin sisällä oleva visuaalinen kuva.

Luodessaan kyselysuunnitelmaa kaavamoottori rakentaa ensin loogisen kyselysuunnitelman ja sitten fyysisen kyselysuunnitelman. Sekä loogisen että fyysisen kyselysuunnitelman tulee näyttää toisilta.

Fyysisen kyselysuunnitelman suorittamisen jälkeen käyttäjä tai asiakastyökalu saa tulosjoukon. Sieltä asiakastyökalu sanelee, kuinka se käyttää tuloksia tai tietojoukkoa näyttääkseen lopputuloksen käyttäjälle.

Formula Enginen tärkeimmät rajoitukset

Kaavamoottorilla on valtava rooli, kun optimoit DAX:ia LuckyTemplatesille DAX Studion avulla. Siihen liittyy kuitenkin myös joitain rajoituksia.

Ensinnäkin kaavamoottori käyttää aina yhtä ydintä koko toiminnan hallintaan riippumatta siitä, kuinka monta CPU-ydintä järjestelmässäsi on käytettävissä .

Kun avaan Tehtävienhallinnan, näet, että prosessorissani on kuusi ydintä.

DAX:n optimointi LuckyTemplatesille DAX Studion avulla – Formula Engines

Tästä tosiasiasta huolimatta kaavamoottori valitsee edelleen yhden näistä kuudesta ytimestä käytettäväksi, kun taas se jättää tallennusmoottorin käyttämään loput.

Toiseksi kaavamoottorilla ei ole suoraa pääsyä tietokantaasi . Tämän rajoituksen vuoksi sinun on tallennettava tiedot joko sisäiseen muistiin tai voit tallentaa tietokantaan ja luoda DirectQueryn kyseisen tietokannan kautta.

Se luottaa myös tallennusmoottoriin saadakseen tiedot datavälimuistin muodossa. Kaavamoottori iteroi sitten datavälimuistin yli jatkaakseen ennen kuin se voi tarjota tuloksia loppukäyttäjälle.

Kuinka Formula Engine auttaa optimoimaan DAX:n LuckyTemplatesille

Joskus, kun yrität optimoida tietomalliasi tai DAX for LuckyTemplates, huomaat tallennusmoottorin hidastuvan suorittaessaan kyselyjä. Tässä tapauksessa voit käyttää kaavamoottoria koko laskennan suorittamiseen optimoidaksesi prosessin.

Huomaa, että jos kaavamoottori päätyy rakentamaan koko taulukon yksinään, prosessissa luotuja tulosjoukkoja ei käytetä seuraavissa asiakastyökalun luomissa kyselyissä, jos ne ovat samanlaisia ​​kuin aiemmin suoritetut kyselyt . Mutta jos tallennuskone tarjoaa välimuistin, kyseinen välimuisti voidaan säilyttää muistissa, jotta se voi optimoida asiakastyökalulta tulevat pyynnöt.

Miten se toimii?

Oletetaan, että kirjoitamme kyselyn, jonka tallennusmoottori suorittaa kokonaan, mutta joidenkin näkökohtien tulee laskea kaavamoottorilla. Tässä tapauksessa tallennuskone lähettää datavälimuistin takaisin kaavamoottorille ja tämä välimuisti (jos se on yksinkertainen) voidaan säilyttää muistissa.

Nyt, jos samanlainen kysely tulee muutaman sekunnin kuluttua, sen sijaan, että skannattaisiin koko tietomalli uudelleen, kaavamoottori tai tallennuskone käyttää kyseistä datavälimuistia, jotta kyselyaikaa voidaan lyhentää ja käyttökokemusta voidaan parantaa. parantunut.

Kaavamoottorin kuormituksen vähentäminen

Jälleen kaavamoottori ymmärtää DAX- ja MDX-koodit.

Joten jos käytät,ja muut tehtävät, kaavamoottori tuntee kaikki käyttämäsi toiminnot DAX-kielessä ja pystyy ratkaisemaan ne kaikki itse. Tämä voi kuitenkin vaikuttaa kyselyn suorituskykyyn, varsinkin kun kaavamoottori yrittää tehdä kaiken käyttämällä yhtä ydintä.

Tästä syystä meidän on myös oltava tietoisia kaavamoottorin kuormituksen vähentämisestä ja varastomoottorin kuormituksen lisäämisestä.

Hyvä esimerkki siitä, kuinka erilainen laskenta on kaavamoottorissa verrattuna tallennusmoottoriin, on CROSSJOIN-funktion käyttö..

Kun käytät CROSSJOINia, tallennusmoottorin läpi kulkee vain rajoitettu määrä tietoa. Mitä tulee muuhun laskentaan, sen kaiken suorittaa kaavamoottori. Vertailun vuoksi SUMMARIZE tarkoittaa koko kyselyn suorittamista tallennuskoneessa.

Tämä riippuu tietysti myös siitä, kuinka SUMMARIZEa käytetään.

Jos SUMMARIZE-toimintoa käytetään sisimpänä toimintona, se työnnetään varmasti alas varastomoottoriin. Mutta joissakin tapauksissa SUMMARIZE-komentoa käytetään yhdessä toisen koodin kanssa, joka edellyttää kaavamoottorin toimintaa. Tässä tapauksessa kaavamoottori astuu sisään ja tekee työn.

Kun tiedät, minne kuorma menee, voit optimoida kyselysi suorituskyvyn, varsinkin kun pidät mielessäsi käytettävissäsi olevien moottoreiden kapasiteetin ja rajoitukset.

Työkalut, jotka voivat auttaa optimoimaan DAX:n LuckyTemplatesille

DAX:n optimointi on helpompaa, jos maksimoit sen mahdollistavat työkalut. DAX Studio on yksi niistä työkaluista.

Otetaanpa aikaisempi esimerkki, jossa kaavamoottori ottaa koko laskennan suorittamisen kuormituksen, kun käytetään SUMMARIZE-funktiota. DAX Studio voi auttaa sinua kirjoittamaan koodisi uudelleen tavalla, joka työntää SUMMARIZEn tallennusmoottoriin, mikä vapauttaa kaavamoottorin kuormitusta. Tämä saattaa parantaa tietomallisi ja kyselyjesi suorituskykyä.

Tietenkin tämän pitäisi toimia saumattomasti yksinkertaisissa kyselyissä. On myös monimutkaisempia skenaarioita.

Voit esimerkiksi rakentaa yhdistelmämalleja, jotka käyttävät kahta tallennuskonetta itse tietomallissa. Toinen voisi olla Vertipaqille, kun taas toinen olisi DirectQuerylle. Tässä tapauksessa tietokantasi on optimoitava siten, että luodut kyselyt rakennetaan kyseiselle relaatiotietomallille.

Oletetaan, että päivämäärämallissasi on kaksi taulukkoa – Tuotteet-taulukko ja Myynti-taulukko. Tuotteet-taulukko on Vertipaq-varastossa, kun taas Sales-taulukko, joka on suurempi taulukko, on tallennettu suoraan tietokantaan DirectQuery-yhteyden kautta.

Oletetaan myös, että vedät Brand-sarakkeen matriisiin sekä kokonaismyynnin mittaa, joka tulee DirectQuery-yhteyden myyntitaulukosta.

Tässä tapauksessa kaavamoottorin on suoritettava toiminto molempien moottoreiden välillä.

Ensin se hakee Product Key- ja Brand -sarakkeet Tuotteet-taulukosta. Sitten se hakee Nettohinta-, Määrä- ja Tuoteavain-sarakkeet Myynti-taulukosta. Kun sillä on tietovälimuisti sekä Vertipaqista että DirectQuerysta, kaavamoottorin on otettava tietovälimuisti ja yritettävä yhdistää ne, jotta tulokset saadaan loppukäyttäjälle.




Johtopäätös

Kaavamoottorilla on todella suuri rooli, kun työskentelet DAX:n kanssa. On kuitenkin tärkeää ymmärtää, miten se toimii, ennen kuin hyppää mukaan. Kaavamoottorin ja tallennusmoottorin saumattomasti yhteen saaminen on tärkeää, varsinkin jos haluat DAX-kyselyjesi toimivan paremmin.

Analyysipalveluarkkitehtuurin huipputason moottorina kaavamoottorin on suoritettava paljon toimintoja. Mutta kun ymmärrät myös varastomoottorin jkt puolensa, voit selvittää, mikä toiminto työnnä varastomoottoriin ja mikä jätetään kaavamoottoriin.

Syvennymme tallennusmoottoriin erillisessä opetusohjelmassa.

Kaikki parhaat,


Scatter Plot In R Script: Kuinka luoda ja tuoda

Scatter Plot In R Script: Kuinka luoda ja tuoda

Tässä opetusohjelmassa opit luomaan R-sirontakaavion visualisoinnin LuckyTemplatesissa käyttämällä R Script -visuaalia.

Nosta ulkoiset työkalut -valikkoasi LuckyTemplatesissa

Nosta ulkoiset työkalut -valikkoasi LuckyTemplatesissa

Tunne LuckyTemplatesin parhaat ulkoiset työkalut ja opi asentamaan ne LuckyTemplates-työpöydällesi. Nämä antavat raporteillesi enemmän ominaisuuksia.

Luo nopea mittaus LuckyTemplatesissa Quick Measures Pron avulla

Luo nopea mittaus LuckyTemplatesissa Quick Measures Pron avulla

Tässä blogissa opimme ja harjoittelemme Quick Measures Prota, joka on välttämätön ulkoinen työkalu LuckyTemplatesin pikamittausten tekemiseen.

Näytä viimeinen päivityspäivämäärä/aika LuckyTemplates-raporteissasi

Näytä viimeinen päivityspäivämäärä/aika LuckyTemplates-raporteissasi

Opi keksimään tarkka viimeinen päivityspäivä LuckyTemplates-raportille. Sinun tarvitsee vain käyttää M-koodia ja edistynyttä editoria.

Tilikauden dynaaminen suodatus LuckyTemplates-raporteissa

Tilikauden dynaaminen suodatus LuckyTemplates-raporteissa

Tässä opetusohjelmassa kerron, kuinka voit tehokkaasti suodattaa useita tietoja tilikauden aikana LuckyTemplates-raporteissasi.

Power Query M -kielen opetusohjelma ja hallinta

Power Query M -kielen opetusohjelma ja hallinta

Tässä opetusohjelmassa keskustellaan M-kielen onnistuneesta käyttöönotosta ja yleisten virheiden ratkaisemisesta Power Query Editorissa.

Pandas Drop Index -sarake: selitetty esimerkein

Pandas Drop Index -sarake: selitetty esimerkein

Pandas Drop Index -sarake: selitetty esimerkein

7 tapaa tarkistaa, sisältääkö Python-merkkijono alimerkkijonon

7 tapaa tarkistaa, sisältääkö Python-merkkijono alimerkkijonon

7 tapaa tarkistaa, sisältääkö Python-merkkijono alimerkkijonon

Power Automate Dynaamisen sisällön yleiskatsaus

Power Automate Dynaamisen sisällön yleiskatsaus

Ymmärrä, mitä Power Automate Dynamic Content on ja kuinka sen avulla käyttäjät voivat valita kenttäviittauksia aiemmista vaiheista tai kirjoittaa lausekkeita.

Tiedoston sijainnin muuttaminen LuckyTemplatesin kyselyparametrin avulla

Tiedoston sijainnin muuttaminen LuckyTemplatesin kyselyparametrin avulla

Tässä opetusohjelmassa opit jakamaan tiedoston sellaisen henkilön kanssa, joka ei kuulu yritykseesi, käyttämällä sql-kyselyparametria LuckyTemplatesissa.