Relace Many to Many (N:N) je relace mezi tabulkami, která může mít na obou stranách duplicitní hodnoty. To je trochu neobvyklé, obvyklejší jsou relace, které mají na jedné straně hodnoty unikátní – tedy Many to 1.

Jak na ně?

Řekněme, že máme tabulku s plánem a tabulku se skutečností. Chceme porovnat čísla (Revenue plan vs Total price), v rozdělení podle zemí. Tak, abychom u každé země viděli vedle sebe součty plánů a součty skutečností.

Jak se relace Many to Many vytvářejí?

Standardně vytvoříme relaci mezi dvěma sloupci. Buď jí ponecháme nebo nastavíme vztah Many to Many.

Všimněte si toho velmi ostrého varování – že byste měli tento typ relace používat, jen pokud opravdu víte co děláte. K tomu nezbývá než se připojit – tyto relace se v některých kontextech opravdu mohou chovat jinak, než byste čekali.

Jak to pak vypadá ve vizuálu?

Do hodnot umístíme čísla z obou tabulek. Do Rows (Axis…) pak názvy zemí z jedné z tabulek.

Není jedno ze které. Např. v našem případě jsou United States jen v realitě, ale ne v plánu. Pokud bychom tedy do Rows dali země z plánu, tak tam United States nebude (ovšem v součtu se projeví – takže součet nesedí, 159 + 110 není 378):

Pokud do Rows ale dáme země z tabulky se skutečností, uvidíme je tam.

Pokud chceme tuto nejednoznačnost odchytit, je samozřejmě pořád možné vytvořit mezitabulku (bridge table), kde budou vypsané hodnoty z obou tabulek. Tuto tabulku pak napojíme relacemi Many to 1. Koneckonců toto byl standardní postup, dokud Power BI relace Many to Many neumožnilo.