DAX Language LuckyTemplates -opastus Käänteisessä TOPN:ssa

Tässä blogiviestissä tarkastelemme LuckyTemplates-foorumilla esitettyä kysymystä ja käytämme DAX-kielen LuckyTemplates-tekniikkaa sen ratkaisemiseen. Jos haluat seurata ja ladata tiedostoja, käy LuckyTemplates-foorumilla ja siirry osoitteeseen . Voit katsoa tämän opetusohjelman koko videon tämän blogin alaosasta.

DAX Language LuckyTemplates -opastus Käänteisessä TOPN:ssa

Selvittääksemme skenaarion, jonka aiomme kattaa, meillä on esimerkkinä yksinkertainen taulukko. Ensimmäisessä sarakkeessa on taloustaso 1 . Toisessa sarakkeessa on päivämäärä, jonka nimi on Valmis. Viimeisessä sarakkeessa on taloudellisen tason ja valmistumispäivän yhdistelmä, jolle annamme nimen Tulo .

DAX Language LuckyTemplates -opastus Käänteisessä TOPN:ssa

Sitten meillä on leikkuri päivämäärälle ja asiakkaan nimelle .

DAX Language LuckyTemplates -opastus Käänteisessä TOPN:ssa

Haluamme tehdä tietyn ajanjakson aikana tunnistaa kolme parasta päivämäärää, jotka eivät ole nolla. Ja sitten noilla kolmella suurimmalla päivämäärällä haluamme tunnistaa taloudellisen tason.

Toimenpiteen ensimmäisessä versiossa listasin päivämäärät, jotka ovat pienempiä kuin 29.4.2021, jolloin meillä on jonkin verran tuloja.

Ja näinä päivinä haluamme tunnistaa taloudelliset tasot, jotka ovat tuottaneet jonkin verran tuloja. Selitän sinulle, kuinka voimme saavuttaa tämän laskelman.

DAX Language LuckyTemplates -opastus Käänteisessä TOPN:ssa

Sisällysluettelo

Tietojen mallinnus

Ennen kuin kirjoitat varsinaisen DAX:n, katsotaanpa nopeasti tietomallia, joka sisältää useita taulukoita. Olemme kiinnostuneita vain päivämäärätaulukosta , tietotaulukosta , työluokkataulukosta ja asiakastaulukosta .

Huomaa, että Asiakas-taulukko ei ole todella tärkeä, koska sitä käytetään vain slicerin sisällä.

DAX Language LuckyTemplates -opastus Käänteisessä TOPN:ssa

Tulomittaria lasketaan Data-taulukossa. Työluokka sisältää taloudellisen tason, joka meillä on matriisissa. Sitten käytämme slicerimme Päivämäärä-taulukon Päivämäärä-saraketta.

Versio 1

Päästään eroon matriisista ja aloitetaan alusta. Aion luoda uuden toimenpiteen ja kutsua sitä V1:ksi, koska tämä tulee olemaan versio yksi. Aiomme tarkastella myös kahta muuta muunnelmaa.

Suodatinkontekstin valmistelu

Ensimmäinen asia, jonka aiomme tehdä, on hakea kaikki taloudellisen tason arvot suodatinkontekstista. Luomme ja annamme sille nimen FinancialLevelInFilterContext .

DAX Language LuckyTemplates -opastus Käänteisessä TOPN:ssa

Arvot noutaaksemme suodatinkontekstista aiomme käyttää taloustaso-sarakkeen sisältävän Työluokka-taulukon kohtaa. Sitten meidän on luotava toinen muuttuja ja nimettävä sille Tulos . Kirjoita sitten ja sulje myös se.

Ensimmäisessä argumentissa meillä on valinta päivämäärän viipalointityökalusta. Näissä päivämäärissä haluamme tunnistaa päivämäärät, joissa ei ole nollaa ja joilla on ainakin jonkin verran tuloja.

Jos haluat käyttää kaikkia kyseisessä lohkossa valittuja päivämääriä, meidän on käytettävä päivämäärätaulukkoa.

DAX Language LuckyTemplates -opastus Käänteisessä TOPN:ssa

Ja koska meillä on taloudellinen taso matriisissa, meidän on myös varmistettava, että poistamme kyseisen arvon suodatinkontekstista. Voimme käyttää luokkaa Työn yli ja kirjoittaa sitten Taloudellinen taso 1.

DAX Language LuckyTemplates -opastus Käänteisessä TOPN:ssa

Nyt kun suodatinkontekstimme on valmis, voimme kirjoittaa CLCULATE:n sisimmän laskelman. Ensin ilmoitamme muuttujan, joka on taloudellisen tason ja päivämääräsarakkeen yhdistelmä, kuten olemme nähneet ensimmäisessä taulukossa.

