Kombinatorická analýza pomocou Power Query v LuckyTemplates

Chcem sa hlboko ponoriť do niečoho, čo sa nazýva kombinatorická analýza. To možno definovať ako výber a usporiadanie prvkov zostáv v súlade s predpísanými pravidlami. Môže to znieť ezotericky, ale v skutočnosti má niekoľko veľmi praktických prípadov použitia. Celé video tohto návodu si môžete pozrieť v spodnej časti tohto blogu.

V tomto návode vám ukážem, ako to urobiť pomocou Power Query v LuckyTemplates.

Obsah

Príklad kombinatorickej analýzy

V tomto príklade kombinatorickej analýzy bolo úlohou, aby sme mali zoznam šiestich skladov a potrebovali sme vygenerovať každý jedinečný súbor troch. Znie to ako celkom jednoduchý problém, ale toto je jeden z tých prípadov, kedy na jazyku skutočne záleží.

Správna odpoveď je buď 216, 120, 56 alebo 20. Takže v závislosti od toho, ako definujete túto jedinečnú množinu a pravidlá, ktoré ste predpísali, môžete byť mimo faktor 10, ak množinu nezískate správne.

Kombinatorická analýza pomocou Power Query v LuckyTemplates

A tak tu záleží na dvoch dimenziách. Prvým je „ záleží na poradí ? Takže keď hovoríme o troch sadách po troch, je ABC ekvivalentné BCA? Záleží teda na poradí? A ak na poradí záleží , hovoríme o permutáciách .

Dobrým príkladom permutácií, kde môže na poradí záležať, je (hovoríme o kontexte skladu) v prípade času cesty. Veľmi dobre sa môže stať, že ak navštívite sklad A, potom sklad B a potom sklad C, čas cesty v dôsledku dopravného toku s premávkou proti premávke, čas, kedy ste prišli do každého skladu, sa môže značne líšiť v závislosti od objednávky. v ktorom ich navštívite.

Druhou stránkou je „ na poradí nezáleží “, v tomto prípade hovoríme o kombináciách , nie o permutáciách. Bežným prípadom použitia je vzdialenosť. Napríklad vzdušnou čiarou sa vzdialenosť z A do B do C nebude líšiť od vzdialenosti z B do C do A. Tie sa budú posudzovať v kontexte kombinácie.

Kombinácie sa považujú za vzájomné duplikáty. Zatiaľ čo v kontexte permutácie sa budú považovať za jedinečné.

A tak, ako vidíte, kombinačný zámok by mal byť skutočne permutačným zámkom, pretože v takom prípade na poradí záleží, čo z neho robí permutáciu, nie kombináciu.

Druhá otázka alebo rozmer, na ktorom záleží, je „ keď je položka vybratá, dá sa vybrať znova ?“ Napríklad, ak si vyberieme A ako náš prvý sklad, môžeme si vybrať A znova, alebo si musíme zakaždým vybrať jedinečné prvky?

Termín, ktorý tu používame, je „ s náhradou “ alebo „ bez náhrady “. Takže, ak je možné položku vybrať znova, je to s výmenou, čo znamená, že si ju vyberiete. A v istom zmysle sa vráti do výberového koša a znova sa vyberie. Ak je odpoveď nie, je to bez náhrady.

V tomto riešení teda môžete vidieť, že permutácie s náhradou sú najmenej obmedzujúce. Takže to je ten, ktorý nám dáva 216 jedinečných súborov. A kombinácie bez náhrady sú najobmedzujúcejšie, čo nám dáva 20.

Kombinatorická analýza pomocou Power Query v LuckyTemplates

Tieto vzorce použijeme len ako spôsob kontroly našich výsledkov. Takže si zapamätáme 216, 120, 56 a 20. Teraz sa vrhneme do Power Query a uvidíme, ako celá táto kombinatorická analýza prebieha.

Kombinatorická analýza: Permutácie v Power Query

V Power Query tu mám veľmi jednoduchý prípad so šiestimi pomenovanými skladmi.

Kombinatorická analýza pomocou Power Query v LuckyTemplates

A vyvinul som túto funkciu Power Query M, ktorú som použil na spracovanie kombinácií a permutácií.

Kombinatorická analýza pomocou Power Query v LuckyTemplates

Najprv vyviniem prvý prípad použitia, ktorým sú permutácie s náhradou , najmenej obmedzujúce zo skupiny. Spôsob, ako to urobiť v Power Query, je vziať túto tabuľku skladov a odkázať na ňu (v jazyku DAX používame CROSSJOIN ).

Kombinatorická analýza pomocou Power Query v LuckyTemplates

Budem to nazývať Per w Rep (permutácie s náhradou).

Kombinatorická analýza pomocou Power Query v LuckyTemplates

