Benamkan laporan Power BI dalam borang utama aplikasi berpandukan model

Anda boleh menggunakan laporan Power BI dalam aplikasi berpandukan model Power Apps untuk membawa pelaporan yang hebat dan analitik kepada borang utama anda dan memperkasakan pengguna anda untuk mencapai lebih lagi. Ini membuka kuasa untuk mengagregat data merentasi sistem dan menyesuaikannya mengikut konteks rekod tunggal.  

Prasyarat

Pembenaman kandungan Power BI adalah satu ciri pilihan dan dinyahdayakan pada semua persekitaran secara lalai. Anda mesti mendayakan ia sebelum anda boleh membenamkan kandungan Power BI. Maklumat lanjut: Dayakan visualisasi Power BI dalam organisasi.

Ciri ini memerlukan mengeksport penyelesaian, mengubahsuai ia untuk menambah snippet xml dan kemudian mengimport kembali ke dalam persekitaran. Pastikan anda mengimport perubahan pada persekitaran sasaran anda melalui penyelesaian terurus sahaja. Lihat Import, kemas kini dan eksport penyelesaian untuk panduan tentang memasang kemas kini kepada penyelesaian terurus yang sedia ada.

Membenamkan tanpa penapisan kontekstual

Anda boleh menggunakan laporan Power BI dengan membenamkan ia dan dapatkan laporan yang sama. Ini tidak melibatkan kontekstual ia ke borang berpandukan model semasa, dan oleh itu anda akan mendapat laporan yang sama pada semua rekod jadual. Sebagai contoh, laporan berikut menunjukkan lokasi geografi semua akaun serentak, dan berguna untuk menunjukkan maklumat ringkas.

Laporan Power BI terbenam tanpa penapisan kontekstual.

Anda boleh menyesuaikan borang utama nod sections XML supaya ia boleh hoskan laporan Power BI terbenam dan jubin dengan mengikut langkah berikut:

  1. Dalam persekitaran pembangunan anda, cipta penyelesaian dan tambah jadual yang mengandungi borang utama yang anda mahu laporan Power BI terbenam dipaparkan.

    • Jika jadual sudah wujud dalam persekitaran sasaran di mana anda mengimport penyelesaian, pilih pilihan Pilih komponen apabila anda menambah jadual pada penyelesaian. Kemudian, tambah hanya borang utama jadual.
    • Jika jadual tidak wujud dalam persekitaran sasaran di mana anda mengimport penyelesaian, pilih Sertakan semua komponen apabila anda menambah jadual pada penyelesaian.
  2. Eksport penyelesaian sebagai terurus.

  3. Ekstrak semua fail dalam fail zip pakej penyelesaian. Kemudian, edit fail customizations.xml dan tambah kod XML yang disediakan di bawah dalam blok <sections> yang berada dalam nod <forms type="main"> dalam fail 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>

Penting

Pastikan anda menggunakan kawalan classid="{8C54228C-1B25-4909-A12A-F2B968BB0D62}" seperti yang ditunjukkan dalam sampel XML.

  1. Lakukan perubahan berikut kepada XML borang yang anda salin ke fail customizations.xml untuk laporan Power BI anda. Jadual ini memerihalkan nilai yang anda perlukan untuk berubah kepada elemen dalam sampel XML sebelumnya.
