Portalda bir web sayfasına Power BI raporu veya panosu ekleme

Not

  • 2022 Ekim ayı itibarıyla Power Apps portalları, Power Pages olarak adlandırılmıştır.
  • Bu konu, eski özellikler için geçerlidir. En son bilgiler için Microsoft Power Pages belgelerine bakın.

İpucu

Bu makalede, powerbi Liquid etiketini kullanarak bir Power BI raporu veya panosunun nasıl ekleneceği açıklanmaktadır. Portal Studio kullanarak portalınızdaki bir Web sayfasına Power BI bileşen eklemek için, portal Studio kullanarak bir Web sayfasına Power BI bileşen ekleme bölümüne gidin.

powerbi Liquid etiketini kullanarak portaldaki bir web sayfasına Power BI raporu veya panosu ekleyebilirsiniz. Web sayfasının Kopyala alanındaki veya web şablonunun Kaynak alanındaki powerbi etiketini kullanın.

Power BI'ın yeni çalışma alanında oluşturulan bir Power BI raporu veya panosu ekliyorsanız powerbi Liquid etiketinde kimlik doğrulaması türünü powerbiembedded olarak belirtmeniz gerekir.

Not

  • powerbi Liquid etiketinde kimlik doğrulama türü olarak Microsoft Entra ID'yi belirttiyseniz portaldaki bir web sayfasına güvenli Power BI raporu veya panosu eklemeden önce bunu gerekli kullanıcılarla paylaşmalısınız. Daha fazla bilgi: Power BI çalışma alanını paylaşma ve Power BI panosu ve raporunu paylaşma.
  • powerbiembedded, Azure Analysis Services ile bağlantı kuran Power BI panolarını ve raporlarını destekler. Ayrıca CustomData özelliği için değeri aktarmak üzere liquid kodunda "customdata" özelliğini de kullanabilirsiniz.
  • Sayfalandırılmış Power BI raporları desteklenmez.

Örneğin:

{% powerbi authentication_type:"powerbiembedded" path:"https://app.powerbi.com/groups/00000000-0000-0000-0000-000000000000/reports/00000000-0000-0000-0000-000000000001/ReportSection01" %}

Pano yolunu ve Pano kutucuğunun kimliğini almayı öğrenmek için bu makalenin sonraki bölümlerine başvurun.

Azure Analysis Services ile bağlantı kuran bir pano veya rapor kullanma

Azure Analysis Services ile bağlantı kuran bir pano veya raporla powerbi Liquid etiketini ekleyebilirsiniz.

Azure Analysis Services ile bağlantı kuran bir pano veya rapor eklemek için bağlantı dizesinde CustomData parametresini kullanın.

Örneğin:

{% powerbi authentication_type:"powerbiembedded" path:"https://app.powerbi.com/groups/<GroupID>/reports/<ReportID>" roles:"<roles associated with report>" customdata:"<customdata>" %}

İsteğe bağlı customdata etiketi, dize olarak yapılandırılabilir veya iki çift küme ayracı arasında nesne ile özniteliği ayırmak için nokta (".") ya da köşeli ayraç ("[]") kullanarak nesnenin özniteliğine bağlı olarak dinamik şekilde oluşturulabilir.

Örnekler:

  • customdata: {{ object.attribute }}
  • customdata: {{ object[attribute] }}

customdata etiketi bir dize döndürdüğünden, bu dizeyi DAX sorgusunda bir tamsayıya dönüştürmek gerekebilir.

Önemli

Azure Analysis Services ve Roller (RLS)

Roller etiketi, raporlara ve panolara dayalı Azure Analysis Services için isteğe bağlıdır. Kullanılmadığında rol, varsayılan olarak Azure Analysis Services'te uygulamanın atandığı roldür.

Ancak bu etiket, mevcut çeşitli roller arasından belirli bir rolü (veya rolleri) belirtmek için gerekli olabilir ve Satır Düzeyi güvenliği kullanılırken yine de gerekebilir.

Roller, diğer Power BI rapor türlerinin aksine raporun kendisinde değil, Azure Analysis Services veritabanı içinde bulunur.

  • Liquid kodunda rol sağlanmıyor.

    Liquid kodunda rol sağlanmazsa Azure Analysis Services rolü, Uygulamanın erişebildiği rollere göre belirlenir ve rollerdeki DAX sorgusuna göre belirli özel verilere bağlı olarak sonuçları filtreler. Diğer bir deyişle, mevcut tüm roller erişimlerini birleştirir ancak sağlanan özel veriler ilgiliyse filtrelemeye devam eder. Bu senaryo çoğunlukla Azure Analysis Services raporlarında veya tek kutucuklu panolarda olur.

  • Liquid kodunda rol sağlanıyor.

    Azure Analysis Services rolleri, RLS rollerine benzer şekilde Liquid kodunda sağlanabilir. Birden fazla rol mevcut olduğunda bu rollerin kullanılması gerekli olabilir ancak sayfa için belirli roller kullanmanız gerekir. Bağlantı dizesindeki bir rol kullanıldığında, Azure Analysis Services rolünü belirtmek gerekir. Örneğin, RLS kutucuklarıyla Azure Analysis Services kutucuklarını kullanan çok kutucuklu panolar.

    Panoda Azure Analysis Services kutucuklarını kullanırken aşağıdaki noktalara dikkat edilmelidir:

    • Panoda, rolleri gerektiren diğer kutucuklarla bir Azure Analysis Services kutucuğu kullanılırsa Azure Analysis Services rolünün roller listesine eklenmesi gerekir.
    • Farklı Azure Analysis Services kaynaklarından alınan birden çok kutucuk kendi rolleriyle kullanılabilir ancak özel veriler, her biri için aynı olmalıdır ve Liquid kodunda birden çok özel veri değeri kullanılamaz. EffectiveIdentity için customdata etiketi ve customdata parametresi yalnızca bir dize değeri alır.

