Embedding

Sık gelen sorulardan bir tanesi, Power BI raporlarını bir başka uygulamada, özellikle de bir web sitesi altında gösterebilirmiyiz sorusu. Soruyu soran kurum / kişilerin amacı genellikle çok sayıda kullanıcı olması durumunda Pro lisans olmadan rapor paylaşımında bulunmak, örneğin bir eğitim kurumusunuz diyelim ve binlerce öğrenci yüzlerde akademisyen var, powerbi.com servisini kullandırmak istediğinizde paylaşıma girdiği ve genellikle RLS istediği için Pro lisans olmadan bunu yapmak -mevcut durumda- imkansız.

Fakat elbette rapor paylaşımı için Microsoft başka yöntemler de sunuyor. Bunlardan biri "Publish to Web". Bu özellik sizin tenant'ınıza, yani domain'inize atanmış seçeneklerden biri. Komple iptal edebilir veya açabilirsiniz. Eğer  PowerBI Administrator rolüne sahip bir kullanıcı iseniz  bunu .com servisindeki Admin Portal'dan yapabilirsiniz.


"Tenant" ayarlarından bu özelliği tamamen açabilir veya kapatabilir ya da sadece bir kullanıcı grubuna bu hakkı verebilirsiniz.


** Tenant ayarlarında veri paylaşımına ilişkin başka ayarlar da var; şirket bilgisinin dışarıya açılması, dış kullanıcılarla paylaşılabilmesi gibi, bu yüzden ilk etapta bu ayarları gözden geçirmekte büyük fayda var.

Eğer "Publish to Web" açıksa, herhangi bir raporu, kendi çalışma alanınızdaki veya yetkinizin olduğu başka çalışma alanlarındaki raporları, "public olarak", yani herkese açık olarak paylaşabilirsiniz. Powerbi.com servisindeyken ilgili raporu açıp, File menüsünden "Publish to Web" demeniz yeterli.


Bunu yaptığımızda .com servisi ilgili raporun web'ten ulaşılabilecek son derece uzun bir URL'ini üretiyor.


Bu URL'i daha sonra bir iframe altında -örneğin- bir web sayfasında aşağıdaki gibi gösterebilirsiniz.

"Publish to Web" ile ilgili bilinmesi gereken en önemli şeylerden biri şu:  Bu linkin hiçbir güvenliği yok!  Tamamen umuma açık, public bir URL. Evet ezberlenmesi zor, ama -misal- kazara maillerinize erişen birisi bu URL'i elde ederse -kaldırmadığınız sürece- bu rapora erişebilir. Eğer bu durum sizin için herhangi bir sorun teşkil etmiyorsa -diğer taraftan- süper bir özellik. Çünkü paylaştığınız raporu güncelliyorsanız, bu güncellemeler de buraya otomatik olarak yansıyor. Hatta bu raporları farklı URL filtreleri vererek de yayınlayabilirsiniz.

Publish to Web ile yayınladığınız raporların linklerine erişmek ve-veya kaldırmak için ayarlar menüsünden "Manage Embed Codes" bölümünü kullanabilirsiniz.


Embedding için ikinci özellik henüz 2 ay önce geldi:  Secure Embed . Adı üstünde, Publish to Web'ten farklı olarak  güvenli bir URL adresi üretiyor .

URL'i gönderdiğiniz kullanıcı açmaya kalktığında "login" olmasını istiyor!


Bu andan itibaren kullanıcının rapora erişebilmesi için iki şart var. İlki kullanıcının  Pro lisansına sahip olması  gerekiyor. İkincisi de raporun ilgili kullanıcı ile paylaşılmış olması gerekiyor, aksi taktirde aşağıdaki gibi bir ekranla karşılaşıyorsunuz.


İlgili raporu kullanıcıyla paylaşmak gerekiyor. Bunu da yapmanın en kolay yolu rapor sayfasından "Share" etmek.



** Burada ara bir cümle açacağım müsadenizle, Power BI Premium lisansınız olması durumunda,  raporlara erişecek diğer "viewer" kullanıcıların Pro lisansa sahip olmasıne gerek yok. Ama yoksa,  paylaşımla ilgili hemen hemen her şey  powerbi.com servisini kullandığımızda Pro lisans istiyor.

Çok uzun detayına girmeyeğim ama Power BI raporlarını, kullanıyorsanız Sharepoint online'da paylaşmak mümkün. Hiç kullandınız mı bilmiyorum -denemenizi öneririm- , Microsoft Team uygulamasında da paylaşmak mümkün. Eğer Dynamics 365 kullanıyorsanız Power BI raporlarını embed etmek mümkün.