Sitten käytämme Data-taulukkoa ja teemme yhteenvedon näistä kahdesta taulukosta: Työluokka ja Päivämäärä-taulukko.

DAX Language LuckyTemplates -opastus Käänteisessä TOPN:ssa

Tämä tarjoaa taloudellisen tason ja päivämääräsarakkeen yhdistelmän, joka on tietotaulukossa. Sitten aiomme luoda toisen muuttujan, johon tallennamme ensimmäisen luomamme muuttujan tulorivin arvon.

Tämän muuttujan nimi on FinancialLevelAndDatesWithRevenue . Tämän muuttujan koodi on edellisen muuttujan koodi. Sitten luomme virtuaalisen sarakkeen, joka on Tulot ja joka aloittaa kontekstin muutoksen. Olemme siis osoittaneet tulot tämän muuttujan jokaiselle riville.

DAX Language LuckyTemplates -opastus Käänteisessä TOPN:ssa

Tämä taulukko sisältää tulot, joissa on myös nolla. Meidän on suodatettava pois nuo rivit nollalla. Tätä varten voimme luoda toisen muuttujan ja nimetä sen nimellä RemoveZeroes .

Käytämme edellisen muuttujan arvoa ja varmistamme sitten, että tuotto ei ole nolla. Se voi olla suurempi kuin nolla tai pienempi kuin nolla, mutta se ei saa olla tiukasti sama kuin nolla.

DAX Language LuckyTemplates -opastus Käänteisessä TOPN:ssa

Ja sitten aiomme hakea päivämäärän RemoveZeroes-muuttujasta . Tätä varten voimme luoda toisen muuttujan ja nimetä sille KeepOnlyDates .

DAX Language LuckyTemplates -opastus Käänteisessä TOPN:ssa

Voin käyttää -merkkiä päästäkseni eroon päällekkäisistä päivämääristä, jotka .

DAX Language LuckyTemplates -opastus Käänteisessä TOPN:ssa

Seuraavaksi aiomme tunnistaa kolme parasta päivämäärää laskevassa järjestyksessä. Käytämme toista muuttujaa ja annamme sille nimen Last3Dates ja käytämme sitten .

DAX Language LuckyTemplates -opastus Käänteisessä TOPN:ssa

Sitten käytämme päivämääräsarakkeen kolmea viimeistä päivämäärää ja käytämme sitten erotinmittaria.

DAX Language LuckyTemplates -opastus Käänteisessä TOPN:ssa

Vedetään ja pudotetaan äskettäin luotu mittamme tuon matriisin sisään. Saamme tuloksen 31/03/2021, 07/04/2021 ja 02/04/2021. Tämä tarkoittaa, että toimenpiteemme toimii.

DAX Language LuckyTemplates -opastus Käänteisessä TOPN:ssa

Palataan takaisin editoriin ja päästään eroon RETURN CONCATENATEX -osasta. Noutaaksemme nämä kolme viimeistä päivämäärää, voimme tarkistaa, mitkä rivit RemoveZeroes- muuttujasta ovat itse asiassa osa näitä kolmea viimeistä päivämäärää.

Ja tätä varten luomme toisen muuttujan DatesInLast3Dates ja käytämme RemoveZeroesin FILTER-toimintoa . Tämä palauttaa taulukon, joka sisältää työkategorian ja päivämäärän.

DAX Language LuckyTemplates -opastus Käänteisessä TOPN:ssa

Teemme yhteenvedon tuottosarakkeesta, jonka olemme luoneet tuossa taulukossa. Palautetaan SUMX DatesInLast3Dates-arvoon ja tehdään sitten yhteenveto tulosarakkeesta.

DAX Language LuckyTemplates -opastus Käänteisessä TOPN:ssa

Tällä laskennalla saamme vain yhden arvon kullekin riville, koska olemme poistaneet Työ-luokan suodatinkontekstista.

DAX Language LuckyTemplates -opastus Käänteisessä TOPN:ssa

Käytämme alussa luomaamme muuttujaa tarkistaaksemme, ovatko DatesInLast3Dates-muuttujan jokainen rivi käytettävissä suodatinkontekstissa. Voimme kirjoittaa toisen muuttujan ja nimetä sen IsInFilterContext .

Tämä suodattaa DatesInLast3Dates -muuttujan päivämäärät . Sitten palautan SUMX:n IsInFilter-kontekstin kautta ja teen yhteenvedon tulosarakkeesta.

DAX Language LuckyTemplates -opastus Käänteisessä TOPN:ssa

Kun painamme Enter , näet, että saamme saman tuloksen, joka meillä oli alussa.

DAX Language LuckyTemplates -opastus Käänteisessä TOPN:ssa

DAX-kielen LuckyTemplates-laskennan tuloksen tarkistaminen

