Kombinatorinen analyysi Power Queryn avulla LuckyTemplatesissa

Haluan sukeltaa syvälle niin sanottuun kombinatoriseen analyysiin. Tämä voidaan määritellä joukkojen elementtien valinnaksi ja järjestämiseksi määrättyjen sääntöjen mukaisesti. Se saattaa kuulostaa esoteeriselta, mutta sillä on itse asiassa joitain hyvin käytännöllisiä käyttötapauksia. Voit katsoa tämän opetusohjelman koko videon tämän blogin alaosasta.

Tässä opetusohjelmassa näytän sinulle, kuinka tämä tehdään LuckyTemplatesin Power Queryn avulla.

Sisällysluettelo

Kombinatorisen analyysin esimerkkitapaus

Tässä esimerkissä kombinatorisessa analyysissä tehtävänä oli, että meillä oli kuuden varaston luettelo ja meidän piti luoda jokainen yksilöllinen kolmen varaston joukko. Se kuulostaa melko suoraviivaiselta ongelmalta, mutta tämä on yksi niistä tapauksista, joissa kielellä on todella merkitystä.

Oikea vastaus tässä on joko 216, 120, 56 tai 20. Riippuen siis siitä, miten määrität yksilöllisen joukon ja määrittämäsi säännöt, saatat poiketa kertoimella 10, jos et saa sarjaa oikein.

Kombinatorinen analyysi Power Queryn avulla LuckyTemplatesissa

Ja niin, tässä on kaksi ulottuvuutta, joilla on merkitystä. Ensimmäinen on " onko järjestyksellä väliä ?" Joten kun puhumme kolmesta kolmen sarjasta, vastaako ABC BCA:ta? Onko järjestyksellä sitten väliä? Ja jos järjestyksellä on väliä , puhumme permutaatioista .

Hyvä esimerkki permutaatioista, joissa järjestyksellä voi olla merkitystä, on (puhumme varastokontekstista) matka-ajan tapauksessa. Voi hyvinkin olla, että jos vierailet varastossa A, sitten varastossa B ja sitten varastossa C, liikennevirrasta johtuva matka-aika liikenteessä liikennettä vastaan, saapumisaika kuhunkin varastoon, voi olla hyvin erilainen tilauksesta riippuen. jossa käyt heidän luonaan.

Sen kääntöpuoli on " järjestyksellä ei ole väliä ", jolloin puhumme yhdistelmistä , emme permutaatioista. Tässä yleinen käyttötapaus on etäisyys. Esimerkiksi linnuntietä etäisyys A:sta B:hen C:hen ei tule olemaan erilainen kuin etäisyys B:stä C:hen A:han. Niitä tarkastellaan yhdistelmäkontekstissa.

Yhdistelmät katsotaan toistensa kaksoiskappaleiksi. Permutaatiokontekstissa niitä pidetään ainutlaatuisina.

Ja kuten näet, yhdistelmälukon pitäisi todellakin olla permutaatiolukko, koska siinä tapauksessa järjestyksellä on väliä, joten se on permutaatio, ei yhdistelmä.

Toinen tärkeä kysymys tai ulottuvuus on " kun tuote on poimittu, voidaanko se valita uudelleen ?" Jos esimerkiksi valitsemme A:n ensimmäiseksi varastoksemme, voimmeko valita A:n uudelleen, vai pitääkö meidän valita joka kerta ainutlaatuiset elementit?

Tässä käyttämämme termi on " korvaamalla " tai " ilman korvausta ". Joten jos tuote voidaan noutaa uudelleen, se on korvaamalla, eli valitset sen. Ja tietyssä mielessä se menee takaisin valintalaatikkoon ja valitaan uudelleen. Jos vastaus on ei, se on ilman vaihtoa.

Ja niin, voit nähdä tässä ratkaisussa, että permutaatiot korvaamalla ovat vähiten rajoittavia. Joten se antaa meille 216 ainutlaatuista sarjaa. Ja yhdistelmät ilman korvaamista ovat kaikkein rajoittavin antaen meille 20.

Kombinatorinen analyysi Power Queryn avulla LuckyTemplatesissa

