Efektívne využívanie vzťahov

Dokončené

Ďalšou funkciou DAX, ktorá vám umožňuje prepísať predvolené správanie, je funkcia USERELATIONSHIP.

Predstavme si nasledujúci príklad dátového modelu.

Snímka obrazovky znázorňujúca spravovanie vzťahov.

Predchádzajúca snímka obrazovky zobrazuje vytvorený vzťah medzi stĺpcami  Date ** (Dátum) a ** OrderDate (DátumObjednávky), ako je znázornené zvýraznenou čiarou spájajúcou oba stĺpce. Plná čiara medzi obomi tabuľkami označuje, že ide o aktívny vzťah, čo znamená, že v predvolenom nastavení sa všetky výseky v tabuľke dátumov, kde sa zobrazujú mierky v údajoch o predaji, budú nachádzať v stĺpci OrderDate (DátumObjednávky). Medzi stĺpcami Date (Dátum ) a ShipDate (Dátum dodávky ) existuje prerušovaný vzťah, čo naznačuje, že ide o neaktívny vzťah. Tento vzťah sa nikdy nepoužije, pokiaľ nie je výslovne deklarovaný v mierke.

Cieľom je vytvoriť nasledujúcu zostavu, v ktorej máte dva vizuály: Predaj podľa dátumu odoslania a Predaj podľa dátumu objednávky.

Snímka obrazovky znázorňujúca vytváranie vizuálov s dimenziami hrania rolí.

Tieto vizuály zobrazujú predaj v čase, ale prvý vizuál je usporiadaný podľa dátumu objednávky a druhý podľa dátumu odoslania, a napriek tomu, že v oboch prípadoch ide o dátumy, je k nim priradený iný údajový bod, aby sa pre ten istý vizuál získali obe množiny údajov.

Ak chcete vytvoriť túto mierku pre Predaj podľa dátumu odoslania, môžete použiť funkciu DAX USERELATIONSHIP(). Táto funkcia slúži na určenie vzťahu, ktorý sa má použiť v konkrétnom výpočte, a vykonáva sa bez prepísania existujúcich vzťahov. Je to výhodná funkcia v tom, že umožňuje vývojárom vykonať ďalšie výpočty týkajúce sa neaktívnych vzťahoch prepísaním predvoleného aktívneho vzťahu medzi dvomi tabuľkami vo výraze DAX, ako je to znázornené v nasledujúcom príklade:

Sales by Ship Date = CALCULATE(Sum(Sales[TotalPrice]), USERELATIONSHIP(Sales[ShipDate],'Calendar'[Date]))

Teraz budete môcť vytvoriť druhý vizuál.