Vytváření dynamických sestav s parametry

Dokončeno

Dynamické sestavy jsou sestavy, ve kterých může vývojář měnit data podle uživatelských specifikací. Dynamické sestavy jsou cenné, protože jedna sestava se dá použít k více účelům. Pokud používáte dynamické sestavy, stačí vytvářet méně jednotlivých sestav, takže ušetříte čas a prostředky organizace.

Můžete použít parametry určením hodnot, pro které v sestavě chcete zobrazit data, a sestava se odpovídajícím způsobem aktualizuje tak, že pro vás data vyfiltruje.

Vytváření dynamických sestav vám umožní dát uživatelům větší kontrolu nad daty zobrazenými ve vašich sestavách. Můžou sami měnit zdroj dat a data filtrovat.

V následujícím příkladu jste vytvořili sestavu pro prodejní tým v Tailwind Traders, která zobrazuje prodejní data v databázi SQL Serveru. Tato sestava poskytuje holistické zobrazení toho, jak si prodejní tým vede. I když je sestava užitečná, členové prodejního týmu chtějí být schopní sestavu filtrovat, aby si mohli zobrazit jenom svá vlastní data a snadněji sledovat svůj výkon ve srovnání s prodejními cíli.

Vytváření dynamických sestav pro jednotlivé hodnoty

Pokud chcete vytvořit dynamickou sestavu, musíte nejdřív napsat dotaz SQL. Pak se pomocí funkce Získat data v Power BI Desktop připojte k databázi.

V tomto příkladu se připojíte k databázi na SQL Server pomocí následujícího postupu:

  1. Po zadání podrobností o serveru vyberte v okně Databáze SQL Serveru položku Upřesnit možnosti.

  2. Vložte dotaz SQL do pole Příkaz jazyka SQL a pak vyberte OK.

    Podrobnosti příkazu jazyka SQL

    Přidání dotazu do příkazu provedení

    Po navázání připojení se data zobrazí v okně náhledu.

  3. Zvolením možnosti Upravit otevřete data v Editoru Power Query.

Dále vytvoříte parametr následujícím postupem:

  1. Na kartě Domů vyberte Spravovat parametry > Nový parametr.

  2. V okně Parametry změňte výchozí název parametru na nějaký popisnější, ze kterého bude jasný jeho účel. V tomto případě změníte název SalesPerson (Prodejce).

  3. Ze seznamu Typ vyberte Text a pak ze seznamu Navrhované hodnoty vyberte Libovolná hodnota.

  4. Vyberte OK.

    Přidání parametru

    Zobrazí se nový dotaz pro parametr, který jste vytvořili.

    Nový dotaz pro parametr

Teď je potřeba upravit kód v příkazu SQL, aby se posoudil nový parametr:

  1. Klikněte pravým tlačítkem na Query1 (Dotaz1) a vyberte Rozšířený editor.

  2. Nahraďte existující hodnotu v příkazu execute ampersand (&) následovaným názvem vašeho parametru (SalesPerson), jak je znázorněno na následujícím obrázku.

    Upravení příkazu SQL

  3. Zkontrolujte, jestli v dolní části okna nezobrazují žádné chyby, a pak vyberte Hotovo.

I když na obrazovce nevidíte rozdíl, Power BI dotaz spustil.

  1. Pokud si to chcete ověřit, můžete si to otestovat tak, že tento parametrický dotaz vyberete a zadáte novou hodnotu do pole Aktuální hodnota.

    Zadání hodnoty do parametru

  2. Vedle dotazu se může zobrazit ikona upozornění. V takovém případě vybráním dotazu zobrazte zprávu upozornění, že ke spuštění tohoto nativního databázového dotazu je vyžadováno oprávnění. Vyberte Upravit oprávnění a pak Spustit.

    Když se dotaz úspěšně spustí, parametr zobrazí novou hodnotu.

    Parametr s aktualizovanými hodnotami

  3. Pomocí Zavřít a použít se vraťte do editoru sestav.

Teď můžete parametr použít na sestavu:

  1. Vyberte Upravit dotazy > Upravit parametry.

  2. V okně Upravit parametry zadejte novou hodnotu a vyberte OK.

  3. Vyberte Použít změny a pak znovu spusťte nativní dotaz.

    Teď při zobrazení dat uvidíte data pro novou hodnotu, která byla předána prostřednictvím parametru .

    Výsledek použití parametru na sestavu

