Autoři: Jiří Beran, Martin Bradáč

Tento návod Vám umožní použít dataset publikovaný v powerbi.com, brát z něj data a posílat je různým uživatelům mailem.

Důležité je, že:

  • Každý uživatel dostává pouze svoje data,
  • je to použitelné pro neomezený počet uživatelů,
  • a tito nemusí mít žádnou licenci.

Tento článek vychází z tohoto článku, rozšiřuje ho ale právě o posílání různých obsahů různým lidem.

Jak na to.

Seznam lidí

Potřebujeme seznam uživatelů (jakákoliv tabulka, v tomto případě pro zjednodušení jen array).

Na tuto akci použijeme akci Parse JSON.

Použití dotazovacího DAXu

Potřebujeme vypublikovaná data, ze kterých si naklikáme tabulku, kterou chceme rozposílat. Použijeme rovnou i filtr na libovolného člověka (do toho budeme později dosazovat konkrétní lidi). 

Použijeme analyzátor výkonu, kterým si vykopírujeme DAX dotaz tvořící vizuál, např. tento:

  • // DAX Query
    DEFINE
        VAR __DS0FilterTable =
            TREATAS ( { “beran@exceltown.com” }, ‘Table'[Email] )
        VAR __DS0Core =
            SUMMARIZECOLUMNS (
                ‘Table'[Product],
                ‘Table'[Name],
                __DS0FilterTable,
                “SumValue”CALCULATE ( SUM ( ‘Table'[Value] ) )
            )
        VAR __DS0PrimaryWindowed =
            TOPN ( 501__DS0Core, ‘Table'[Product], 1, ‘Table'[Name], 1 )
    EVALUATE
    __DS0PrimaryWindowed
    ORDER BY
        ‘Table'[Product],
        ‘Table'[Name]

Tento kód uložíme do dvou proměnných. V jedné bude to, co je před emailovou adresou (modré), ve druhé to co je za ní (červené).

Jednotlivé dotazy

Pro každou položku z původní tabulky (použijeme hodnotu z parsování JSONu) projdeme cyklus. 

Ten nejprve stáhne data z Power BI pomocí dotazu, který je složený z:

  • původní proměnné,
  • uvozovek,
  • konkrétní adresy (bereme z jsonu),
  • uvozovek
  • a koncové proměnné.

Výsledek uložíme do HTML a pošleme mailem:

Výsledek vypadá takto (názvy sloupečků není samozřejmě problém v Power Automate poladit)