DAX ifadesinden veri alarak Power BI Matrix ile çalışın
Aşağıdaki gereksinimlerim var:
- Kullanıcı, bir web sayfasında bir Power BI Matrisi görecektir (Power BI Desktop'tan farklı olarak).
- Web sayfasının üç öğesi olmalıdır: bir metin alanı, bir düğme ve Power BI Matrisi (potansiyel olarak bir Power BI Raporuna dahil edilmiştir).
- Kullanıcı, metin alanına DAX ifadesini girecek ve Matrix ifadesini DAX ifadesini alması, çalıştırması ve verileri doldurması için yönlendirmek üzere düğmeye tıklayacaktır.
- Kullanıcı Matrix'te detaya inebilmelidir.
- Kullanıcı, Matrix'i yenileyerek yeni bir DAX deyimini yeniden girebilir.
Şimdi, örneğin burada bulabildiğim tüm belgeler , Power BI Desktop'taki Matrix'ten (yani web sayfası değil) ve manuel olarak tablolar / sütunlar / ölçüler (ekranın sağ tarafında) seçilerek alınan verilerden bahsediyor.
Power BI Studio'da, üst çubukta bir tablo oluşturarak bir DAX ifadesi girebileceğimi biliyorum, örneğin DAX'ım varsa:
EVALUATE TOPN (3, branches)
Matrix'i aşağıdakilerle doldurmak için bir tablo oluşturabilirim:
BranchesTable = TOPN (3, branches)
Ancak çalışma zamanında tanımlanan bir DAX ifadesini web sayfasındaki bir Matrise dinamik olarak nasıl bağlayabilirim?
Yanıtlar
Bu şu anda tam olarak istediğinizi yapmak mümkün değil. Bir veri kaynağını dinamik olarak değiştirebilir ve belirli bir raporda kullanılan sorguyu güncelleyebilirsiniz, ancak bir rapordaki görselde hangi sütunların olduğunu güncellemek için bir API (PowerBI REST veya PowerBI JavaScript) yoktur. İstediğiniz şeye oldukça yaklaşabilirsiniz, ancak rapor View
modunda görüntülenemez ve modda gösterilmesi gerekir, Edit
böylece kullanıcı güncellenmiş DAX sorgu sonuçlarından oluşturulan alanları Matrix görseline manuel olarak sürükleyebilir, eğer bir değişiklik sunarlar.
Ön koşullu Uygulama Kaydı kurulumunun ve yapılandırmasının tamamlandığını ve buraya yerleştirmeye hazır olduğunuzu varsayarsak, aradığınız şeye yaklaşmak için atmanız gereken bazı adımlar vardır. Yerleştirmeye hazır değilseniz, yerleştirmek için ön koşul kurulumunu tamamlamak için sağladığım 8 adımın altında bazı belgeler vardır.
- PowerBI Masaüstünü Kullanma Matris görseline ve kullanmak istediğiniz veri kaynağına bağlantıya sahip bir şablon rapor oluşturun. Bu raporu belirli bir sorgu kullanarak ayarladığınızdan ve veri kaynağındaki SQL veya SSAS olsun tüm tabloları DEĞİLDİR. (Sorguyu, rapordaki veri kaynağını ilk kurduğunuzda gelişmiş seçenekler altında belirtirsiniz)
- Raporunuzun kullandığı Veri Kaynağına bir Power BI Veri Ağ Geçidi kurun
- Raporu yüklemek için PowerBI.com'da bir çalışma alanı oluşturun
- PowerBI masaüstünü kullanma 1. adımda oluşturduğunuz raporu 3. adımda oluşturduğunuz çalışma alanında yayınlayın
- Web Uygulamanızda, bir kullanıcı rapor görüntüleyici sayfasını görüntülediğinde, her bir kullanıcıyı tanımlamanın bir yolunu bulmanız gerekir.
UserId
Her kullanıcı için benzersiz bir kimlik olan alanınız olduğunu varsayalım . GetReports'u grupta arayınhttps://docs.microsoft.com/en-us/rest/api/power-bi/reports/getreportsingroup. Bilinen bir rapor adına ve Kullanıcı Kimliğine sahip olmanız gerekir. Dinamik Raporunu varsayalım. Bu nedenle GetReports'u arayın veDynamicReport_UserId
web uygulamanızda rapor görüntüleyici sayfasını görüntülemeye çalışan kullanıcı için var olup olmadığını kontrol edin . - Bu API çağrılarında 5. adımdan kaynaklanır, rapor bir kullanıcı için mevcut değilse, şunu kullanın: https://docs.microsoft.com/en-us/rest/api/power-bi/reports/clonereport 4. adımda yayınladığınız şablon raporu kopyalamak için.
- Kullanıcı için kullanıcıya özel şablon raporu (DynamicReport_UserId) yerleştirin ve görüntüleyin.
- Rapor görüntüleyici sayfasında mantığa sahip olun, böylece kullanıcı gönderebilir ve
POST
bir DAX sorgusu yapabilir. Bir gönderi yaptıklarında kullanmak için mantık varhttps://docs.microsoft.com/en-us/rest/api/power-bi/datasets/updatedatasources arka uçta veri kaynağını raporlarında güncelleyin ve ardından DAX ifadeleri ve değiştirilen verilerle raporu tekrar gömün.
Görsel, kullanıcı tarafından gönderilen yeni sorgudan yeni alanlara otomatik olarak güncellenmeyecek, ancak düzenleyici modunda sahip oldukları mevcut veri alanları değişecektir. Kullanıcının DAX sorgusundaki alanları sürükleyip Matrix görseline veya kullanmayı seçeceği görsel türüne bırakması gerekecektir. View
Görselde hangi alanların olduğunu programlı olarak güncellemenin bir yolu olmadığından, bir raporu modda görüntüleyemezsiniz. Kullanıcı, değiştirilen sorgu ve daha önce kullanılan sorgudaki görsel referans alanları nedeniyle başlangıçta bozuk bir görseli görmeye bile başlayabilir. Kullanıcının bozuk bir şeyi görmediği kullanıcı deneyimini iyileştirmek için mevcut görseli gizlemek için PowerBI Javascript API'yi kullanabilirsiniz.
Bu API çağrıları veya bunların nasıl kullanılacağıyla ilgili özel sorularınız varsa bana bildirin.
Power BI JavaScript işlevini aradığım yer burası https://github.com/Microsoft/powerbi-javascript/wiki (Matris Görsellerine özgü herhangi bir şey bulunamıyor. Görsellere özgü görseller için JavaScript işlevselliği, Matris veya Kart gibi Görsel Tipler için değil)
Microsoft'un mevcut REST API'leri ile ilgili belgeleri ve https://docs.microsoft.com/en-us/rest/api/power-bi/
Gömme hakkında daha fazla bilgi edinmek için bazı iyi kaynaklar.
https://docs.microsoft.com/en-us/power-bi/developer/embedded/register-app https://docs.microsoft.com/en-us/power-bi/developer/embedded/embedding
Ayrıntılı inceleme yeteneğine ihtiyacınız varsa Hiyerarşiler harika bir seçenektir
https://spreadsheeto.com/power-bi-hierarchy/