Vložení sestavy Power BI do hlavního formuláře modelem řízené aplikace

Důležité

Existuje lepší způsob, jak přidat sestavu Power BI do formuláře aplikace řízené modelem. Další informace: Použití ovládacího prvku sestavy Power BI pro přidání sestavy

Sestavy Power BI můžete používat v modelem řízených aplikacích Power Apps, abyste svým hlavním formulářům dodali bohaté přehledy a analýzy a umožnili vašim uživatelům dosáhnout více. To odemkne sílu agregovat data napříč systémy a přizpůsobit je kontextu jednoho záznamu.  

Požadavky

Vložení obsahu Power BI je volitelná funkce, která je ve výchozím nastavení zakázána ve všech prostředích. Před vložením obsahu Power BI je třeba ji povolit. Další informace: Povolení vizualizací Power BI v organizaci.

Tato funkce vyžaduje export řešení, úpravu pro přidání fragmentu kódu XML a poté zpětný import do prostředí. Nezapomeňte importovat změny do cílového prostředí pouze prostřednictvím spravovaného řešení. Pokyny k instalaci aktualizace do existujícího spravovaného řešení získáte v části Import, aktualizace a export řešení.

Vložení bez kontextového filtrování

Můžete vložit sestavy Power BI, a získat tak úplně stejnou sestavu. Nezahrnuje to jejich kontextualizaci na současný formulář řízený modelem, a proto získáte stejnou sestavu nebo dlaždici na všech záznamech tabulky. Následující sestava například zobrazuje geografickou polohu všech obchodních vztahů najednou a je užitečná pro zobrazení souhrnných informací.

Vložení zprávy Power BI bez kontextového filtrování.

Uzel sections hlavního formuláře XML můžete přizpůsobit, aby mohl hostovat vloženou sestavu a dlaždici Power BI. Při úpravě postupujte takto:

  1. Ve svém vývojovém prostředí vytvořte řešení a přidejte tabulku, která obsahuje hlavní formulář, do kterého chcete vložit zobrazenou sestavu Power BI.

    • Pokud tabulka již existuje v cílovém prostředí, do kterého importujete řešení, zvolte možnost Vybrat komponenty při přidání tabulky do řešení. Poté přidejte pouze hlavní formulář tabulky.
    • Pokud tabulka neexistuje v cílovém prostředí, do kterého importujete řešení, zvolte možnost Zahrnout všechny komponenty při přidání tabulky do řešení.
  2. Exportujte řešení jako spravované.

  3. Extrahujte všechny soubory v souboru ZIP balíčku řešení. Poté upravte soubor customizations.xml a přidejte níže uvedený kód XML do bloku <sections>, který je uvnitř uzlu <forms type="main"> v souboru customizations.xml.

<section id="{d411658c-7450-e1e3-bc80-07021a04bcc2}" locklevel="0" showlabel="true" IsUserDefined="0" name="tab_4_section_1" labelwidth="115" columns="1" layout="varwidth" showbar="false">
    <labels>
        <label languagecode="1033" description="Unfiltered Power BI embedding demo"/>
    </labels>
    <rows>
        <row>
            <cell id="{7d18b61c-c588-136c-aee7-03e5e74a09a1}" showlabel="true" rowspan="20" colspan="1" auto="false" solutionaction="Added">
                <labels>
                    <label languagecode="1033" description="Accounts (Parent Account)"/>
                </labels>
                <control id="unfilteredreport" classid="{8C54228C-1B25-4909-A12A-F2B968BB0D62}">
                    <parameters>
                        <PowerBIGroupId>00000000-0000-0000-0000-000000000000</PowerBIGroupId>
                        <PowerBIReportId>544c4162-6773-4944-900c-abfd075f6081</PowerBIReportId>
                        <TileUrl>https://app.powerbi.com/reportEmbed?reportId=544c4162-6773-4944-900c-abfd075f6081</TileUrl>
                    </parameters>
                </control>
            </cell>
        </row>
        <row/>
    </rows>
</section>

Důležité

Je nutné použít ovládací prvek classid="{8C54228C-1B25-4909-A12A-F2B968BB0D62}", jak je uvedeno v ukázce kódu XML.

  1. Proveďte následující změny v kódu XML formuláře, který jste zkopírovali do souboru customizations.xml pro svou sestavu Power BI. Tato tabulka popisuje hodnoty, které je třeba změnit v prvcích v předchozím vzorku XML.
