Vloženie zostavy služby Power BI do hlavného formulára aplikácie riadenej modelom

Zostavy služby Power BI môžete použiť v Power Apps aplikáciách riadených modelom na zabezpečenie bohatých možností vytvárania zostáv a analýz v hlavných formulároch a na poskytnutie širších možností vašim používateľom. Týmto sa odblokuje možnosť agregovať údaje naprieč systémom a prispôsobovať ich obsahu jediného záznamu.  

Predpoklady

Vkladanie obsahu služby Power BI je voliteľná funkcia a v predvolenom nastavení je vypnutá vo všetkých prostrediach. Musíte ju povoliť, aby ste mohli vkladať obsah služby Power BI. Ďalšie informácie: Povolenie vizualizácií služby Power BI v organizácii.

Táto funkcia vyžaduje export riešenia, jeho úpravu pridaním úryvku kódu xml a následným opätovným importovaním späť do prostredia. Uistite sa, aby ste importovali zmeny vo vašom cieľovom prostredí iba prostredníctvom spravovaného riešenia. Pozri Import, aktualizácia a export riešenia, kde nájdete pokyny na inštaláciu aktualizácie do existujúceho spravovaného riešenia.

Vloženie bez filtrovania kontextu

Môžete použiť zostavy Power BI ich vložením a získať presne tú istú zostavu. To nezahŕňa ich kontextualizáciu do aktuálneho formulára založeného na modeli, a preto získate rovnakú správu pre všetky záznamy v tabuľke. Napríklad nasledujúca zostava ukazuje geografickú polohu všetkých obchodných vzťahov naraz, a je užitočná na zobrazenie súhrnných informácií.

Vložená zostava Power BI bez filtrovania kontextu.

Môžete si prispôsobiť uzol hlavného formulára XML sections, aby mohol byť hostiteľom vstavanej zostavy Power BI a dlaždice podľa týchto krokov:

  1. Vo svojom vývojovom prostredí vytvorte riešenie a pridajte tabuľku obsahujúcu hlavný formulár, do ktorého chcete vložiť zostavu Power BI na zobrazenie.

    • Ak tabuľka už existuje v cieľovom prostredí, do ktorého importujete riešenie, pri pridávaní tabuľky do riešenia vyberte možnosť Vybrať komponenty . Potom pridajte iba hlavný formulár tabuľky.
    • Ak tabuľka v cieľovom prostredí, do ktorého importujete riešenie, neexistuje, pri pridávaní tabuľky do riešenia zvoľte Zahrnúť všetky komponenty .
  2. Exportujte riešenie ako spravované.

  3. Extrahujte všetky súbory do súboru zip balíka riešení. Potom upravte súbor customizations.xml a pridajte nižšie uvedený kód XML do bloku <sections>, ktorý je v uzle <forms type="main"> v súbore 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é

Použite ovládací prvok classid="{8C54228C-1B25-4909-A12A-F2B968BB0D62}", ako je uvedené vo vzorke XML.

  1. Vykonajte nasledujúce zmeny vo formáte XML, ktorý ste skopírovali do súboru customizations.xml pre svoju zostavu Power BI. Táto tabuľka popisuje hodnoty, ktoré musíte zmeniť na prvky v predchádzajúcej ukážke XML.