Varmistaaksemme, että saamme todella oikean tuloksen, voimme luoda uuden CLCULATE-taulukon, joka auttaa meitä virheenkorjauksessa, tunnistamisessa ja varmistamisessa, että tähän mennessä kirjoittamamme koodi todella palauttaa oikean tuloksen.

Luodaan kopio tähän mennessä kirjoittamastamme koodista. Kopion alla korostetun osan, palaan luomaan uusi taulukko ja liitän korostetun koodin. Emme aio vaivautua nimeämään tätä taulukkoa, koska se ei kiinnosta meitä.

DAX Language LuckyTemplates -opastus Käänteisessä TOPN:ssa

Ja voimme yksinkertaisesti kirjoittaa RETURN DatesInLast3Dates . Jos napsautan Vahvista , saamme taulukon, mutta tiedämme, että se ei vielä palauta oikeaa tulosta, koska meidän on itse asiassa matkittava leikkurin toimintaa.

DAX Language LuckyTemplates -opastus Käänteisessä TOPN:ssa

Voimme kääriä tämän koodin LASKETTABAN sisään ja sisentää kaiken. Viimeisessä osassa kirjoitan, että päivämäärän tulee olla suurempi tai yhtä suuri kuin 2021-03-15 ja että asiakkaan nimen tulee olla sama kuin DHL Supply Chain .

DAX Language LuckyTemplates -opastus Käänteisessä TOPN:ssa

Taulukko, jonka olemme luoneet tämän mittarin sisällä, palauttaa käytännössä oikean tuloksen. Voimme käyttää LASKUTAULUKKOA vahvistaaksemme virtuaalitaulukon, jota olet luomassa laskelmassasi.

Muut DAX-kielen LuckyTemplates-laskelmat

Nyt kun tiedämme, että laskelmamme toimii ja ymmärrämme, mitä kulissien takana todella tapahtuu, voimme tarkastella muita menetelmiä saman ongelman laskemiseksi. Ensinnäkin luodaan kopio mittauksesta, jonka olemme jo luoneet.

Versio 2

Tällä kertaa emme aio luottaa VALUES- ja FILTER-toimintoihin, joten pääsemme niistä eroon. Poistamme palautustuloksen sekä viimeisen muuttujan, jonka olemme luoneet CLCULATE-sovelluksessa. Sitten muunnetaan CLCULATE muotoon CALCULATETABLE.

Ja sen sijaan, että palauttaisimme skalaariarvon, tällä kertaa aiomme palauttaa DatesInLast3Dates . Tämä palauttaa saman LASKETTAVAN, jonka teimme aiemmin. Aiomme käyttää CLCULATE-funktiota, ja ensimmäisessä argumentissa laskemme tulomitan ja lisäämme CALCULATETABLE suodattimen kontekstiksi.

DAX Language LuckyTemplates -opastus Käänteisessä TOPN:ssa

Kun tuon sen matriisiin, voit nähdä, että palautamme saman kokonaissumman jokaiselle solulle.

DAX Language LuckyTemplates -opastus Käänteisessä TOPN:ssa

KEEPFILTERS-toiminnon käyttäminen

Tällä hetkellä tiedämme, että laskenta kulissien takana toimii oikein, mutta mistä voimme olla varmoja, että jokaisesta solusta raportoimme vain kyseisen taloudellisen tason arvon?

CALCULATETABLE:n avulla olemme luoneet taulukon, joka sisältää taloudellisen tason, päivämääräsarakkeen ja tulosarakkeen. Voimme käyttää avainsuodatintoimintoa luodaksemme risteyksen CALCULATETABLE:n ulkopuolella olevan suodatinkontekstin ja CALCULATETABLE:n luoman kontekstin välille.

DAX Language LuckyTemplates -opastus Käänteisessä TOPN:ssa

Kun napsautamme Vahvista, voimme nähdä, että raportoimme oikean arvon jokaiselle solulle ja että sekä versio 1 että versio 2 palauttavat oikean arvon.

DAX Language LuckyTemplates -opastus Käänteisessä TOPN:ssa

Joten miten tämä toimii? LASKE-taulukko palauttaa Huoltotason , sitten Vuokraus , Ulkoinen huolto ja Varaosat . Se luo risteyksen ylläpidon ja taulukon välille.

Vuokraus luo alkuperäisen suodatinkontekstin, jonka jälkeen LASKUTAULUKKO palauttaa kaikki Työ-luokan arvot. Sitten tulee olemaan Vuokrauksen ja LASKUTAULUKON palauttaman taulukon välinen leikkaus. Palautamme vain kyseisen vuokra-osan taulukot tai rivit.

Ja lopuksi, kun lisäämme SUMMARIZEn suodatinkontekstiin, CLCULATE-funktio laskee tulot vain vuokrauksesta. Sama prosessi tapahtuu jokaiselle riville.

