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ä blogiviestissä tutkimme ratkaisuani . Tätä haastetta varten palasimme LuckyTemplatesin neitsytongelman Viikon haasteeseen, jossa loimme ikuisen lomakalenterin tiettyjen ja suhteellisten päivämäärien yhdistelmästä. Mutta tällä kertaa käytämme vain Power Queryä . Voit katsoa tämän opetusohjelman koko videon tämän blogin alaosasta.
Jos olet jumissa itse ongelman erittelyssä, voit käydä uudelleen ja nähdä, onko jossain lähestymistavassa elementtejä, jotka voivat auttaa sinua tässä haasteessa.
Kun luin kommentteja, olen nähnyt yhdistelmän ihmisiä hyödyntävän käyttöliittymää ja kirjoittavan mukautettuja toimintoja luodakseen ikuisen kalenterin. On ollut nautinnollista analysoida jokaista tekstiä, ja jos haluat saada inspiraatiota, kehotan sinua tekemään samoin.
Kun työskentelin itse tämän skenaarion läpi, päädyin luomaan useita ratkaisuja. Se, jonka kanssa menin, havainnollistaa parhaiten, kuinka voit paitsi jakaa ongelman pienempiin osiin , myös tehdä niistä näkyväksi . Tämä on erittäin hyödyllistä, jos kohtaat virheen tai odottamattomia tuloksia.
Sisällysluettelo
Lähtökohta ikuisen kalenterin luomiselle
Tämä raaka juhlapöytä on lähtökohtamme. Päivämäärän kokoamiseksi tarvitsemme vuoden, kuukauden ja päivän tiettyjä päivämääriä varten. Puuttuu vain vuosi.
Mutta suhteellisia päivämääriä varten meidän on tehtävä hieman enemmän työtä. Ensinnäkin meidän on jaettava tämä päiväsarake sekä numeroiksi että viikonpäiväksi. Tarkastellaan näitä vaiheita.
Haetaan vuodet päivämäärätaulukosta
Jotta tämä ratkaisu olisi dynaaminen, haen vuodet päivämäärätaulukosta . Kaavapalkissa näet, että olen käyttänyt projektiota saadakseni yhden sarakkeen taulukon päivämäärätaulukostani. Tämä tietysti sisältää kaksoiskappaleita. Niiden poistamiseksi olen lisännyt Table.Distinct .
Kun napsautan näiden taulukoiden vieressä olevaa valkoista tilaa, näet myös luettelon, jossa on päivämäärätaulukkokyselyssäni olevat erilliset vuodet.
Meille annettiin kuukauden nimi , mutta tarvitsemme itse asiassa kuukausinumeron . Nyt kun yhdistämme vuoden kuukauden nimeen, voimme käyttää Date.From- funktiota palauttamaan kyseisen kuukauden ensimmäisen päivämäärän arvona.
Kun lisäät Date.Month , meille jää vain kyseisen päivämäärän kuukausinumero. Tammikuulle se palauttaa arvon 1. Helmikuulle se palauttaa 2:n ja niin edelleen.
Numeron saaminen päiväsarakkeesta
Saadaksemme numeron päiväsarakkeesta päätimme olla jakamatta saraketta ja poimia sen sijaan arvon. Kuten näet kaavapalkista, käytimme Text.BeforeDelimiter- työkalua ja käytimme tätä välilyöntiä tunnistaaksemme kyseisen tekstijonon oikean ja vasemman osan.
Jos tilaa ei ole, haluamme palauttaa sen, mitä päiväsarakkeessa on jäljellä. Joten ensimmäiselle tietueelle se palauttaa arvon 1. Toiselle tietueelle, joka sisältää kyseisen tilan, se palauttaa tekstimerkkijonon ensimmäisen osan, sanan Kolmas .
Käytämme samanlaista lähestymistapaa päivämäärän nimen saamiseen, mutta käytämme funktiota List.PositionOf . Tämä palauttaa ensimmäisenä argumenttina välitetyn luettelon arvon nollapohjaisen poikkeaman, ja se palauttaa -1, jos arvoa ei näy luettelossa.
Ensimmäisessä tietueessa se ohittaa arvon 1, jota ei ole luettelossamme. Tästä syystä se palauttaa arvon -1. Toiselle tietueelle se palauttaa arvon Monday .
Se välittää sen funktiollemme ja palauttaa arvon 1, koska se on luettelomme toinen kohde. Seuraavaksi korvaamme kaikki -1-arvot nollalla .
Tässä vaiheessa olemme luoneet kaikki rakennuspalikat, joita tarvitsemme mukautetun toiminnon käynnistämiseksi.
Pysyvän lomakalenterin mukautetun toiminnon käyttäminen
Kaavapalkissa näemme, että funktiolla on neljä argumenttia: vuosi , kuukausi , numero ja viikonpäivä .
Mutta miten se määrittää päivämäärän arvon? Käytämme List.PositionOf-funktiota uudelleen saadaksemme numerolle numeerisen arvon. Meillä on luettelo, joka sisältää ensimmäisen, toisen, kolmannen ja neljännen. Kun siirrämme numeron List.PositionOf -kohtaan , se palauttaa nollapohjaisen siirtymän.
Jälleen, jos arvoa ei ole, se palauttaa -1. Joten ensimmäiselle tietueelle välitämme arvon 1. 1 ei ole tässä luettelossa, minkä vuoksi se palauttaa arvon -1. Toisen tietueen osalta välitämme arvon Third, joka on kolmas kohde luettelossamme. Tämä palauttaa arvon 2.
Päivämääräluettelon luominen
Luodaan nyt lista päivämääristä. Määritämme kyseisen kuukauden aloituspäivän, määritämme päivien lukumäärän kyseisessä kuukaudessa ja käytämme List.Dates- komentoa luodaksemme luettelon, joka sisältää kaikki kyseisen kuukauden päivät.
Seuraavaksi käytämme List.Selectiä säilyttääksesi vain ne päivämäärät, jotka ovat tiettynä viikonpäivänä.
Kun napsautamme näiden luetteloiden vieressä olevaa reunaa, voimme nähdä, että se sisältää vain nämä neljä kohdetta.
Ehdollisen logiikan soveltaminen
Lopuksi käytämme ehdollista logiikkaa päivämäärän muodostamiseen tai hakemiseen. Jos viikonpäivä on nolla , mikä osoittaa, että meillä on tietty päivämäärä, voimme käyttää luontaista #date -arvoa päivämääräarvon muodostamiseen.
Jos numero on yhtä kuin viimeinen, voimme käyttää List.Reverse -funktiota kääntämään järjestyksen luettelossa ja poimimaan ensimmäisen arvon.
Jos haluamme muuttaa tämän nousevan järjestyksen laskevaksi, voimme aina poimia viimeisen päivämäärän kyseiseltä päivämääräalueelta. Ei ole väliä, onko luettelossa neljä vai viisi elementtiä. Kääntämällä tilauksen ja poistamalla ensimmäisen tuotteen, meillä on aina viimeinen päivämäärä.
Kaikissa muissa tapauksissa käytämme List.Skip .
Voimme poimia arvon tämän luettelon sijainnin perusteella. Kiitospäivänä numero on neljäs ja neljäs palauttaa 3:n. Tämä ohittaa luettelon kolme ensimmäistä arvoa ja palauttaa aina neljännen kohteen.
Laitetaan kaikki yhteen ja siirrytään ratkaisukyselyyn. Lähdevaiheessa kutsumme RAW-lomien päivämäärätaulukkoa. Seuraavaksi lisäämme sarakkeen, joka palauttaa luettelon päivämäärineen.
Perpetuaalisen lomakalenterin M-koodin tarkistaminen
Tarkistetaan sarakkeen M-koodi. Jokaiselle taulukon riville sisäkkäsimme taulukon, joka sisältää päivämäärätaulukosta erilliset vuodet. Sitten muutimme kyseisen vuosisarakkeen arvot kutsumalla mukautettua funktiota.
Tietysti, jotta voimme kutsua mukautetun toiminnon, meidän on ensin suoritettava asetukset. Meidän on saatava kuukauden numero , numeroarvo ja tietysti viikonpäivä . Sitten siitä sisäkkäisestä taulukosta säilytimme luettelon päivämäärineen.
Kun napsautamme sivulle valkoista tilaa, voimme nähdä luettelon esikatselun alla.
Seuraava vaihe on laajentaa luetteloa ja lisätä CelebratedOnDate .
Tätä logiikkaa käytimme tässä laskelmassa: jos päivämäärä on lauantai, vähennämme päivän niin, että laskeudumme perjantaina. Jos on sunnuntai, lisäämme päivän maanantaille laskeutumiseen. Jos se ei ole lauantai tai sunnuntai, haluamme nollan.
Lopuksi viimeinen vaihe on vaihtaa tyyppejä.
Johtopäätös
Pikainen muistutus siitäon jatkuva sarja, joka tapahtuu joka 1. ja 3. keskiviikko LuckyTemplates-foorumilla. Ensimmäisellä viikolla julkaistu ongelma vaatii DAX-pohjaisen ratkaisun, kun taas 3. viikon ongelma vaatii Power Query -pohjaista ratkaisua.
Jos pidit tämän POTW:n kattamasta sisällöstä, tilaa LuckyTemplates TV-kanava saadaksesi lisää. Meillä on jatkuvasti valtava määrä sisältöä minulta ja useilta sisällöntuottajilta, jotka kaikki ovat omistautuneet parantamaan tapaa, jolla käytät LuckyTemplatesia ja Power Platformia.
Melissa
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.