Teď můžete vytvořit sestavu, která zobrazí data pro jednu konkrétní hodnotu. K zobrazení dat pro více hodnot najednou je potřeba provést další kroky.

Vytváření dynamických sestav pro více hodnot

Pokud chcete více hodnot najednou, musíte nejdřív vytvořit list Microsoft Excelu s tabulkou sestávající z jednoho sloupce, který obsahuje seznam hodnot.

Pak se pomocí funkce Získat data v Power BI Desktopu připojte k datům v tomto excelovém listu a postupujte takto:

  1. V okně Navigátor vyberte Upravit a otevřete data v Editor Power Query, kde se zobrazí nový dotaz pro tabulku dat.

    Tabulka v podokně dotazu

  2. Přejmenujte sloupec v tabulce na popisnější.

  3. Změňte datový typ sloupce na Text, aby odpovídal typu parametru a vyhnuli jste se problémům s převodem dat.

  4. V části Vlastnosti dotazu také změňte název zdroje dat na něco popisnějšího. V tomto případě zadejte SalesPersonID.

Dále musíte vytvořit funkci, která předá nový dotaz SalesPersonID do Query1:

  1. Klikněte pravým tlačítkem na Query1 a vyberte Vytvořit funkci.

    Výběr možnosti Vytvořit funkci pro dotaz

  2. Zadejte název funkce a vyberte OK.

    Výběr okna pro vytvoření funkce

    Nová funkce se zobrazí v podokně Dotazy .

    Funkce v podokně dotazu

  3. Aby se Query1 nezobrazoval v seznamu polí sestavy, což by mohlo potenciálně zmást uživatele, můžete jeho načtení v sestavě zakázat tím, že znovu klikněte pravým tlačítkem na Query1 a pak vybráním možnosti Povolit načtení (ve výchozím nastavení vybrána) funkci zakažte.

    Možnost Povolit načtení:

  4. Vyberte dotaz SalesPersonID , který jste načetli z excelového listu, a pak na kartě Přidat sloupec vyberte Vyvolat vlastní funkci , aby se spustila vlastní funkce, kterou jste vytvořili.

    Možnost Vyvolat vlastní funkci

  5. V okně Vyvolat vlastní funkci vyberte svou funkci ze seznamu Dotaz na funkci.

Název nového sloupce se automaticky aktualizuje a ve výchozím nastavení je vybraná tabulka obsahující hodnoty, které budete parametrem předávat.

  1. Vyberte OK a v případě potřeby spusťte nativní dotaz.

    Okno Vyvolat vlastní funkci

    Vedle sloupce SalesPersonID se zobrazí nový sloupec pro funkci GetSalesFromSalesPerson.

    Nový sloupec pro funkci

  2. Vyberte ikonu se dvěma šipkami v záhlaví nového sloupce a pak zaškrtněte políčka sloupců, které chcete načíst. V této části určíte podrobnosti, které jsou k dispozici v sestavě pro každou hodnotu (ID prodejce).

  3. V dolní části obrazovky zrušte zaškrtnutí políčka Používat původní název sloupce jako předponu, protože v sestavě není nutné zobrazovat předponu s názvy sloupců.

  4. Vyberte OK.

    Výběr sloupců pro funkci

    Teď byste měli vidět data pro sloupce, které jste vybrali, pro každou hodnotu (ID prodejce).

    Zobrazení sloupců pro funkci

    V případě potřeby můžete do sloupce SalesPersonID v excelovém listu přidat další hodnoty (ID prodejců) nebo změnit stávající hodnoty.

  5. Uložte změny a pak se vraťte do Editoru Power Query.

  6. Na kartě Domů vyberte Aktualizovat náhled, pak znovu spusťte nativní dotaz (pokud je potřeba). Měli byste vidět prodeje od nových ID prodejců, které jste do listu přidali.

  7. Vyberte Zavřít a použít a vraťte se do editoru sestav, kde uvidíte názvy nových sloupců v podokně Pole.

Teď můžete začít vytvářet sestavu