Käytämme näitä kaavoja vain tapana tarkistaa tulokset. Joten muistamme 216, 120, 56 ja 20. Siirrytään nyt Power Queryyn ja katsotaan kuinka tämä kombinatorinen analyysi toimii.

Kombinatorinen analyysi: Permutaatiot Power Queryssa

Power Queryssä minulla on tässä hyvin yksinkertainen tapaus, jossa on kuusi nimettyä varastoa.

Kombinatorinen analyysi Power Queryn avulla LuckyTemplatesissa

Ja olen kehittänyt tämän Power Query M -funktion, jota olen käyttänyt yhdistelmien ja permutaatioiden käsittelyyn.

Kombinatorinen analyysi Power Queryn avulla LuckyTemplatesissa

Ensin aion kehittää ensimmäisen käyttötapauksen, joka on permutaatiot korvauksella , joka on vähiten rajoittava joukko. Tapa tehdä se Power Queryssä on ottaa tämä Warehouses- taulukko ja viitata siihen (DAX:ssa käytämme CROSSJOIN ).

Kombinatorinen analyysi Power Queryn avulla LuckyTemplatesissa

Kutsun tätä nimellä Per w Rep (permutaatiot korvaamalla).

Kombinatorinen analyysi Power Queryn avulla LuckyTemplatesissa

Voit tehdä ristiinliittämisen Power Queryssä useilla tavoilla. Helpoin tapa, jonka olen löytänyt, on siirtyä Lisää sarake ja sitten Mukautettu sarake . Käytä mukautetussa sarakekaavassa Varastot -taulukkoa.

Kombinatorinen analyysi Power Queryn avulla LuckyTemplatesissa

Kun napsautamme OK-painiketta, huomaamme, että se luo sisäkkäisen taulukon.

Kombinatorinen analyysi Power Queryn avulla LuckyTemplatesissa

Sen jälkeen laajennamme sen ja poistamme Käytä alkuperäisten sarakkeiden nimen etuliitteenä napsautuksen .

Kombinatorinen analyysi Power Queryn avulla LuckyTemplatesissa

Ja saamme tämän Location.1 , joka on kaikki mahdollinen kahden yhdistelmä. Joten se ottaa kuusi ensimmäistä viittausta vastaan ​​kuusi muuta yhdistelmää. Toinen kuusi tekee saman aina, kunnes meillä on 36 erilaista sarjaa.

Kombinatorinen analyysi Power Queryn avulla LuckyTemplatesissa

Voimme tehdä kolmannen tekemällä tämän uudelleen. Joten siirrymme Lisää sarake, sitten mukautettu sarake ja sitten Varastot.

Kombinatorinen analyysi Power Queryn avulla LuckyTemplatesissa

Ja meillä on 216 riviä permutaatioina korvauksen kanssa.

Kombinatorinen analyysi Power Queryn avulla LuckyTemplatesissa

Ja näet täältä alhaalta, 3 saraketta, 216 riviä.

Kombinatorinen analyysi Power Queryn avulla LuckyTemplatesissa

Seuraava käyttötapaus on permutaatiot ilman korvaamista . Ajattelemme tässä pohjimmiltaan kaikkea, jossa on toistuva elementti. Joten tässä taulukossa tarkastellaan riviä 1 riville 8.

Kombinatorinen analyysi Power Queryn avulla LuckyTemplatesissa

Tätä varten tarkastelemme tätä funktiota, fxSortAndIsDistinct .

Kombinatorinen analyysi Power Queryn avulla LuckyTemplatesissa

Lisäeditorissa näet, että tämä periaatteessa pyytää taulukkoa, ja sitten se tekee SortLocs . Mutta tärkeä osa "korvaamalla" tai "ilman vaihtoa" on IsDistinct -toiminto. Tämä tekee vain pohjimmiltaan luettelon elementeistä ja määrittää tosi vai epätosi, onko se erillinen tai onko sillä kaksoiskappaleita kohdeluettelossa.

Kombinatorinen analyysi Power Queryn avulla LuckyTemplatesissa

Joten menemme tähän, valitsemme Perm w Rep ja paina Invoke .