Vlastnosť Description
PowerBIGroupId ID pracovného priestoru v službe Power BI. Ak je váš prehľad v časti Môj pracovný priestor,** identifikátor pracovného priestoru je 00000000-0000-0000-0000-000000000000. V opačnom prípade pridajte ID pracovného priestoru. ID pracovného priestoru nájdete na adrese URL služby Power BI. Viac informácií: Vyhľadanie ID pracovného priestoru a zostavy Power BI.
PowerBIReportId ID zostavy Power BI. Nahraďte zostavou, ktorú chcete vložiť. ID svojej zostavy môžete nájsť na adrese URL služby Power BI. Viac informácií: Vyhľadanie ID pracovného priestoru a zostavy Power BI
TileUrl Adresa URL zostavy Power BI, ktorú chcete vložiť. Uistite sa, že používate správny názov subdomény Power BI (môže byť potrebné nahradiť app.powerbi.com za vlastné) a ID zostavy (nahraďte reportId=544c4162-6773-4944-900c-abfd075f6081 za vlastné). Napríklad:https://app.powerbi.com/reportEmbed?reportId=544c4162-6773-4944-900c-abfd075f6081
solutionaction="Added" Ak už tabuľka v cieľovom prostredí existuje, nechajte parameter solutionaction=Added pre prvok bunky, ako je uvedené vo vzorke XML. Ak tabuľka v cieľovom prostredí neexistuje, odstráňte parameter solutionaction=Added.
  1. Vytvorte súbor zip zo všetkých predtým extrahovaných súborov s riešením. Potom importujte riešenie do cieľového prostredia.

Vloženie s filtrovaním kontextu

Môžete vytvoriť zmysluplnejšie zostavy Power BI uplatnením kontextových filtre na aktuálny formulár riadený modelom tak, že zostava bude filtrovaná na základe atribútov aktuálneho riadku. napr.íklad nasledujúca zostava ukazuje geografickú polohu obchodného vzťahu filtrovaním zostavy Power BI použitím názvu obchodného vzťahu. To umožňuje v jednej zostave zobrazovať informácie v správnom kontexte pre všetky riadky tabuľky.

Vložená zostava Power BI s filtrovaním kontextu.

Filtrovanie prebieha pridaním prvku <PowerBIFilter> do bloku <parameter>, ako je znázornené tu. Môžete použiť akýkoľvek atribút tabuľky formulára na zostavenie výrazu filtra. Ďalšie informácie: Zostavovanie filtrov na pochopenie, ako vytvoriť vlastné filtre.

<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>

Upozorňujeme, že sa tu používa rovnaký ovládací prvok ako pri vkladaní nefiltrovanej zostavy, a preto id triedy ovládacieho prvku sa nemení.

Táto tabuľka popisuje ďalšie vlastnosti použité v predchádzajúcej vzorke XML.

Vlastnosť Popis
PowerBIFilter Výraz filtra, ktorý kontextualizuje zostavu Power BI odovzdaním atribútov formulára ako parametrov. Aby to bolo viac čitateľný, filter je konštruovaný ako je tu uvedené. Výraz filtra nemôže byť zoznam hodnôt oddelených čiarkami.
    {
            "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"
            }
    }

Cieľová časť predchádzajúceho výrazu identifikuje tabuľku a stĺpec, na ktoré sa aplikujú filtre. Operátor určuje logiku a hodnoty určujú údaje prenášané z aplikácie Power Apps riadenej modelom. Pri všeobecnom parametrizovaní sa hodnoty zostavujú pomocou aliasov. V predchádzajúcom výraze sa odovzdávajú hodnoty mena a priezviska obchodného vzťahu, a každá z nich sa vyhľadáva v stĺpci Názov obchodného vzťahu stĺpca zostavy Power BI. Pripomíname, že meno a priezvisko sú jedinečné názvy atribútov tabuľky obchodného vzťahu, ktorého hodnota sa odovzdáva tu.

Môžete vytvoriť viac zložitejších výrazov filtra pri pohľade na príklady z článku Zostavovanie filtrov a poskytnutím zodpovedajúcich hodnôt pre $schema a filterType. Uistite sa, že každú explicitnú hodnotu premennej vo filtri ukončíte symbolom ", aby sa reťazec JSON vygeneroval správne.

Pred importom odstráňte neupravený atribút

Pred importom riešenia do cieľového prostredia sa uistite, že nemenený atribút nie je zahrnutý v časti formXml súboru customizations.xml. Ak je nemodifikovaný atribút prítomný v XML, ktorý obsahuje ovládací prvok Power BI XML, odstráňte atribút pred importom riešenia do cieľového prostredia. Napríklad, vymeňte <systemform unmodified="1"> za <systemform>.