Vlastnost Popis
PowerBIGroupId ID pracovního prostoru Power BI. Pokud je vaše sestava v Mém pracovním prostoru,** ID pracovního prostoru je 00000000-0000-0000-0000-000000000000. V opačném případě zadejte ID pracovního prostoru. ID pracovního prostoru najdete v adrese URL služby Power BI. Více informací: Vyhledání ID pracovního prostoru a sestavy Power BI.
PowerBIReportId ID sestavy Power BI. Nahraďte ho sestavou, kterou chcete vložit. ID vaší sestavy najdete v adrese URL služby Power BI. Více informací: Vyhledání ID pracovního prostoru a sestavy Power BI
TileUrl Adresa URL sestavy Power BI, kterou chcete vložit. Je nutné použít správný název poddomény Power BI (část app.powerbi.com nahraďte svou vlastní adresou) a ID sestavy (část reportId=544c4162-6773-4944-900c-abfd075f6081 nahraďte svým vlastním ID). Například https://app.powerbi.com/reportEmbed?reportId=544c4162-6773-4944-900c-abfd075f6081.
solutionaction="Added" Pokud tabulka již v cílovém prostředí existuje, ponechte parametr solutionaction=Added u prvku buňky tak, jak je uveden v ukázkovém XML. Pokud tabulka v cílovém prostředí neexistuje, odeberte parametr solutionaction=Added.
  1. Vytvořte soubor zip ze všech dříve extrahovaných souborů řešení. Potom importujte řešení do cílového prostředí.

Vložení s kontextovým filtrováním

Sestavy Power BI můžete učinit smysluplnějšími pomocí kontextových filtrů na aktuálním formuláři řízeném modelem, takže sestava bude filtrována na základě atributů aktuálního řádku. Následující sestava například zobrazuje geografické umístění obchodního vztahu filtrováním sestavy Power BI pomocí názvu obchodního vztahu. To umožňuje, aby jedna sestava zobrazovala kontextové informace pro všechny řádky tabulky.

Vložení zprávy Power BI s kontextovým filtrováním.

Toto filtrování lze provést přidáním prvku <PowerBIFilter> do bloku <parameter>, jak je znázorněno zde. K vytvoření výrazu filtru můžete použít libovolný atribut tabulky formuláře. Další informace: Vytvoření filtrů pro pochopení, jak vytvářet vlastní filtry.

<control id="filteredreport" classid="{8C54228C-1B25-4909-A12A-F2B968BB0D62}">
    <parameters>
        <PowerBIGroupId>00000000-0000-0000-0000-000000000000</PowerBIGroupId>
        <PowerBIReportId>544c4162-6773-4944-900c-abfd075f6081</PowerBIReportId>
        <TileUrl>https://xyz.powerbi.com/reportEmbed?reportId=544c4162-6773-4944-900c-abfd075f6081</TileUrl>
        <PowerBIFilter>{"Filter": "[{\"$schema\":\"basic\",\"target\":{\"table\":\"table_name_of_power_bi_dataset\",\"column\":\"power_bi_field\"},\"operator\":\"In\",\"values\":[$a],\"filterType\":1}]", "Alias": {"$a": "field_name_in_powerapps_to_filter"}}</PowerBIFilter>
    </parameters>
</control>

Všimněte si, že používá stejný ovládací prvek jako vložení nefiltrované sestavy, a proto zůstane ID třídy ovládacího prvku nezměněno.

Tato tabulka popisuje další vlastnosti použité v předchozím příkladu XML.

Vlastnost Popis
PowerBIFilter Výraz filtru, který kontextualizuje sestavu Power BI předáním atributů formuláře jako parametrů. Aby byl filtr lépe čitelný, je filtr vytvořen podle obrázku. Výraz filtru nemůže být seznam hodnot oddělený čárkami.
    {
            "Filter": "[{
                    \"$schema\":\"basic\",
                    \"target\":{
                            \"table\":\"table_name_of_power_bi_dataset\",
                            \"column\":\"power_bi_field\"
                    },
                    \"operator\":\"In\",
                    \"values\":[$a, $b],
                    \"filterType\":1
            }]",
            "Alias": {
                    "$a": "field1_name_in_powerapps_to_filter",
                    "$b":"field2_name_in_powerapps_to_filter"
            }
    }

Cílová část předchozího výrazu identifikuje tabulku a sloupec, na které se mají filtry použít. Operátor identifikuje logiku a hodnoty identifikují data předaná z aplikace řízené modelem Power Apps. Pro obecnou parametrizaci jsou hodnoty vytvořeny pomocí aliasů. V předchozím výrazu je předána hodnota firstname a lastname obchodního vztahu a jedna z nich je vyhledána ve sloupci Název obchodního vztahu v sestavě Power BI. Všimněte si, že firstname a lastname jsou jedinečné názvy atributů tabulky obchodního vztahu, jehož hodnota zde bude předána.

Můžete vytvořit složitější výrazy filtru pomocí příkladů z části Vytvoření filtrů a zadáním příslušných hodnot pro $schema a FilterType. Nezapomeňte použít únikový znak pro každý literál ve filtru pomocí " tak, aby byl JSON vygenerován správně.