Bir pano veya raporun yolunu alma

  1. Power BI'te oturum açın.

  2. Portalınıza katıştırılacak raporu veya panoyu açın.

  3. Adres çubuğundan URL'yi kopyalayın.

    Power BI panosunun yolunu alma.

Pano kutucuğunun kimliğini almak

  1. Power BI'te oturum açın.

  2. Portalınıza kutucuk katıştırılacak raporu veya panoyu açın.

  3. Kutucuğa işaret edin, Daha fazla seçenek'i seçip ardından Odak modunda aç'ı seçin.

    Power BI pano kutucuğunu odak modunda açma.

  4. Kutucuğu kimlik adres çubuğuna URL'yi kopyalayın. Kutucuk kimliği /tiles/'ın sonrasındaki değerdir.

    Power BI pano kutucuğu kimliği.

Powerbi-client JavaScript kitaplığını portallarda kullanma

Portalınızda Power BI Embedded raporları veya panoları için powerbi-client JavaScript kitaplığını kullanabilirsiniz. powerbi-client JavaScript kitaplığı hakkında daha fazla bilgi için bkz. Power BI JavaScript wiki.

Aşağıda rapor ayarlarını güncelleştirmek veya olayları işlemek için örnek bir JavaScript vardır. Bu örnek, filtre bölmesini devre dışı bırakır, sayfa gezintisini devre dışı bırakır ve dataSelected olayını etkinleştirir.

Önemli

  • Filtre bölmesini devre dışı bırakmak veya etkinleştirmek için powerbi-client JavaScript kitaplığını kullanın. Ancak, veriye erişimi kısıtlamak veya güvenliği yapılandırmak istiyorsanız, Power BI ile satır düzeyi güvenliği (RLS) kullanın. Filtre bölmesini devre dışı bırakmak, veri erişimini kısıtlamaz ve bölme, JavaScript kitaplığı kodunu kullanarak yeniden etkinleştirilebilir.
  • powerbi-client JavaScript kitaplığı yalnızca PowerBI Embedded akışı için desteklenir.
$(document).ready(function () {
    var embedContainer = $(".powerbi")[0];
    if (embedContainer) {
        var report = powerbi.get(embedContainer);
        report.on("loaded", function () {
            report.updateSettings({
                panes: {
                    filters: {
                        visible: false
                    },
                    pageNavigation: {
                        visible: false
                    }
                }
            }).catch(function (errors) {
                console.log(errors);
            });
        })
    }
});

Web sayfasına özel JavaScript eklemek için:

  1. Portal Yönetimi uygulamasını açın.
  2. Sol bölmede, Web Sayfaları'nı seçin.
  3. Power BI raporu veya panosunu içeren web sayfasını seçin.
  4. Gelişmiş sekmesini seçin.
  5. JavaScript'i kopyalayıp Özel JavaScript bölümünün içine yapıştırın.
  6. Kaydet ve Kapat'ı seçin.

Şimdi örnek JavaScript işlemlerini ve farklı seçenekleri kavrayalım.

Eklenmiş rapor HTML'ine başvuru alma

Eklenmiş rapor HTML'ine başvuru alma.

var embedContainer = $(".powerbi")[0];

Daha fazla bilgi: Kapsayan öğesine göre varolan bir Power BI bileşenine başvuru alma

Eklenmiş rapora başvuru alma

var report = powerbi.get(embedContainer);

Power BI bölmeleriyle çalışma

Portallar web sayfasında Power BI bölmeleriyle çalışmak üzere bölmeler için ayarları kullanabilirsiniz. Örneğin, bölmeyi gizlemek veya göstermek ya da sayfa gezintisi ayarıyla çalışmak için filtreler ayarını kullanabilirsiniz.

Aşağıda, filtreler bölmesini kaldırma örneği bulunmaktadır:

report.updateSettings({
            panes: {
                filters :{
                    visible: false
                }
            }
        }).catch(function (errors) {
            console.log(errors);
        });

Aşağıda, sayfa gezintisi ve filtrelerle çalışma örneği bulunmaktadır:

report.updateSettings({
            panes: {
                filters :{
                    visible: false
                },
                pageNavigation:{
                    visible: false
                }
            }
        }).catch(function (errors) {
            console.log(errors);
        });

Daha fazla bilgi: Güncelleştirme ayarları ve Ekleme yapılandırması - Ayarlar

Olayları işleme

Eklenen bileşen, yürütülen bir komutun tamamlanmasını çağırdıktan sonra olay gönderebilir. Örneğin, aşağıda dataSelected olayı için bir örnek yer alır.

//Report.off removes a given event listener if it exists
    report.off("dataSelected");
//Report.on will add an event list
    report.on('dataSelected', function(event){
        console.log('Event - dataSelected:');
        console.log(event.detail);
    })

Daha fazla bilgi: Olayları işleme

Ayrıca bkz.

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