Asıl bahsetmek istediğim son özellik Azure'daki Power BI Embedded servisi. Bu servis özellikle Türkiye'de görebildiğim kadarıyla en az bilinen Azure servislerinden biri (diğeri de sanıyorum Azure Analysis Service) malesef.

Çok sayıda kullanıcınız/müşteriniz varsa ve bu kullanıcılara bir rapor sistemi-altyapısı sunmak istiyorsanız bakmanız gereken servislerden biri bu.  Pro lisansı olmadan , daha doğrusu sadece geliştiriciler için bir kaç Pro lisansı alarak, erişecek kullanıcıların otorizasyonunu da kendi tarafınızda kurarak bir alt yapı oluşturabilirsiniz.

Bu serviste bir kapasite (SKU) satın alıyorsunuz ve satın aldığınız kapasiteye göre ücret değişiyor. Servisi satın aldığımız yer ise  A tipi SKU'lar için  Azure portal. Dolayısıyla bir Azure subscription sahibi olmanız gerekiyor.


A tipi kapasitelerin aylık fiyatları 735$'dan başlıyor, aldığınız kapasiteye göre x2, x3 diye artmaya başlıyor. Ucuz mu pahalı durumunuza göre değişebilir, bir miktar göreceli: Şöyle ki satın aldığınız kapasite sizin  en yoğun zamanınızda bile  kullanıcıların rapor görüntülemesini hız/performans olarak karşılıyorsa dilerseniz 1000 kullanıcıya da açabilirsiniz! Kapasiteler saatlik  maksimum görüntülenebilecek render sayısını etkiliyor . Maksimum render sayısı için  kullancıların aynı anda açtıkları maksimum rapor sayfa sayısıyla orantılı  bir şey desem çok yanlış olmaz. Bununla ilgili Microsoft'un şöyle bir dokümanı var.

Ek olarak şunlar da mümkün, bu "pause edilebilir", yani durdurulabilir bir servis. Gece 12 sabah 8 arası çalıştırmayabilirsiniz, fiyat da süre oranında düşecektir. + Peak zamanlarda, yani en yoğun zamanlarda kapasiteyi bir üst SKU'ya yükseltip sonra tekrar eski haline otomatik olarak düşürmek mümkün.


Powerbi.com servisini Pro lisanlarla 100 kullanıcıyla kullandığınızda aylık kabaca 1000$ ediyor, ister çok kullanın, ister az kullanın. Azure'daki bu servis bu açıdan da değerlendirilmeli.

Tabi geliştirme tarafında ek bir çaba gerektirdiği kesin. İzlenmesi gereken teknik bir yöntemler dizisi var, ön yüzü sizin yazmanız lazım vs gibi. Eğer  kendi markanızla , kendi kurum adınızla bir alt yapı kurmak isterseniz en doğru yöntem olabilir. Bu servisin hiç bir yerinde Microsoft Power BI yazmıyor, sadece çıkan bir logo var o kadar.

Embed servisi ile ilgili ileride ayrıntılı bir yazı yazacağım, şimdilik bu linki vermiş olayım. Daha önce Power BI Türkiye adına düzenlediğimiz webinar kaydına da göz atmak isteyebilirsiniz. Embed servisi için kullanabileceğiniz örnekler / kodlar için buraya da göz atabilirsiniz.

Embedded servisinde A SKU'ları Azure'dan satın alıyoruz demiştim, bir de Power BI Premium Capacity lisansı altında satılan EM ve P SKU'ları var.  Bunlar ofis lisansı gibi ! satın alınıyor. Hem Powerbi.com hem de embedded kullanacağım gibi bir durum varsa bu lisanslara da bakılabilir. Şahsi fikrim embeded lisanslarının halen gereğinden fazla karışık olduğu yönünde. Hangisini satın almak gerekirin tek bir doğru cevabı yok, duruma detaylı bakmak gerekir. Azure'daki A SKU'lar ile Power BI Premimum'daki embed SKU'ları arasındaki farklar için bu sayfaya göz atabilirsiniz.

Örnek bir durum üzerinden -mevcut durumda- tercihimi de söylemiş olayım: Eğer 10000 öğrencisine 100'lerce akademisyenine performans/not raporlarını açmak isteseyen bir üniversite olsaydım Azure'daki servisi ve kapasiteleri seçerdim.