Versio 3

Katsotaanpa toista tapaa laskea sama laskutoimitus käyttämällä DAX-kielen LuckyTemplates. Luodaan kopio version 2 mittasta ja luodaan toinen mitta. Nimeämme tämän version 3.

Tämän laskelman ideana on, että koska laskemme tulot CALCULATE-funktiolla, meidän ei tarvitse käyttää ADDCOLUMNS-osaa, koska kopioimme saman asian LASKENTA-funktion sisällä ja ulkopuolella. Sen sijaan voimme yksinkertaisesti kirjoittaa, että tulo ei saa olla yhtä suuri kuin 0.

DAX Language LuckyTemplates -opastus Käänteisessä TOPN:ssa

Kun napsautan Vahvista, meidän on varmistettava, että koodi toimii, joten vedetään mitta matriisin sisään.

Voit nähdä, että koodi itse asiassa palauttaa saman arvon jokaiselle solulle.

DAX Language LuckyTemplates -opastus Käänteisessä TOPN:ssa

Jos yritän muuttaa suodattimen kontekstia muuttamalla päivämäärää Päivämäärä-osoittimessa ja valitsemalla pari arvoa Asiakkaan nimestä, voit nähdä, että kaikki kolme mittaa palauttavat itse asiassa saman arvon jokaiselle riville.

DAX Language LuckyTemplates -opastus Käänteisessä TOPN:ssa

Johtopäätös

Tässä opetusohjelmassa opimme käyttämään monimutkaista logiikkaa ajassa taaksepäin lopetuspäivästä tunnistamaan kolme parasta päivämäärää. Tämän DAX-kielen LuckyTemplates-tekniikan perusteella pystyimme laskemaan tulot ja näyttämään vain ne arvot, jotka ovat olemassa suodatinkontekstissa. Siinä kaikki toistaiseksi tässä opetusohjelmassa.


Päivämäärätaulukon luominen LuckyTemplatesissa

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.

LuckyTemplates mobiiliraportointivinkkejä ja -tekniikoita

LuckyTemplates mobiiliraportointivinkkejä ja -tekniikoita

Tämä lyhyt opetusohjelma korostaa LuckyTemplates-mobiiliraportointiominaisuutta. Näytän sinulle, kuinka voit kehittää raportteja tehokkaasti mobiililaitteille.

Ammattimainen palveluanalyysiraportit LuckyTemplatesissa

Ammattimainen palveluanalyysiraportit LuckyTemplatesissa

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.

Microsoft Power Platform -päivitykset | Microsoft Ignite 2021

Microsoft Power Platform -päivitykset | Microsoft Ignite 2021

Käy läpi tärkeimmät Power Appsin ja Power Automaten päivitykset sekä niiden edut ja vaikutukset Microsoft Power Platformiin.

Yleiset SQL-funktiot: Yleiskatsaus

Yleiset SQL-funktiot: Yleiskatsaus

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.

LuckyTemplates-mallin luominen: opas ja vinkkejä

LuckyTemplates-mallin luominen: opas ja vinkkejä

Tässä opetusohjelmassa opit luomaan täydellisen LuckyTemplates-mallin, joka on määritetty tarpeidesi ja mieltymystesi mukaan.

Kenttäparametrit ja pienet kertoimet LuckyTemplatesissa

Kenttäparametrit ja pienet kertoimet LuckyTemplatesissa

Tässä blogissa esittelemme, kuinka kerrostat kenttäparametreja pienillä kerroilla uskomattoman hyödyllisten näkemysten ja visuaalien luomiseksi.

LuckyTemplates-sijoitus ja mukautettu ryhmittely

LuckyTemplates-sijoitus ja mukautettu ryhmittely

Tässä blogissa opit käyttämään LuckyTemplates-sijoitus- ja mukautettuja ryhmittelyominaisuuksia näytetietojen segmentoimiseen ja luokitteluun kriteerien mukaan.

LuckyTemplatesissa näytetään vain tiettyyn päivämäärään asti kumulatiivinen kokonaissumma

LuckyTemplatesissa näytetään vain tiettyyn päivämäärään asti kumulatiivinen kokonaissumma

Tässä opetusohjelmassa käsittelen tiettyä tekniikkaa, jolla voit näyttää kumulatiivisen kokonaissumman LuckyTemplates-visuaaleissasi vain tiettyyn päivämäärään asti.

Bullet Charts: Kehittyneet mukautetut visuaalit LuckyTemplatesille

Bullet Charts: Kehittyneet mukautetut visuaalit LuckyTemplatesille

Opi luomaan ja mukauttamaan Bullet-kaavioita LuckyTemplatesissa, joita käytetään pääasiassa suorituskyvyn mittaamiseen suhteessa tavoitteeseen tai edellisiin vuosiin.