Bir Power BI raporunu bir model temelli uygulama ana formuna katıştırın

Önemli

Model temelli bir uygulama formuna Power BI raporu eklemenin daha iyi bir yolu var. Daha fazla bilgi: Formda bir raporu eklemek için Power BI rapor denetimini kullanın

Ana formlarınıza zengin raporlama ve analizler getirmek ve kullanıcılarınızın daha fazlasını başarmasını sağlamak için Power Apps model temelli uygulamalar içinde Power BI raporlarını kullanabilirsiniz. Bu, veriyi sistemler arasında toplamaya ve tek bir kaydın bağlamına birleştirme gücünün kilidini açacaktır.  

Ön koşullar

Power BI içeriğini katıştırmak, isteğe bağlı bir özelliktir ve varsayılan olarak tüm ortamlarda devre dışıdır. Power BI içeriğini katıştırmadan önce etkinleştirmeniz gerekir. Daha fazla bilgi: Kuruluş içinde Power BI görselleştirmelerini etkinleştir.

Bu özellik, bir çözümün dışa aktarılmasını, xml kod parçacığını eklemek için değiştirilmesini ve ortama tekrar içe aktarılmasını gerektirir. Hedef ortamınıza değişiklikleri yalnızca bir yönetilen çözüm aracılığıyla içe aktardığınızdan emin olun. Bkz. Çözümleri içe aktar, güncelleştir ve dışa aktar, mevcut yönetilen çözüme bir güncelleştirmeyi yüklemek için kılavuz.

Bağlamsal filtreleme olmadan katıştırma

Power BI raporlarını ekleyerek kullanabilir ve aynı raporu elde edebilirsiniz. Bu, onları güncel model yönetimli forma bağlamayı içermez, bu nedenle tablonun tüm kayıtlarında aynı raporu elde edersiniz. Örneğin, aşağıdaki rapor, tüm hesapların coğrafi konumunu tek seferde gösterir ve özet bilgiyi göstermek için faydalıdır.

Bağlamsal filtreleme olmadan eklenen Power BI raporu.

Ana form XML sections düğümünü, katıştırılmış bir Power BI raporu ve kutucuğunu barındıracak şekilde özelleştirmek için şu adımları izleyebilirsiniz:

  1. Geliştirme ortamınızda, bir çözüm oluşturun ve katıştırılmış Power BI raporunun görüntülenmesini istediğiniz ana formu içeren tabloyu ekleyin.

    • Tablo, çözümü içeri aktardığınız hedef ortamda zaten varsa, tabloyu çözüme eklerken Bileşenleri seç seçeneğini belirleyin. Daha sonra, yalnızca tablonun ana formunu ekleyin.
    • Tablo, çözümü içeri aktardığınız hedef ortamda yoksa, tabloyu çözüme eklerken Tüm bileşenleri ekle seçeneğini belirleyin.
  2. Çözümü yönetilen olarak dışarı aktarın.

  3. Çözüm paketi ZIP dosyasındaki tüm dosyaları ayıklayın. Ardından, customizations.xml dosyasını düzenleyin ve aşağıda verilen XML kodunu, customizations.xml dosyasındaki <forms type="main"> düğümünün içinde bulunan <sections> bloğunun içine ekleyin.

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

Önemli

XML örneğinde belirtildiği gibi classid="{8C54228C-1B25-4909-A12A-F2B968BB0D62}" denetimini kullandığınızdan emin olun.

  1. Power BI raporunuz için customizations.xml dosyasına kopyaladığınız form XML'sinde aşağıdaki değişiklikleri yapın. Bu tabloda, önceki XML örneğindeki öğelerle ilgili değiştirmeniz gereken değerler açıklanmıştır.