Kombinatorinen analyysi Power Queryn avulla LuckyTemplatesissa

Tämä antaa meille nämä kaksi uutta saraketta, SortLocs ja IsDistinct . Muista nyt, että kahdeksalla ensimmäisellä tietueella oli kaksoiskappaleita ja yhdeksäs tietue oli ensimmäinen kerta, kun näimme erillisen . Siksi yhdeksäs rivi tässä on ensimmäinen, joka näyttää olevan totta.

Kombinatorinen analyysi Power Queryn avulla LuckyTemplatesissa

Jos ajattelemme takaisin niitä lukuja, jotka meillä oli tekijälaskelmissa, odotamme 120 tietuetta, jos otamme pois epäselvät tietueet. Joten, yritetään suodattaa tässä ja poistaa EPÄTOSI.

Kombinatorinen analyysi Power Queryn avulla LuckyTemplatesissa

Kun teemme niin, saamme täällä juuri ne 120 riviä, joita odotamme. Nimetään nyt tämä uudelleen nimellä Perm wo Rep (permutaatio ilman korvausta).

Kombinatorinen analyysi Power Queryn avulla LuckyTemplatesissa

Kombinatorinen analyysi: yhdistelmät Power Queryssa

Nyt teemme yhdistelmät korvaamalla . Teemme sen yksinkertaisesti toistamalla prosessin ja toistamalla vaiheen (käynnistetty toiminto). Joten on okei, että meillä on kaksoiskappaleita, mutta emme halua joukkoja, joissa on samat elementit , mutta eri järjestyksessä.

Kombinatorinen analyysi Power Queryn avulla LuckyTemplatesissa

Tässä tapauksessa, kun puhumme yhdistelmistä. Jos muistat, että ABC on yhtä kuin BCA on yhtä suuri kuin CAB, näitä kaikkia pidetään toistensa kaksoiskappaleina. Ja tapa, jolla määritämme sen, on lajittelufunktio ( fxSortAndIsDistinct ).

Jos palaamme toimintoon Advanced Editorissa, näemme toisessa sarakkeessa, että olemme ottaneet luettelon ja lajitellut sen aakkosjärjestykseen. Sitten poimimme luettelosta pilkuilla rajatut arvot. Nyt jokainen sarja on lajiteltu aakkosjärjestykseen. Olemme normalisoineet järjestyksen, jotta kopioiden löytäminen olisi helppoa.

Kombinatorinen analyysi Power Queryn avulla LuckyTemplatesissa

Jos nyt palaamme tähän Invoked Functioniin, muista, että etsimme täältä 56 tietuetta. Joten otamme tällaisen sijainnin ( SortLocs ) ja poistamme kaksoiskappaleet .

Kombinatorinen analyysi Power Queryn avulla LuckyTemplatesissa

Tällä saadaan 56 riviä.

Kombinatorinen analyysi Power Queryn avulla LuckyTemplatesissa

Ja niin, tämä on kolmas käyttötapauksemme. Nimetään tämä uudelleen nimellä CC w Rep (yhdistelmät korvaamalla).

Kombinatorinen analyysi Power Queryn avulla LuckyTemplatesissa

Päätetään tämä ottamalla uudelleen permutaatiot korvaavilla (Perm w Rep) -taulukolla ja tehdä sama kuvio (kutsu). Sitten poistamme kaksoiskappaleet (SortLocs-sarake), koska tämä on yhdistelmä ja järjestyksellä ei ole väliä. Sitä ei korvata, joten haluamme myös vain erillisen luettelon . Joten napsautamme IsDistinct-sarakkeessa FALSE-painiketta.

Kombinatorinen analyysi Power Queryn avulla LuckyTemplatesissa

Tällä saamme 20 levyä. Ja nyt meillä on kaikki neljä käyttötapaamme.

Kombinatorinen analyysi Power Queryn avulla LuckyTemplatesissa




Johtopäätös

Joten nyt meillä on kaikki neljä käyttötapaamme. Näet todella, kuinka tehokas tämä on sellaisen kombinatorisen analyysin kehittämisessä, joka antaa sinulle mahdollisuuden hallita korvaavia ja erillisiä elementtejä.

