Menanam laporan Power BI dalam formulir utama aplikasi berbasis model

Penting

Cara yang lebih baik untuk menambahkan laporan Power BI ke formulir aplikasi berdasarkan model. Informasi selengkapnya: Menggunakan kontrol laporan Power BI untuk menambahkan laporan

Anda dapat menggunakan laporan Power BI di aplikasi berdasarkan model Power Apps untuk membawa pelaporan dan analitik yang kaya untuk formulir utama Anda dan memberdayakan pengguna Anda untuk mencapai lebih banyak. Ini membuka kekuatan untuk menggabungkan data di sistem, dan menyusunnya ke konteks rekaman tunggal.  

Prasyarat

Penanaman konten Power BI adalah fitur opsional dan dinonaktifkan pada semua lingkungan secara default. Anda harus mengaktifkannya sebelum Anda dapat menanamkan konten Power BI. Informasi lebih lanjut: mengaktifkan visualisasi Power BI di organisasi.

Fitur ini mengharuskan mengekspor solusi, memodifikasi untuk menambahkan potongan xml, dan kemudian mengimpor kembali ke lingkungan. Pastikan untuk mengimpor perubahan di lingkungan target Anda melalui solusi terkelola saja. Lihat impor, pembaruan, dan ekspor solusi untuk panduan tentang cara menginstal pembaruan untuk solusi terkelola yang ada.

Menanamkan tanpa pemfilteran kontekstual

Anda dapat menggunakan laporan Power BI dengan penanaman mereka, dan mendapatkan laporan yang sama persis. Hal ini tidak melibatkan kontekstualisasi mereka ke formulir berdasarkan model saat ini, dan oleh karena itu Anda mendapatkan laporan yang sama di semua rekaman tabel. Contohnya, laporan berikut menunjukkan lokasi geografis semua akun sekaligus, dan berguna untuk menunjukkan informasi ringkasan.

Laporan  Power BI Tersemat tanpa pemfilteran kontekstual.

Anda dapat menyesuaikan node sections XML formulir utama sehingga dapat meng-host laporan Power BI dan ubin yang disematkan dengan mengikuti langkah-langkah berikut:

  1. Di lingkungan pengembangan, buat solusi dan tambahkan tabel berisi formulir utama tampilan laporan Power BI yang disematkan.

    • Jika tabel sudah ada di lingkungan target tempat Anda mengimpor solusi, pilih opsi Pilih komponen saat Anda menambahkan tabel ke solusi. Kemudian, tambahkan hanya formulir utama tabel.
    • Jika tabel tidak ada di lingkungan target tempat Anda mengimpor solusi, pilih Sertakan semua komponen saat Anda menambahkan tabel ke solusi.
  2. Ekspor solusi sebagai terkelola.

  3. Ekstrak semua file dalam file zip paket solusi. Kemudian, edit file customizations.xml dan tambahkan kode XML yang diberikan di bawah ini di dalam blok <sections> yang ada di dalam node <forms type="main"> dalam file 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 untuk menggunakan kontrol classid="{8C54228C-1B25-4909-A12A-F2B968BB0D62}" seperti ditunjukkan dalam sampel XML.

  1. Buat perubahan berikut pada XML formulir yang Disalin ke file customizations.xml untuk laporan Power BI Anda. Tabel ini menjelaskan nilai yang diperlukan untuk mengubah elemen pada sampel XML sebelumnya.
Properti Description
PowerBIGroupId ID ruang kerja Power BI. Jika laporan Anda ada di Ruang kerja saya,** maka ID ruang kerjanya adalah 00000000-0000-0000-0000-000000000000. Jika tidak, tambahkan ID ruang kerja. Anda dapat menemukan Id ruang kerja di URL layanan Power BI. Informasi lebih lanjut: Menemukan Id laporan dan ruang kerja Power BI.
PowerBIReportId ID laporan Power BI. Ganti ini dengan laporan yang diinginkan untuk menanam. Anda dapat menemukan Id laporan di URL layanan Power BI. Informasi lebih lanjut: Menemukan Id laporan dan ruang kerja Power BI
TileUrl Laporan Power BI yang Anda inginkan untuk menanam. Pastikan untuk menggunakan nama subdomain Power BI yang benar (Anda mungkin harus mengganti app.powerbi.com dengan punya Anda sendiri) dan Id laporan (ganti reportId=544c4162-6773-4944-900c-abfd075f6081 dengan punya Anda sendiri). Misalnya: https://app.powerbi.com/reportEmbed?reportId=544c4162-6773-4944-900c-abfd075f6081.
solutionaction="Added" Jika tabel sudah ada di lingkungan target, biarkan parameter solutionaction=Added untuk elemen sel sebagaimana diberikan dalam sampel XML. Jika tabel tidak ada di lingkungan target, hilangkan parameter solutionaction=Added.
  1. Buat file zip dari semua file solusi yang diekstrak sebelumnya. Selanjutnya, impor solusi ke dalam lingkungan sasaran.

Menanamkan dengan pemfilteran kontekstual

Anda dapat membuat laporan Power BI lebih berarti dengan menerapkan filter kontekstual ke formulir berdasarkan model saat ini, sehingga laporan difilter berdasarkan atribut baris saat ini. Contohnya, laporan berikut menunjukkan lokasi geografis akun, dengan menyaring laporan Power BI menggunakan nama akun. Hal ini memungkinkan satu laporan untuk menampilkan informasi yang kontekstual untuk semua baris tabel.

Laporan Power BI Tersemat dengan pemfilteran kontekstual.