Özellik Tanım
PowerBIGroupId Power BI çalışma alanı kimliği. Raporunuz Çalışma alanım** içindeyse çalışma alanı kimliği 00000000-0000-0000-0000-000000000000 olur. Aksi takdirde, çalışma alanı kimliğini ekleyin. Çalışma alanının kimliğini, Power BI hizmeti URL'sinde bulabilirsiniz. Daha fazla bilgi: Power BI çalışma alanını ve rapor kimliklerini bulma.
PowerBIReportId Power BI rapor kimliği. Bunu, katıştırmak istediğiniz rapor ile değiştirin. Raporunuzun kimliğini, Power BI hizmeti URL'sinde bulabilirsiniz. Daha fazla bilgi: Power BI çalışma alanını ve rapor kimliklerini bulma
TileUrl Katıştırmak istediğiniz Power BI raporu URL'si. Doğru Power BI alt etki alanı adını ve (app.powerbi.com'u kendinizinkiyle değiştirmeniz gerekebilir) ve rapor kimliğini (reportId=544c4162-6773-4944-900c-abfd075f6081 kendinizinkiyle değiştirin) kullandığınızdan emin olun. Örneğin, https://app.powerbi.com/reportEmbed?reportId=544c4162-6773-4944-900c-abfd075f6081.
solutionaction="Added" Tablo hedef ortamda zaten varsa, XML örneğinde sağlanan hücre öğesi için solutionaction=Added parametresini bırakın. Tablo hedef ortamda bulunmuyorsa, solutionaction=Added parametresini kaldırın.
  1. Daha önce ayıklanmış tüm çözüm dosyalarından bir ZIP dosyası oluşturun. Daha sonra, çözümü hedef ortama içe aktarın.

Bağlamsal filtreleme ile katıştırma

Power BI raporlarını, mevcut model yönetimli forma bağlamsal filtreler uygulayarak daha anlamlı hale getirebilirsiniz, böylece rapor geçerli satırın özniteliklerine dayanarak filtrelenir. Örneğin, aşağıdaki rapor, hesap adını kullanarak Power BI raporunu filtreleyerek bir hesabın coğrafi konumunu gösterir. Bu, tek bir raporun tablonun tüm satırlarında bağlamsallaştırma bilgisini göstermesine izin verir.

Bağlamsal filtreleme ile eklenen Power BI raporu.

Bu filtreleme, bir <PowerBIFilter> öğesini burada gösterildiği gib <parameter> blokunda eklemekle gerçekleştirilir. Formun tablosunda filtre deyimi oluşturmak için herhangi bir özniteliği kullanabilirsiniz. Daha fazla bilgi: Filtreler oluşturmak, kendi filtrelerinizi oluşturmayı anlamak için.

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

Bunun, filtrelenmemiş rapor katıştırma ile aynı denetimi kullandığını ve bu nedenle denetim sınıf kimliğini değişmediğini unutmayın.

Bu tablo, önceki XML örneğindeki diğer ek özellikleri açıklar.

Özellik Açıklama
PowerBIFilter Form özniteliklerini parametreler olarak geçiren, Power BI raporunu bağlamsallaştıran filtre ifadesi. Daha okunabilir kılmak için filtre burada görüldüğü gibi oluşturulur. Filtre ifadesi, virgülle ayrılmış bir değerler listesi olamaz.
    {
            "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"
            }
    }

Önceki ifadenin hedef bölümü, filtrelerin uygulanacağı sütunu ve tabloyu belirler. İşleç, mantığı tanımlar ve değerler, Power Apps model yönetimli uygulamadan geçen verileri tanımlar. Daha genel bir şekilde parametreleştirmek için değerler basamaklandırılarak oluşturulur. Önceki ifadede, bir hesabın adı ve soyadı değerleri aktarılır, ve her ikisi de Power BI raporunun Hesap Adı sütununda aranır. Adı ve soyadı değerlerinin, firma tablosunun benzersiz öznitelikleri ve değerlerin burada aktarıldığını unutmayın.

Filtreler Oluşturmak içerisinden bakarak daha karmaşık filtre ifadeleri oluşturabilir ve $schema ve filterType için uygun değerleri sağlayabilirsiniz. Filtre içindeki tüm değişmezleri " kullanarak kaçırdığınızdan, böylece JSON'un doğru oluşturulduğundan emin olun.

İçe aktarmadan önce değiştirilmemiş özniteliği kaldır