Sifat Description
PowerBIGroupId ID ruang kerja Power BI. Jika laporan anda berada dalam Ruang kerja saya,** maka ID ruang kerja ialah 00000000-0000-0000-0000-000000000000. Jika tidak, tambah ID ruang kerja. Anda boleh menemui ID ruang kerja dalam URL perkhidmatan Power BI. Maklumat lanjut: Cari ruang kerja Power BI dan Id laporan.
PowerBIReportId ID laporan Power BI. Gantikan ini dengan laporan yang anda mahu benamkan. Anda boleh menemui ID laporan anda dalam URL perkhidmatan Power BI. Maklumat lanjut: Cari ruang kerja Power BI dan Id laporan
URLJubin URL laporan Power BI yang anda mahu benamkan. Pastikan anda menggunakan nama subdomain Power BI yang betul (anda mungkin mahu menggantikan app.powerbi.com dengan nama anda sendiri) dan ID laporan (gantikan reportId=544c4162-6773-4944-900c-abfd075f6081 dengan ID anda sendiri). Sebagai contoh, https://app.powerbi.com/reportEmbed?reportId=544c4162-6773-4944-900c-abfd075f6081
solutionaction="Ditambah" Jika jadual telah wujud dalam persekitaran sasaran, biarkan parameter solutionaction=Added untuk elemen sel seperti yang disediakan dalam sampel XML. Jika jadual tidak wujud dalam persekitaran sasaran, keluarkan parameter solutionaction=Added.
  1. Cipta fail zip daripada semua fail penyelesaian yang telah diekstrak sebelumnya. Kemudian, import penyelesaian ke dalam persekitaran sasaran.

Membenamkan dengan penapisan kontekstual

Anda boleh membuat laporan Power BI lebih bermakna dengan menggunakan penapis kontekstual kepada borang berpandukan model semasa supaya laporan ditapis berdasarkan atribut baris semasa. Contohnya, laporan berikut menunjukkan lokasi geografi akaun dengan menapis laporan Power BI menggunakan nama akaun. Ini membolehkan laporan tunggal menunjukkan maklumat dikontekstual untuk semua baris jadual.

Laporan Power BI terbenam dengan penapisan kontekstual.

Penapisan dilakukan dengan menambah elemen <PowerBIFilter> dalam blok <parameter> seperti yang ditunjukkan di sini. Anda boleh menggunakan sebarang atribut borang jadual untuk membina ungkapan penapis. Maklumat lanjut: Membina Penapis untuk memahami cara mencipta penapis anda sendiri.

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

Ambil perhatian bahawa ini menggunakan kawalan yang sama seperti pembenaman laporan tidak ditapis dan oleh itu ID kelas kawalan tidak berubah.

Jadual ini menerangkan mana-mana sifat tambahan yang digunakan dalam sampel XML sebelumnya.

Sifat Penerangan
PenapisPowerBI Penyataan penapis yang mengkontekstualisasi laporan Power BI dengan menjadikan atribut borang sebagai parameter. Untuk menjadikan ia lebih mudah dibaca, penapis dibina seperti yang ditunjukkan di sini. Ungkapan penapis tidak boleh menjadi senarai nilai dipisahkan koma.
    {
            "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"
            }
    }

Sasaran sebahagian daripada penyataan sebelumnya mengenal pasti jadual dan lajur untuk menggunakan penapis. Operator mengenal pasti logik dan nilai yang mengenal pasti data yang dihantar daripada aplikasi dipacu model Power Apps. Untuk memparameterkan dalam cara generik, nilai dibina oleh mengaliaskan. Dalam penyataan sebelumnya, nilai untuk akaun namapertama dan namaterakhir adalah diluluskan dan sama ada daripadanya dicari dalam lajur Akaun Nama laporan Power BI. Ambil perhatian bahawa namapertama dan namakeluarga adalah nama unik atribut bagi jadual akaun yang nilainya akan dihantar di sini.

Anda boleh mencipta pernyataan penapis lebih rumit dengan melihat contoh daripada Membina Penapis dan memberikan nilai yang betul untuk $schema dan jenisPenpasi. Pastikan anda melepasi setiap literal dalam bahagian penapis menggunakan ", supaya JSON dijana dengan betul.

Alih keluar atribut tidak diubah suai sebelum import

Sebelum anda mengimport penyelesaian ke dalam persekitaran sasaran, pastikan atribut tidak diubah suai tidak termasuk dalam bahagian formXml bagi fail customizations.xml. Jika atribut tidak diubah suai terdapat dalam XML yang merangkumi XML kawalan Power BI, alih keluar atribut tersebut sebelum anda mengimport penyelesaian ke dalam persekitaran sasaran. Sebagai contoh, gantikan <systemform unmodified="1"> dengan <systemform>.