Pemfilteran dilakukan dengan menambahkan elemen <PowerBIFilter> di blok <parameter> seperti ditunjukkan di sini. Anda dapat menggunakan atribut tabel formulir untuk membangun ekspresi filter. Informasi lebih lanjut: membangun filter untuk memahami cara membuat filter 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>

Perlu diketahui bahwa ini menggunakan kontrol yang sama seperti penanaman laporan tidak difilter, dan oleh karena itu id kelas kontrol tetap tidak berubah.

Tabel ini menjelaskan properti tambahan apa pun yang digunakan dalam sampel XML sebelumnya.

Properti KETERANGAN
PowerBIFilter Ekspresi filter yang mengkontekstualisasikan laporan Power BI dengan meneruskan atribut formulir sebagai parameter. Untuk membuatnya lebih mudah dibaca, filter dibangun seperti ditunjukkan di sini. Ekspresi filter tidak dapat merupakan daftar nilai yang 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"
            }
    }

Bagian target dari ekspresi sebelumnya mengidentifikasi tabel dan kolom untuk menerapkan filter padanya. Operator mengidentifikasi logika dan nilai mengidentifikasi data yang diluluskan dari aplikasi berdasarkan model Power Apps. Untuk mengukur secara umum, nilai dibangun dengan aliasing. Dalam ekspresi sebelumnya, nilai akun firstname dan lastname diteruskan, dan salah satu dari mereka akan dicari di kolom nama akun dalam laporan Power BI. Perhatikan bahwa firstname dan lastname adalah nama unik atribut tabel akun, yang nilainya akan diteruskan di sini.

Anda dapat membuat ekspresi filter yang lebih kompleks dengan melihat contoh dari membangun filter dan memberikan nilai yang sesuai untuk $schema dan filterType. Pastikan untuk menghindari setiap literal dalam bagian filter dengan menggunakan ", sehingga JSON dihasilkan dengan benar.

Hapus atribut yang tidak dimodifikasi sebelum mengimpor

Sebelum Anda mengimpor solusi ke lingkungan target, pastikan atribut yang tidak dimodifikasi tidak tercakup dalam bagian formXml file Customization.XML. Jika atribut yang tidak dimodifikasi ada di XML yang mencakup XML kontrol Power BI, Hapus atribut sebelum Anda mengimpor solusi ke lingkungan target. Misalnya, ganti <systemform unmodified="1"> dengan <systemform>.

Menemukan Id laporan dan ruang kerja Power BI

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

Masalah dan batasan umum

  • Integrasi ini akan tersedia hanya dalam klien Antarmuka Terpadu, di browser web yang didukung, dan perangkat seluler.

  • Membuka formulir ini dalam desainer formulir Power Apps tidak akan menampilkan kontrol dengan cara yang bermakna. Hal ini dikarenakan kontrol disesuaikan di luar desainer formulir.

  • Pengguna akan diautentikasi ke Power BI secara otomatis dengan nama pengguna dan sandi Power Apps. Jika tidak ada akun Power BI dengan kredensial yang sesuai, arahan masuk ditampilkan seperti diilustrasikan di sini.

     Arahan masuk Power BI.

    Tidak ada data yang akan ditampilkan jika akun yang salah digunakan untuk masuk ke Power BI. Untuk masuk dengan kredensial yang benar, keluarlah, dan kemudian masuk lagi.

    Masuk ke layanan Power BI.

    Pengguna yang masuk tidak memiliki izin yang sesuai.

  • Tampilan data laporan yang ditampilkan di dalamnya Power Apps sama dengan Power BI, dan Power Apps peran keamanan serta hak istimewa tidak memengaruhi data yang ditampilkan. Oleh karena itu, data pada dasarnya adalah sama seperti yang akan dilihat pembuat himpunan data Power BI. Untuk menerapkan pembatasan akses data yang mirip dengan peran keamanan Power Apps dan tim, gunakan keamanan tingkat baris (RLS) dengan Power BI.

  • Jika formulir tidak menampilkan laporan Power BI setelah mengimpor solusi dan mempublikasi penyesuaian, buka di editor formulir berdasarkan model dan simpan, sehingga formulir JSON dibuat ulang.

  • Menanam ubin Power BI pada formulir hanya didukung tanpa pemfilteran kontekstual.

  • Menyematkan Power BI laporan tidak mendukung referensi lintas penyewa. Misalnya, mencoba menyematkan laporan milik penyewa Contoso dalam aplikasi berbasis model milik penyewa Fabrikam saat ini tidak didukung, bahkan jika laporan yang disematkan Power BI telah dibagikan dengan pengguna di penyewa Fabrikam melalui Power BI.

Masalah umum

  • ID grup tidak ditentukan dalam TileUrl simpul parameter kontrol saat diperlukan. Contoh ini mencakup ID grup.
<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>
  • Bidang memiliki jenis data yang berbeda di Power BI dan Dataverse. Mereka harus merupakan jenis yang sama, seperti string dalam Power BI dan string di Dataverse.
  • Bidang string tidak memiliki tanda kutip yang di-escape dalam filter Power BI. Perhatikan values lebih [\"$a\"] dari. [$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",
            }
    }

Baca juga

Menanam dasbor Power BI dalam dasbor pribadi berdasarkan model Power Apps

Gunakan Power BI dengan aplikasi Dynamics 365

Catatan

Apa bahasa dokumentasi yang Anda inginkan? Lakukan survei singkat. (perlu diketahui bahwa survei ini dalam bahasa Inggris)

Survei akan berlangsung kurang lebih selama tujuh menit. Tidak ada data pribadi yang dikumpulkan (pernyataan privasi).