Çözümü hedef ortama içe aktarmadan önce, değiştirilmemiş özniteliğin customizations.xml dosyasının formXml bölümünde olmadığından emin olun. Değiştirilmemiş öznitelik Power BI denetim XML'sini içeren XML'de yer alıyorsa çözümü hedef ortama içe aktarmadan önce özniteliği kaldırın. Örneğin, <systemform unmodified="1"> değerini <systemform> olarak değiştirin.

Power BI çalışma alanını ve rapor kimliklerini bulma

  1. Bu örnekteki çalışma alanı kimliği: efc85277-2bdb-47bc-9762-363f64335108.
  2. Bu örnekteki rapor kimliği: 643ab643-7126-4a57-bd82-ca8f1fb676fc. Power BI çalışma alanı kimliği ve rapor kimliği örneği

Bilinen sorunlar ve sınırlamalar

  • Bu tümleştirme yalnızca Birleşik Arabirim istemcisinde, desteklenen web tarayıcılarında ve mobil cihazlarda kullanılabilir.

  • Bu formu Power Apps form tasarımcısında açmak, denetimi anlamlı bir şekilde göstermez. Bu, denetimin form tasarımcısı dışında özelleştirilmiş olmasındandır.

  • Kullanıcılar, Power BI içerisine otomatik olarak Power Apps kullanıcı adları ve parolaları ile doğrulanır. Eşleşen kimlik bilgilerini içeren bir Power BI hesabı mevcut değilse, bir oturum açma istemi burada gösterildiği gibi görüntülenir.

    Power BI oturum açma istemi.

    Hatalı bir hesap Power BI içerisine oturum açmakta kullanılırsa hiçbir veri gösterilmez. Doğru kimlik bilgileriyle oturum açmak için oturumu kapatın ve sonra yeniden oturum açın.

    Power BI hizmetinde oturum açma.

    Oturum açan kullanıcı uygun izne sahip değil.

  • Power Apps'te gösterilen rapor verilerinin görünümü Power BI ile aynıdır ve Power Apps güvenlik rolleri ve ayrıcalıkları görüntülenen verileri etkilemez. Bu nedenle, veri, Power BI veri kümesinin oluşturucusunun gördüğü ile aynıdır. Power Apps güvenlik rolleri ve ekiplerine benzer şekilde veri kısıtlamaları uygulamak için Power BI ile satır düzeyi güvenlik (RLS) kullanın.

  • Form, Power BI raporunu çözümü içe aktardıktan ve özelleştirmeleri yayımladıktan sonra göstermezse, bunu model yönetimli form düzenleyici içinde açın ve kaydedin ve form JSON'un yeniden oluşturulmasını sağlayın.

  • Bir form üzerine Power BI kutucuğu katıştırmak, yalnızca bağlamsal filtreleme olmadan desteklenir.

  • Power BI raporu eklemek , kiracılar arası başvuruları desteklemez. Örneğin, eklenen rapor Fabrikam kiracısındaki kullanıcılarla Power BI aracılığıyla paylaşılmış olsa bile Fabrikam kiracısına ait model temelli uygulamada Contoso kiracısına ait bir Power BI raporu eklemek şu anda desteklenmez.

Genel sorunlar

  • Grup kimliği, denetim parametrelerinin TileUrl düğümünde olması gerektiği gibi belirtilmemiştir. Bu örnek bir grup kimliği içerir.
<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>
  • Alanlar, Power BI ve Dataverse'te farklı veri türlerine sahiptir. Aynı türde olmaları gerekir (Power BI'da dize ve Dataverse'te dize gibi).
  • Dize alanları, Power BI filtresinde kaçış tırnak işaretlerine sahip değildir. Bildirim values [$a] yerine [\"$a\"] değerine sahiptir.
    {
            "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",
            }
    }

Ayrıca bkz.

Power BI panosunu Power Apps model temelli kişisel panosuna ekleme

Dynamics 365 uygulamalarıyla Power BI kullanma

Not

Belge dili tercihlerinizi bizimle paylaşabilir misiniz? Kısa bir ankete katılın. (lütfen bu anketin İngilizce olduğunu unutmayın)

Anket yaklaşık yedi dakika sürecektir. Kişisel veri toplanmaz (gizlilik bildirimi).