Päivämäärätaulukon luominen LuckyTemplatesissa
Ota selvää, miksi LuckyTemplatesissa on tärkeää pitää oma päivämäärätaulukko ja opi nopein ja tehokkain tapa tehdä se.
Tässä opetusohjelmassa opit optimoimaan mittaa LuckyTemplatesissa. Raportin toimenpiteiden optimointi parantaa koodien suorituskykyä arvokkaiden oivallusten ja tietojen tuottamisessa. Opit myös erilaisista arviointimenetelmistä ja niiden soveltamisesta raportin optimointiin. Voit katsoa tämän opetusohjelman koko videon tämän blogin alaosasta.
Sisällysluettelo
1. Analysoi koodin suorituskykyä
Tässä esimerkissä sinun on optimoitava tämä raportti:
Tämä on tietomalli, jota aiot käyttää:
Työt -taulukko sisältää kaikki tiedot kaikista tietyn ajanjakson aikana suoritetuista töistä.
Tämä taulukko on perusta kaikille mitoille, jotka aiot optimoida:
Ensin sinun on testattava raportin suorituskyky.
Siirry Näytä-välilehdelle ja valitse. Napsauta sitten Aloita tallennus ja Refresh Visuals . Odota, että analysaattori näyttää kuvan.
Kun tämä on tehty, pudota Incentive Breakdown -luettelo ja napsauta Kopioi kysely .
Valitse seuraavaksi Ulkoiset työkalut siirtyäksesi DAX Studioon ja katsoaksesi LuckyTemplatesin luomaa koodia.
Liitä sitten kopioitu kysely työtilan sisään.
Muuttujat mittana
Ensimmäinen muuttuja on DateClosed , joka on kojelaudan leikkuri. Se käyttää Fakta-taulukon saraketta saadakseen tiettyjen jaksojen arvot viipalointityökalussa.
Seuraava muuttuja on JobLost , joka tarkistaa vääriä tai tyhjiä kadonneita tietoja.
Viimeinen muuttuja on MatrixVisual . Tämä on koodin ydin. Se näyttää yhteenvedon sarakkeen, jonka LuckyTemplates on luonut matriisivisuaalien täyttämiseksi. Se ryhmittelee tähän matriisiin työn menetystyypin ja ruiskuttaa suodattimia, jotka tulevat viipaloittimista. Sitten se lisää laajennetut sarakkeet.
Kun yhteenvetosarake on suorittanut suorituksen, näet tulokset koodin alla olevassa ruudussa.
LuckyTemplates käyttää tulosta matriisivisuaalien täyttämiseen.
Kylmä välimuisti DAX Studiolle
Seuraavaksi sinun on tarkistettava koko koodin suorittamiseen käytetty aika. Voit tehdä tämän ottamalla käyttöön Palvelimen ajoitukset ja valitsemalla sitten Tyhjennä välimuisti ja sitten Suorita .
Kun yrität optimoida mittaa LuckyTemplatesissa käyttämällä, on parempi toimia kylmävälimuistiskenaariossa, jotta saamasi aika on oikea. Paina sen jälkeen F5 ja odota toiminnon valmistumista Palvelimen ajoitukset -välilehdessä .
Kun se on valmis, voit nähdä, että kokonaissuoritusaika on 3,6 sekuntia. Se vietti suurimman osan ajasta kaavamoottorissa ja vietti 57 millisekuntia varastomoottorissa
Voit myös nähdä, että se löysi 383 tallennuskonekyselyä. Kaikista näistä kyselyistä 327 on tallennettu muistiin, jotta niitä voidaan käyttää uudelleen.
2. Analysoi mittaa LuckyTemplatesissa
Seuraavaksi sinun on optimoitava nämä 3 identtistä toimenpidettä.
Sinun on purettava nämä suuret eri tiedostoon ja yhdistettävä se käyttämääsi tietomalliin.
Käynnistä sen jälkeen Palvelimen ajoitukset nähdäksesi ajan, jonka kolme toimenpidettä vievät visuaalien täyttämisessä.
Ajon tulokset osoittavat, että mittauksiin kuluu 1,85 sekuntia tuloksen hakemiseen.
Tuloksena on taulukko, joka koostuu 10 rivistä ja 3 laajennetusta sarakkeesta, jotka kuuluvat yhteenvetosarakkeisiin.
Tappiotyyppi -sarake sisältää 10 yksilöllistä arvoa, jotka koodi laskee saadakseen kannustinprosenttiosuudet.
Koodiin kuluva aika on eksponentiaalisesti pitkä. Tässä ja milloin sinun on optimoitava ne.
RB-kannustinprosenttimitta LuckyTemplatesissa
Tämä on RB Incentive% -mitta LuckyTemplatesissa. Se on yksi kolmesta tässä esimerkissä käytetystä päätoimenpiteestä.
Voit nähdä, että se yrittää laskea kannustinprosenttia.
Siinä on muuttuja JobType, joka noutaa Lost Type -arvon nykyisessä suodatinkontekstissa. Se myös tarkistaa, onko nykyisessä suodatinkontekstissa näkyvissä vain yksi arvo. Sinun on käytettävä a toimintoa niin, että joka kerta kun ehto täyttyy, se antaa vastaavan tuloksen.
Tämä mittauskoodi tuottaa paljon varastointimoottorirasvaa, mikä pidentää koodin kokonaiskestoaikaa.
Palaa nyt DAX Studioon tarkistaaksesi toimenpiteen luomien tallennusmoottorikyselyjen määrän.
Voit nähdä, että 10 rivin tietojen yksinkertaisesti hakeminen kesti 600 millisekuntia suorittaakseen ja 43 tallennuskonekyselyyn.
Tarkista nyt tallennusmoottorilta pyydetyt tiedot. Ensimmäisessä kyselyssä on Jobs Loss Type ja Jobs Loss Typen DCOUNT .
Seuraavassa kyselyssä on Työpäivämäärä Suljettu, joka on raportin sliceristä.
Kolmannessa koodissa näet toisen Jobs Loss Typen, jossa on takaisinsoittotietojen tunnus.
Toisella rivillä näet tärkeimmät koodirivit.
Ensimmäinen asia, jonka näet, on vastaanotetut työmaksut, laskutetut ja todelliset kulut.
Seuraava on WHERE -funktio, joka ilmoittaa ehdon ja sitä vastaavan tuloksen. Tulos vaihtelee slicer-valinnan ja RB Incentive% -mitan kytkinlausekkeen mukaan.
Huomaat myös, että koodit riveillä 12 ja 14 ovat samat.
Jos vierität oikealle, näet, että rivillä on samat kyselyt. Rivien kyselyt ohjataan kytkinkäskyllä RB Incentive% -mittauksessa.
Jos palaat LuckyTemplatesin RB Incentive% -mittaan, näet, kuinka monta kertaa kysely toistetaan ja kuinka se näkyy tallennuskoneen kyselyissä.
Logiikka IF:n ja kytkimen takana
Jotta ymmärrät, miksi kyselyt suoritetaan useita kertoja, sinun on ymmärrettävä kyselyn logiikka ja SWITCH- toiminnot.
Sinun on suoritettava ne erikseen kyselysuunnitelmassa. Mutta ennen kuin teet sen, muista muodostaa yhteys tietokantaan ja ottaa kyselysuunnitelma käyttöön.
Suorita SWITCH- käsky kyselysuunnitelmassa. Korosta sitten lause ja paina Enter.
Tämä luo loogisen kyselysuunnitelman, jossa on erilaisia toimintoja.
Suorita seuraavaksi IF -käsky korostamalla lauseke ja painamalla Enter.
Voit nähdä, että se luo saman loogisen kyselysuunnitelman.
Tämä johtuu siitä, että aina kun käytät , moottori muuntaa sisäisesti funktion IF -lauseeksi. Mutta SWITCH -käskyä suositellaan, koska se lisää koodisi luettavuutta.
Sen jälkeen sinun on ymmärrettävä, kuinka koodi suoritetaan IF- tai SWITCH -toiminnon sisällä.
Tämä on esimerkkikoodi, jonka sisällä on SWITCH- käsky.
Siinä on bruttovoiton, kokonaisarvion ja laskutetun kokonaismäärän mittasuhteet, jotka ovat kaikki eri sarakkeiden SUMMA. Sillä on myös funktio Jobs Loss Type- ja SWITCH- ja TRUE -lausekkeen yli .
Kun suoritat tämän koodin, näet toimintojen takana olevan logiikan.
Ensimmäinen kysely saa erillisen Työhäviötyypin Työt-taulukosta.
Työnmenetystyypin lisäksi se saa myös työpaikkaarvion summan.
WHERE -ehdon sisällä näet myös Jobs Loss Type -sarakkeen arvot.
3. Käytä koodin arviointimenetelmiä
DAX:ssa koodien arviointiin on kolme menetelmää:
Nämä menetelmät auttavat sinua optimoimaan koodin tai mittauksen LuckyTemplatesissa.
1. menetelmä: Tiukka arviointi
Alla olevassa esimerkissä käytetään Strict Evaluation -menetelmää.
Sen taustalla oleva logiikka on, että jos Jobs Loss Type -tilan konteksti on yhtä suuri kuin A, se tarjoaa bruttovoiton. Muussa tapauksessa se antaa kokonaisarvion. Koodi tekee tämän jokaiselle Jobs Loss Type -riville.
Tämä on toinen esimerkkimitta LuckyTemplatesissa, joka käyttää tiukkaa arviointia.
Kun suoritat tämän koodin, se luo 5 tallennuskonekyselyä.
Tiukassa arvioinnissa koodi antaa kokonaisarvion, jos bruttovoitto kerrottuna 1,4:llä on suurempi kuin keskimääräinen arvio. Muuten se antaa bruttovoiton.
Tiukan arvioinnin käyttäminen tuottaa enemmän tallennuskonekyselyitä, koska IF -lause tarkistaa bruttovoiton kilpailun useita kertoja ja heikentää lopulta koko toiminnon suorituskykyä.
2. menetelmä: innokas arviointi
Tämä on sama koodi kuin edellinen esimerkki.
Mutta sen sijaan, että se olisi laskenut suuret IF -lauseen sisällä, se laski kaiken ennen RETURN .
Se tarkoittaa, että ennen lausuntojen tarkistamista se saa kaikki bruttovoiton ja kokonaisarvion arvot kaikille työmenetystyypeille.
Kun suoritat tämän koodin, tallennuskoneiden määrä vähenee 3:een.
Se parantaa koko toiminnan suorituskykyä.
Ensimmäisessä operaatiokyselyssä se saa työhäviötyypin sekä työarvion ja bruttovoiton summan.
Seuraava kysely saa Jobs Stablen työarvion summan. Tätä käytetään keskimääräisen arvion laskemiseen.
Viimeinen kysely antaa erillisen Jobs Loss Type -arvon ADDCOLUMNS- kenttään kirjoitetuille arvoille .
Eager Evaluationin käyttäminen saa kaiken yhteen tietovälimuistiin. Tiedot myös arvioidaan ja iteroidaan kaavamoottorilla. IF - lauseke palauttaa joko kokonaisarvion tai bruttovoiton riippuen siitä, onko arvio oikein tai epätosi.
Eager Evaluation ei aina ole paras tapa optimoida koodeja. Tiukka arviointi johtaa parempaan suorituskykyyn, jos sinulla on monimutkaisia koodeja. Kaikki riippuu DAX-koodin sisällä käyttämistäsi funktioista.
Eager Evaluationin haittapuoli on, että jos luot arvoja ennen IF- tai SWITCH -käskyä ja käytät käskyn sisällä niitä muuttujia, joita ei pitäisi koskaan suorittaa, kone laskee silti kyseiset muuttujat.
Tässä esimerkki huonoista puolista:
Ihannetapauksessa, jos Jobs Loss Type on yhtä suuri kuin A, sen pitäisi saada bruttovoitto. Muussa tapauksessa se saa kokonaisarvion.
Koska Job Loss Type -sarakkeessa ei ole arvoa, joka on yhtä suuri kuin A, sen pitäisi aina saada Kokonaisarvio. Se tarjoaa kuitenkin edelleen bruttovoiton datavälimuistissa.
Jos katsot ensimmäistä kyselyä, se saa työpaikan menetystyypin ja työpaikkojen bruttovoiton ja -arvion summan.
Seuraavassa kyselyssä se saa erillisen Työhäviötyypin Jobs-taulukosta.
3. menetelmä: IF.EAGER-arviointi
Seuraava menetelmä on IF.EAGER- funktion arviointi, joka toistaa Eager Evaluationin käyttäytymisen.
Sen avulla voit kirjoittaa koodin, joka edustaa tiukkaa arviointia, ja suorittaa sen Eager Evaluation -sovelluksella.
Jos katsot tätä esimerkkikoodia, se on aivan sama kuin Strict Evaluation -koodi. Ainoa ero on, että tämä käyttää IF.EAGER- funktiota IF:n sijaan .
Ennen kuin suoritat koodin, muista muodostaa yhteys LuckyTemplates-malliin ja ottaa Palvelimen ajoitus käyttöön. Kun olet valmis, paina F5.
Voit nähdä, että se loi 3 tallennuskonekyselyä.
Ensimmäinen kysely saa työhäviötyypin sekä työarvion ja bruttovoiton summan.
Toinen kysely saa työarvion summan.
Viimeinen kysely saa erillisen Työhäviötyypin Työt-taulukosta.
Huomaat, että se toimi samalla tavalla kuin Eager Evaluation.
Arviointimenetelmien yhteenveto
Kun yrität parantaa laskelmien suorituskykyä, sinun on muistettava seuraavat asiat:
Huomaa kuitenkin, että sinun on testattava nämä kolme menetelmää saadaksesi selville, mikä on todella parasta käyttää raportissasi.
4. Optimoi mitta LuckyTemplatesissa
Tämän opetusohjelman tärkein oppitunti on koodien optimointi.
Palaa takaisin ja katso RB Incentive% -mittausta, joka suoritetaan käyttämällä tiukkaa arviointia. Kokeile seuraavaksi arvioida se Eager Evaluationin avulla.
Aloita luomalla muuttujia ja syöttämällä RETURN -funktio.
Muuta mittaviittauksia muuttujilla.
Vahvista sen jälkeen mittaus ja mene DAX Studioon nähdäksesi, paransiko se suorituskykyä.
Se osoittaa, että kokonaisaika on 642 millisekuntia ja tallennuskonekyselyjen kokonaismäärä on vähentynyt 39:ään.
Luo nyt muuttujat kaikille tiedoille ja muuta kaikki mittaviittaukset vastaaviksi muuttujiksi.
Vahvista seuraavaksi mitta ja suorita koodi DAX-studiossa.
Kokonaissuoritusaikaa ja tallennuskonekyselyjen kokonaismäärää on vähennetty 600 millisekunnista 170 millisekuntiin ja 43 kyselystä 15 kyselyyn.
Voit myös nähdä, ettei kaksoiskappaleita ole. Muuttujien lisääminen koodissa parantaa niiden luettavuutta ja suorituskykyä.
Edistynyt optimointi LuckyTemplatesin mittaa varten
Seuraavaksi sinun on optimoitava DAX-koodisi edelleen.
Käyttämisen sijaan, käytä toiminto.
HASONEVALUE laskee suodatinkontekstissa käytettävissä olevien arvojen määrän, mikä on erittäin intensiivinen toimenpide. Sillä välin ISINSCOPE tarkistaa, käytetäänkö toimitettua saraketta ryhmittelyyn vai ei.
Toimintojen muuttamisen jälkeen vahvista mitta ja suorita se DAX Studiossa.
Näet, että tallennuskonekyselyjen määrä on nyt 12. Myös kokonaissuoritusaika on tullut 105 millisekuntia.
Toisessa kyselyssä huomaat takaisinsoittotietojen tunnuksen.
Näin tapahtuu joskus, kun käytät tekstikentässä SELECTEDVALUE. Kun näet takaisinsoittotiedot, tallennuskone kutsuu kaavamoottoria auttaakseen ratkaisemaan koodin monimutkaisuuden. Tämä hidastaa mittasi suorituskykyä.
Sinun on poistettava takaisinsoittotiedot, jotta raporttisi toimisi paremmin. Tätä varten sinun on luotava tietomalliin konfiguraatiotaulukko.
Siirry kohtaan Anna tiedot ja liitä tiedot. Nimeä taulukko LossTypeConfigTable .
Napsauta sitten Muokkaa muuttaaksesi tuotavan sarakkeen tietotyyppiä.
Loss Type ID:n tietotyypin tulee olla opettajaarvo, jotta sitä voidaan käyttää SELECTEDVALUE- funktiossa.
Kun se on ladattu malliin, luo Jobs-taulukon ja LossTypeConfigTable-taulukon välille menetystyypin mukainen suhde.
Kun olet luonut suhteen, siirry Työt-taulukkoon ja lisää uusi sarake. Kutsu sitä Loss ID:ksi ja syötä sitten kaava.
Käytä -funktio konfiguraatiotaulukolle ja pura sitten tappiotyypin tunnus.
Next, go back to the RB Incentive% measure and reference the numeric field instead of the text field. Inside SELECTEDVALUE, replace Loss Type with Loss ID.
Next, modify all the measures inside the code. Use an integer value instead of text values in checking for the Job Type.
Once you’ve changed the code, confirm the measure and execute it in the DAX Studio.
The Callback data ID is eliminated in the query and the code’s execution time is reduced to 93 milliseconds.
The RB Incentive% measure is now fully optimized.
5. Optimize Other Measures In LuckyTemplates
You also need to optimize the WR Incentive% and QB Incentive% measures.
Copy and paste the exact code used in the RB Incentive% measure. Then, run the 3 measures together.
The total execution time is optimized and reduced from 1855 milliseconds to 213 milliseconds. There are also only 12 storage engine queries.
The first two queries create the filter context and the rest represent the exact number of values inside the Jobs Loss Type column.
Since all measures have been optimized, run the original code and see how the performance has changed. The data shows that it’s now being computed in 1.9 seconds.
The performance of the whole code is now optimized, making your report faster and better.
Conclusion
In LuckyTemplates reports, measures should be optimized to ensure that your DAX codes run smoothly. This also improves the overall performance of your report.
You’ve learned the different methods to optimize your measure in LuckyTemplates and you’ve learned how to assess which one to use depending on the context of your report.
Ota selvää, miksi LuckyTemplatesissa on tärkeää pitää oma päivämäärätaulukko ja opi nopein ja tehokkain tapa tehdä se.
Tämä lyhyt opetusohjelma korostaa LuckyTemplates-mobiiliraportointiominaisuutta. Näytän sinulle, kuinka voit kehittää raportteja tehokkaasti mobiililaitteille.
Tässä LuckyTemplates Showcase -esittelyssä käymme läpi raportteja, jotka näyttävät ammattitaitoisen palveluanalytiikan yritykseltä, jolla on useita sopimuksia ja asiakkaiden sitoumuksia.
Käy läpi tärkeimmät Power Appsin ja Power Automaten päivitykset sekä niiden edut ja vaikutukset Microsoft Power Platformiin.
Tutustu joihinkin yleisiin SQL-toimintoihin, joita voimme käyttää, kuten merkkijono, päivämäärä ja joitain lisätoimintoja tietojen käsittelyyn tai käsittelyyn.
Tässä opetusohjelmassa opit luomaan täydellisen LuckyTemplates-mallin, joka on määritetty tarpeidesi ja mieltymystesi mukaan.
Tässä blogissa esittelemme, kuinka kerrostat kenttäparametreja pienillä kerroilla uskomattoman hyödyllisten näkemysten ja visuaalien luomiseksi.
Tässä blogissa opit käyttämään LuckyTemplates-sijoitus- ja mukautettuja ryhmittelyominaisuuksia näytetietojen segmentoimiseen ja luokitteluun kriteerien mukaan.
Tässä opetusohjelmassa käsittelen tiettyä tekniikkaa, jolla voit näyttää kumulatiivisen kokonaissumman LuckyTemplates-visuaaleissasi vain tiettyyn päivämäärään asti.
Opi luomaan ja mukauttamaan Bullet-kaavioita LuckyTemplatesissa, joita käytetään pääasiassa suorituskyvyn mittaamiseen suhteessa tavoitteeseen tai edellisiin vuosiin.