Tämä pätee jopa joissakin monimutkaisemmissa tapauksissa, joissa olet osittain korvannut tai ehkä valitset päällekkäisen elementin ensimmäisellä kerralla, mutta et toisella kerralla. Pystyt silti hoitamaan sen hienosti sisällä.

Toivottavasti tämä oli sinulle hyödyllinen. Katso lisää sisältöä alla olevista linkeistä. Voit myös katsoa tämän opetusohjelman koko videon alta.

Kaikki parhaat!


Kuinka asentaa DAX Studio & Tabular Editor LuckyTemplatesissa

Kuinka asentaa DAX Studio & Tabular Editor LuckyTemplatesissa

Opi lataamaan ja asentamaan DAX Studio ja Tabular Editor 3 ja miten ne määritetään käytettäväksi LuckyTemplatesissa ja Excelissä.

LuckyTemplates -muotokartan visualisointi tilaanalyysiin

LuckyTemplates -muotokartan visualisointi tilaanalyysiin

Tämä blogi sisältää Shape Map -visualisoinnin tilaanalyysiä varten LuckyTemplatesissa. Näytän sinulle, kuinka voit käyttää tätä visualisointia tehokkaasti sen ominaisuuksien ja elementtien kanssa.

LuckyTemplatesin talousraportointi: tulosten kohdentaminen malleihin jokaisella rivillä

LuckyTemplatesin talousraportointi: tulosten kohdentaminen malleihin jokaisella rivillä

Tässä opetusohjelmassa esittelen ainutlaatuisen idean talousraportoinnista, joka allokoi tulokset LuckyTemplatesin sisällä olevien taulukkopohjien ennalta määrittämiseen.

DAX-mittaukset LuckyTemplatesissa käyttämällä mittahaaroitusta

DAX-mittaukset LuckyTemplatesissa käyttämällä mittahaaroitusta

Luo DAX-suureita LuckyTemplatesissa käyttämällä olemassa olevia suureita tai kaavoja. Tätä kutsun mittahaaroitustekniikaksi.

Tehokkain toimintopuhelu LuckyTemplatesissa

Tehokkain toimintopuhelu LuckyTemplatesissa

Tässä blogissa tutustu LuckyTemplates-tietojoukkoon, tehokkaimpaan funktiokutsuun, joka tuo tuhansia M- ja DAX-funktioita sormiesi ulottuville.

Datamallinnustekniikat DAX-mittausten järjestämiseen

Datamallinnustekniikat DAX-mittausten järjestämiseen

Tämän päivän opetusohjelmassa jaan muutamia datamallinnustekniikoita DAX-mittausten järjestämiseksi paremmin tehokkaamman työnkulun aikaansaamiseksi.

LuckyTemplates Financial Dashboard: Täydelliset taulukon mukautusvinkit

LuckyTemplates Financial Dashboard: Täydelliset taulukon mukautusvinkit

LuckyTemplates on loistava työkalu talousraportointiin. Tässä on opetusohjelma räätälöityjen taulukoiden luomisesta LuckyTemplates-talouden hallintapaneelillesi.

Power Queryn kielivirran parhaat käytännöt

Power Queryn kielivirran parhaat käytännöt

Tässä opetusohjelmassa keskustellaan Power Query Language Flowsta ja siitä, kuinka se voi auttaa luomaan sujuvan ja tehokkaan dataraportin.

LuckyTemplates mukautetut kuvakkeet | PBI-visualisointitekniikka

LuckyTemplates mukautetut kuvakkeet | PBI-visualisointitekniikka

Keskustelen yhdestä suosikkitekniikoistani mukautettujen LuckyTemplates-kuvakkeiden ympärillä, joka käyttää mukautettuja kuvakkeita dynaamisella tavalla LuckyTemplates-visuaaleissa.

LuckyTemplates -taulukoiden luominen UNION & ROW -funktiolla

LuckyTemplates -taulukoiden luominen UNION & ROW -funktiolla

Tässä blogissa näytän sinulle, kuinka voit luoda LuckyTemplates-taulukoita käyttämällä kaavaa, joka yhdistää UNION-funktion ja ROW-funktion.