Cari ruang kerja Power BI dan Id laporan

  1. ID ruang kerja untuk contoh ini ialah efc85277-2bdb-47bc-9762-363f64335108.
  2. ID laporan untuk contoh ini ialah 643ab643-7126-4a57-bd82-ca8f1fb676fc. contoh Id ruang kerja dan Id laporan Power BI

Isu dan had yang diketahui

  • Integrasi ini boleh didapati hanya dalam klien Antara Muka Disatukan, pada pelayar web dan peranti mudah alih yang disokong.

  • Membuka borang ini dalam pereka bentuk borang Power Apps tidak akan menunjukkan kawalan dalam cara yang bermakna. Ini adalah kerana kawalan tersuai di luar reka bentuk borang.

  • Pengguna akan disahkan ke dalam Power BI secara automatik dengan nama pengguna dan kata laluan Power Apps mereka. Jika akaun Power BI dengan kelayakan yang sepadan tidak wujud, penggesa daftar masuk akan dipaparkan seperti yang digambarkan di sini.

    Gesaan daftar masuk Power BI

    Tiada data akan terpapar jika akaun yang salah digunakan untuk log masuk ke Power BI. Untuk daftar masuk dengan kelayakan yang betul, daftar keluar dan kemudian daftar masuk semula.

    Daftar masuk ke perkhidmatan Power BI.

    Pengguna yang mendaftar masuk tidak mempunyai keizinan yang sesuai.

  • Pandangan data laporan yang ditunjukkan di dalam adalah Power Apps sama seperti Power BI dan Power Apps peranan keselamatan dan keistimewaan tidak menjejaskan data yang dipaparkan. Oleh itu, data pada dasarnya adalah sama seperti apa yang akan dilihat oleh pencipta dataset Power BI. Untuk mengenakan sekatan akses data yang sama seperti peranan keselamatan dan kumpulan Power Apps, gunakan Keselamatan Peringkat Baris (RLS) dengan Power BI.

  • Jika borang tidak menunjukkan laporan Power BI selepas mengimport penyelesaian dan menerbitkan penyesuaian, buka ia dalam editor borang dipacu model dan simpan, supaya borang JSON dijana semula.

  • Membenamkan jubin Power BI pada borang hanya disokong tanpa penapisan kontekstual.

  • Membenamkan Power BI laporan tidak menyokong rujukan merentas penyewa. Contohnya, cuba membenamkan laporan kepunyaan Power BI penyewa Contoso dalam aplikasi dipacu model kepunyaan penyewa Fabrikam tidak disokong pada masa ini, walaupun laporan yang dibenamkan telah dikongsi dengan pengguna dalam penyewa Fabrikam melalui Power BI.

  • Laporan yang disematkan sebagai sebahagian daripada Power BI papan pemuka tidak dimaksudkan untuk menjadi interaktif. Jika anda mahu mempunyai laporan interaktif Power BI , benamkan laporan tersebut secara langsung dan bukannya menyematkannya pada papan pemuka.

Isu biasa

  • ID kumpulan tidak ditentukan dalam TileUrl nod parameter kawalan apabila ia mungkin perlu. Contoh ini termasuk ID kumpulan.
<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>
  • Medan mempunyai jenis data berbeza dalam Power BI dan Dataverse. Ia perlu merupakan jenis yang sama seperti rentetan dalam Power BI dan rentetan Dataverse.
  • Medan rentetan tidak mempunyai tanda lepasan dalam penapis Power BI. Notis values mempunyai [\"$a\"] bukannya daripada [$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",
            }
    }

Lihat juga

Benamkan papan pemuka Power BI dalam papan pemuka peribadi dipacu model Power Apps

Gunakan Power BI dengan aplikasi Dynamics 365

Nota

Adakah anda boleh memberitahu kami tentang keutamaan bahasa dokumentasi anda? Jawab tinjauan pendek. (harap maklum bahawa tinjauan ini dalam bahasa Inggeris)

Tinjauan akan mengambil masa lebih kurang tujuh minit. Tiada data peribadi akan dikumpulkan (pernyataan privasi).