Existuje niekoľko spôsobov, ako môžete vykonať krížové spojenie v Power Query. Najjednoduchší spôsob, ktorý som našiel, je jednoducho prejsť na položku Pridať stĺpec a potom na položku Vlastný stĺpec . Vo vzorci vlastného stĺpca sa pozrite na tabuľku Sklady .

Kombinatorická analýza pomocou Power Query v LuckyTemplates

A čo zistíme, keď klikneme na OK, je to, že vygeneruje vnorenú tabuľku.

Kombinatorická analýza pomocou Power Query v LuckyTemplates

Potom to rozbalíme a odklikneme názov Použiť pôvodný názov stĺpcov ako predponu .

Kombinatorická analýza pomocou Power Query v LuckyTemplates

A dostaneme toto Location.1 , čo je každá možná kombinácia dvoch. Takže to vezme prvých šesť odkazov oproti ostatným šiestim kombináciám. Druhá šestka robí to isté až dolu, kým nemáme 36 rôznych sád.

Kombinatorická analýza pomocou Power Query v LuckyTemplates

Tretiu akciu môžeme urobiť znova. Takže prejdeme na Pridať stĺpec, potom na vlastný stĺpec a potom na Sklady.

Kombinatorická analýza pomocou Power Query v LuckyTemplates

A budeme mať 216 riadkov ako permutácie s náhradou.

Kombinatorická analýza pomocou Power Query v LuckyTemplates

A tu môžete vidieť zdola, 3 stĺpce, 216 riadkov.

Kombinatorická analýza pomocou Power Query v LuckyTemplates

Ďalším prípadom použitia sú permutácie bez náhrady . To, o čom tu myslíme, je v podstate všetko, čo má opakujúci sa prvok. Takže v tejto tabuľke sa pozrieme na riadok 1 až riadok 8.

Kombinatorická analýza pomocou Power Query v LuckyTemplates

Aby sme to dosiahli, pozrime sa na túto funkciu, fxSortAndIsDistinct .

Kombinatorická analýza pomocou Power Query v LuckyTemplates

V rozšírenom editore môžete vidieť, že to v podstate vyžaduje tabuľku a potom vykoná SortLocs . Ale dôležitá časť pre „s náhradou“ alebo „bez náhrady“ je, že ide o funkciu IsDistinct . To, čo to robí, je v podstate zobrať zoznam prvkov a určiť pravdivé alebo nepravdivé, či je to odlišné alebo či má nejaké duplikáty v zozname položiek.

Kombinatorická analýza pomocou Power Query v LuckyTemplates

Ideme teda sem, vyberieme Perm w Rep a stlačíme Invoke .

Kombinatorická analýza pomocou Power Query v LuckyTemplates

Získame tak tieto dva nové stĺpce, SortLocs a IsDistinct . Teraz si pamätajte, že prvých osem záznamov malo duplikáty a deviaty záznam bol prvýkrát, čo sme videli odlišný . Preto je tu deviaty rad prvým, ktorý sa ukazuje ako pravdivý.

Kombinatorická analýza pomocou Power Query v LuckyTemplates

Ak si spomenieme na čísla, ktoré sme mali pri faktoriálových výpočtoch, očakávame 120 záznamov, ak odstránime nerozlíšené záznamy. Skúsme teda filtrovať tu a vyňať FALSE.

Kombinatorická analýza pomocou Power Query v LuckyTemplates

Keď to urobíme, dostaneme tu presne 120 riadkov, ktoré očakávame. Teraz to premenujme na Perm wo Rep (permutácia bez náhrady).

Kombinatorická analýza pomocou Power Query v LuckyTemplates

Kombinatorická analýza: Kombinácie v Power Query

Teraz urobíme kombinácie s náhradou . Aby sme to dosiahli, jednoducho vykonáme proces znova a zopakujeme krok (Vyvolaná funkcia). Takže je v poriadku, že máme duplikáty, ale nechceme sady, ktoré majú rovnaké prvky , ale v inom poradí.

Kombinatorická analýza pomocou Power Query v LuckyTemplates

V tomto prípade, keď už hovoríme o kombináciách. Ak si pamätáte, že ABC sa rovná BCA sa rovná CAB, všetky sa považujú za duplikáty. A spôsob, akým to určíme, je pomocou funkcie Sort ( fxSortAndIsDistinct ).

Ak sa vrátime k funkcii v rozšírenom editore, v druhom stĺpci uvidíme, že sme tento zoznam vybrali a zoradili sme ho podľa abecedy. Potom sme z tohto zoznamu extrahovali hodnoty oddelené čiarkou. Teraz máme každú sadu zoradenú podľa abecedy. Objednávku sme normalizovali, aby bolo ľahké nájsť duplikáty.

Kombinatorická analýza pomocou Power Query v LuckyTemplates

Ak sa teraz vrátime k tejto vyvolanej funkcii, nezabudnite, že tu hľadáme 56 záznamov. Takže vezmeme tento druh umiestnenia ( SortLocs ) a odstránime naše duplikáty .