Vyhľadanie ID pracovného priestoru a zostavy Power BI

  1. ID pracovného priestoru pre tento príklad je efc85277-2bdb-47bc-9762-363f64335108.
  2. ID zostavy pre tento príklad je 643ab643-7126-4a57-bd82-ca8f1fb676fc. Power BI ID pracovného priestoru a ID zostavy

Známe problémy a obmedzenia

  • Táto integrácia je dostupná iba v klientovi zjednoteného rozhrania, v podporovaných webových prehliadačoch a mobilných zariadeniach.

  • Otvorenie tohto formulára v návrhárovi formulárov Power Apps nezobrazí ovládací prvok zmysluplným spôsobom. To je preto, lebo ovládací prvok je prispôsobený mimo návrhára formulárov.

  • Používatelia budú overení do Power BI automaticky pomocou ich Power Apps používateľského mena a hesla. Ak účet Power BI so zodpovedajúcimi povereniami neexistuje, zobrazí sa výzva na prihlásenie podľa nasledujúceho obrázku.

    Výzva na prihlásenie Power BI.

    Nezobrazia sa žiadne údaje, ak sa použije nesprávny účet na prihlásenie do Power BI. Ak sa chcete prihlásiť so správnymi povereniami, odhláste sa a prihláste sa znova.

    Prihláste sa do služby Power BI.

    Používateľ, ktorý je prihlásený, nemá príslušné povolenie.

  • Zobrazenie údajov prehľadu zobrazené vo vnútri Power Apps je rovnaké ako Power BI a Power Apps roly zabezpečenia a privilégiá nemajú vplyv na zobrazené údaje. Preto sú údaje v zásade rovnaké, aké by mal vidieť tvorca množiny údajov Power BI. Ak chcete uplatniť obmedzenia prístupu k údajom podobne ako v prípade rol zabezpečenia a tímov v Power Apps, použite zabezpečenie na úrovni riadka v RLS s Power BI.

  • Ak formulár nezobrazuje zostavu Power BI po importe riešenia a zverejnenia prispôsobení, otvorte ho v editor formulárov riedených modelom a uložte ho, aby sa vygeneroval reťazec vo formáte JSON.

  • Vkladanie dlaždice Power BI do formulára je podporované iba bez kontextového filtrovania.

  • Vloženie prehľadu Power BI nepodporuje odkazy medzi nájomníkmi. Napríklad pokus o vloženie Power BI prehľadu patriacemu nájomníkovi Contoso do modelom riadenej aplikácie patriacej nájomcovi Fabrikam nie je momentálne podporovaný, a to aj v prípade, že vložená zostava bola zdieľaná s používateľmi v Nájomca Fabrikamu cez Power BI.

  • Pripnuté zostavy ako súčasť Power BI hlavných panelov nemajú byť interaktívne. Ak chcete mať interaktívne Power BI prehľady, vložte ich priamo namiesto pripínania na informačný panel.

Bežné problémy

  • ID skupiny nie je zadané v uzle TileUrl riadiacich parametrov, keď to môže byť potrebné. Tento prí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>
  • Polia majú rôzne typy údajov v Power BI a Dataverse. Musia byť rovnakého typu, napríklad reťazec v Power BI a reťazec v Dataverse.
  • V reťazcoch filtra Power BI nie sú v koncové úvodzovky. Upozornenie values[\"$a\"] a nie [$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",
            }
    }

Pozrite si tiež

Vložte Power BI tabuľu v Power Apps s podporou modelu osobnej tabule

Používanie Power BI aplikácií systému Dynamics 365

Poznámka

Môžete nás informovať o svojich voľbách jazyka pre dokumentáciu? Absolvujte krátky prieskum. (upozorňujeme, že tento prieskum je v angličtine)

Prieskum bude trvať približne sedem minút. Nezhromažďujú sa žiadne osobné údaje (vyhlásenie o používaní osobných údajov).