Před importem odeberte neupravený atribut

Před importem řešení do cílového prostředí se ujistěte, že neupravený atribut není zahrnut v části formXml souboru customizations.xml. Pokud je neupravený atribut přítomen v XML obsahujícím XML ovládacího prvku Power BI, odeberte atribut před importem řešení do cílového prostředí. Například vyměňte <systemform unmodified="1"> za <systemform>.

Vyhledání ID pracovního prostoru a sestavy Power BI

  1. ID pracovního prostoru pro tento příklad je efc85277-2bdb-47bc-9762-363f64335108.
  2. ID sestavy pro tento příklad je 643ab643-7126-4a57-bd82-ca8f1fb676fc. Ukázka ID pracovního prostoru a ID sestavy Power BI

Známé problémy a omezení

  • Tato integrace je dostupná pouze v klientovi sjednoceného rozhraní, na podporovaných webových prohlížečích a mobilních zařízeních.

  • Otevření tohoto formuláře v návrháři formuláře Power Apps nezobrazí ovládací prvek srozumitelným způsobem. Je to proto, že ovládací prvek je přizpůsoben mimo návrháře formuláře.

  • Uživatelé budou ověřeni do Power BI automaticky s jejich uživatelským jménem a heslem Power Apps. Když neexistuje účet Power BI s odpovídajícími přihlašovacími údaji, zobrazí se výzva k přihlášení, jak je znázorněno zde.

    Výzva k přihlášení k Power BI.

    Žádná data se nezobrazí, pokud se k přihlášení do Power BI použije nesprávný účet. Chcete-li se přihlásit pomocí správných přihlašovacích údajů, odhlaste se a znovu se přihlaste.

    Přihlaste se ke službě Power BI.

    Uživatel, který je přihlášen, nemá odpovídající oprávnění.

  • Zobrazení dat sestavy je uvnitř Power Apps stejné jako v Power BI a role zabezpečení a oprávnění Power Apps neovlivňují zobrazovaná data. Proto jsou data v podstatě stejná jako ta, která by viděl tvůrce datové sady Power BI. Chcete-li použít omezení přístupu k datům podobná bezpečnostním rolím a týmům Power Apps, použijte zabezpečení na úrovni řádku (RLS) s Power BI.

  • Pokud po importu řešení a publikování vlastních nastavení nezobrazí formulář sestavu Power BI, otevřete ho v editoru formulářů řízených podle modelu a uložte ho tak, aby se vygeneroval formulář JSON.

  • Vložení dlaždice Power BI do formuláře je podporováno pouze bez kontextového filtrování.

  • Vložení sestavy Power BI nepodporuje odkazy mezi klienty. Například pokus o vložení sestavy Power BI patřící klientovi Contoso do modelem řízené aplikace patřící klientovi Fabrikam není aktuálně podporován, i když vkládaná sestava byla sdílena s uživateli v klientovi Fabrikam přes Power BI.

Časté problémy

  • ID skupiny není uvedeno v uzlu TileUrl řídicích parametrů, když to bude třeba. Tento příklad obsahuje ID skupiny.
<parameters>
    <PowerBIGroupId>fd266a4c-9a02-4553-9310-80e05ee844f3</PowerBIGroupId>
    <PowerBIReportId>544c4162-6773-4944-900c-abfd075f6081</PowerBIReportId>
    <TileUrl>https://xyz.powerbi.com/reportEmbed?reportId=544c4162-6773-4944-900c-abfd075f6081&amp;groupId=fd266a4c-9a02-4553-9310-80e05ee844f3</TileUrl>
</parameters>
  • Pole mají různé datové typy v Power BI a Dataverse. Musí být stejného typu, například řetězec v Power BI a řetězec uvnitř Dataverse.
  • Pole řetězce nemají konečné uvozovky ve filtru Power BI. Všimněte si, že values[\"$a\"] spíše než [$a].
    {
            "Filter": "[{
                    \"$schema\":\"basic\",
                    \"target\":{
                            \"table\":\"table_name_of_power_bi_dataset\",
                            \"column\":\"power_bi_field\"
                    },
                    \"operator\":\"In\",
                    \"values\":[\"$a\"],
                    \"filterType\":1
            }]",
            "Alias": {
                    "$a": "field_name_in_powerapps_to_filter",
            }
    }

Viz také

Vložení řídicího panelu Power BI do osobního řídicího panelu řízeného podle modelu Power Apps

Použití Power BI s aplikacemi Dynamics 365

Poznámka

Můžete nám sdělit, jaké máte jazykové preference pro dokumentaci? Zúčastněte se krátkého průzkumu. (upozorňujeme, že tento průzkum je v angličtině)

Průzkum bude trvat asi sedm minut. Nejsou shromažďovány žádné osobní údaje (prohlášení o zásadách ochrany osobních údajů).