Kombinatorická analýza pomocou Power Query v LuckyTemplates

Získame tak 56 riadkov.

Kombinatorická analýza pomocou Power Query v LuckyTemplates

Toto je náš tretí prípad použitia. Premenujme to na CC w Rep (kombinácie s náhradou).

Kombinatorická analýza pomocou Power Query v LuckyTemplates

Poďme to zabaliť tým, že znova vezmeme permutácie s tabuľkou nahradenia (Perm w Rep) a urobme rovnaký vzor (invoke). Potom odstránime duplikáty (stĺpec SortLocs), pretože ide o kombináciu a na poradí nezáleží. Je bez náhrady, takže chceme iba samostatný zoznam . Takže klikneme na FALSE v stĺpci IsDistinct.

Kombinatorická analýza pomocou Power Query v LuckyTemplates

Získame tak 20 záznamov. A teraz máme všetky štyri naše prípady použitia.

Kombinatorická analýza pomocou Power Query v LuckyTemplates




Záver

Takže teraz máme všetky štyri naše prípady použitia. Môžete skutočne vidieť, aké silné je to z hľadiska vývoja kombinatorickej analýzy, ktorá vám dáva kontrolu nad náhradou a odlišnými prvkami.

Toto je dokonca použiteľné v niektorých zložitejších prípadoch, keď máte čiastočnú výmenu alebo možno vyberiete duplicitný prvok pre prvý, ale nie druhýkrát. Vnútri to stále môžete pekne zvládnuť.

Dúfam, že to bolo pre vás užitočné. Viac obsahu nájdete na nižšie uvedených odkazoch. Môžete si tiež pozrieť celé video tohto tutoriálu nižšie.

Všetko najlepšie!


Vytvoření tabulky data v LuckyTemplates

Vytvoření tabulky data v LuckyTemplates

Zjistěte, proč je důležité mít vyhrazenou tabulku s daty v LuckyTemplates, a naučte se nejrychlejší a nejefektivnější způsob, jak toho dosáhnout.

LuckyTemplates Mobile Reporting Tipy a techniky

LuckyTemplates Mobile Reporting Tipy a techniky

Tento stručný návod zdůrazňuje funkci mobilního hlášení LuckyTemplates. Ukážu vám, jak můžete efektivně vytvářet přehledy pro mobily.

Profesionální servisní analytické zprávy v LuckyTemplates

Profesionální servisní analytické zprávy v LuckyTemplates

V této ukázce LuckyTemplates si projdeme sestavy ukazující profesionální analýzy služeb od firmy, která má více smluv a zákaznických vztahů.

Aktualizácie Microsoft Power Platform | Microsoft Ignite 2021

Aktualizácie Microsoft Power Platform | Microsoft Ignite 2021

Pozrite si kľúčové aktualizácie pre Power Apps a Power Automate a ich výhody a dôsledky pre platformu Microsoft Power Platform.

Bežné funkcie SQL: Prehľad

Bežné funkcie SQL: Prehľad

Objavte niektoré bežné funkcie SQL, ktoré môžeme použiť, ako napríklad reťazec, dátum a niektoré pokročilé funkcie na spracovanie alebo manipuláciu s údajmi.

Vytvoření šablony LuckyTemplates: Průvodce a tipy

Vytvoření šablony LuckyTemplates: Průvodce a tipy

V tomto tutoriálu se naučíte, jak vytvořit dokonalou šablonu LuckyTemplates, která je nakonfigurována podle vašich potřeb a preferencí.

Parametry pole a malé násobky v LuckyTemplates

Parametry pole a malé násobky v LuckyTemplates

V tomto blogu si ukážeme, jak vrstvit parametry pole s malými násobky, abychom vytvořili neuvěřitelně užitečné přehledy a vizuály.

LuckyTemplates Rank a vlastní seskupení

LuckyTemplates Rank a vlastní seskupení

V tomto blogu se dozvíte, jak používat funkce hodnocení LuckyTemplates a vlastní seskupování k segmentaci ukázkových dat a jejich seřazení podle kritérií.

Zobrazení kumulativního součtu pouze do určitého data v LuckyTemplates

Zobrazení kumulativního součtu pouze do určitého data v LuckyTemplates

V tomto tutoriálu se budu zabývat konkrétní technikou, jak zobrazit kumulativní součet pouze do určitého data ve vašich vizuálech v LuckyTemplates.

Bullet Charts: Pokročilé vlastní vizuální prvky pro LuckyTemplates

Bullet Charts: Pokročilé vlastní vizuální prvky pro LuckyTemplates

Naučte se vytvářet a přizpůsobovat Bullet grafy v LuckyTemplates, které se používají hlavně pro měření výkonu oproti cílovým nebo předchozím rokům.