24.01.2019 , Ocak 2019 güncellemesi ile RLS (row level security) on-prem Report Server’a geldi. Diğer güncellemeler için tıklayın.
Eğer buluta çıkmakla ilgili kanuni regülasyonlara tabiyseniz veya verinin lokalde kalmasını istiyorsanız ve PowerBI raporlarını mobil uygulaması da dahil olmak üzere kullanmak isterseniz tek alternatifiniz var : Power BI Report Server kullanmak.
Report Server’a sahip olmak için iki alternatif var: Ya Power BI Premium lisansı satın almanız gerekiyor, ya da SQL Server Enterprise SA (Software Assurance) lisansınızın olması lazım. Enterprise SA lisans ücretiyle ilgili güncel bilgiye sahip değilim. Premium lisans fiyatı ise aldığınız kapasiteye göre değişiyor. Eğer şirket içerisinde Pro lisansa sahip kullanıcı sayısı +500’ü geçmeye başlarsa düşünülmesi gereken bir alternatif, raporları sadece görecek olan kullanıcılar için Pro lisansa gerek yok Premium’da, sadece rapor geliştiricilerinin Pro lisansa sahip olması yeterli. Hem bulut servisini kullanmanıza müsade ediyor, hem de Report Server kurma hakkına sahip oluyorsunuz Premium lisansta.
Eğer kanuni bir zorunluluk yoksa sorulduğunda bulut servisini öneriyorum. Lisans ücretlerini bir tarafa bırakalım, bulut servisiyle report server arasında bazı farklar var ve bunlardan birkaç tanesi -benim değerlendirmeme göre- oldukça önemli farklar.
Bu yazacağım liste yazımın yayımlanma tarihi itibariyle geçerli, eğer değişiklik olursa yazıyı güncelleyeceğim.
- Analyze in Excel : Report Server’ın en büyük eksiklerinden biri bence. Bulut servisine “publish” ettiğimiz bir modele lokaldeki bilgisayarımızdan Excel’le bağlanabiliriz. Modelin içindeki her şeyi Excel rahatlığında pivot tablo mantığıyla kullanmamızı sağlıyor bu özellik. Detay bazda çalışma yapmak isteyenler için vazgeçilmez bir özellik. Size lazım olan her şeyi lazım olan detay seviyesiyle birlikte bir kez Excel’de oluşturduğunuzda “işiniz bitiyor”. Her şey her an elinizin altında ve de güncellenebiliyor. Daha önce Power BI Türkiye Meetup grubunda yaptığımız bir webinar’da bu özelliği anlatmıştım.
- Row Level Security : RLS, yani satır bazlı yetkilendirme, aynı rapor setine erişen kullanıcılara, sadece görmeleri gereken verileri göstermemizi sağlayan bir özellik. Rapor seti aynı, model aynı, her şey aynı fakat -diyelim- Marmara bölge sorumlusu raporlara eriştiğinde sadece Marmara bölgesine ait verileri görüyor, genel müdür girdiğinde ise tüm verileri görüyor. Bu özellik sayesinde kullanıcı gruplarına göre farklı raporlar hazırlamaktan kurtuluyoruz.RLS, Report Server’da maalesef yok. Bunu çözmenin iki yolu var; ya araya bir on-prem Analysis Service koyup modeli orada geliştirip RLS’yi de AS üzerinde tanımlayabilirsiniz (ve Power BI raporlarını da Analysis Service’e bağlanarak hazırlarsınız) ya da tüm metriklerinizi CALCULATE, SWITCH (ya da IF) USERNAME, USERPRINCIPAL gibi komutlarla kullanıcı gruplarına göre düzenlemeniz gerekir. Yani kullanıcı buysa şunu hesapla, değilse bunu hesapla gibi. Kullanıcı -grubunun- sayısına göre işimiz kolay olmayabilir bu durumda. Özellikle birden fazla transaction tablosu da varsa modelde, formülleri yazarken dikkatli olmak gerekir, çünkü modeldeki tablolar arasındaki ilişkiler boyunca filtreler akar.
- Dashboard’lar : Report Server’da dashboard yapısı yok malesef. Bunu ancak bir rapor sayfasını “dashboard” gibi tasarlarsanız nispeten çözebilirsiniz. O da tam aynı şeye karşılık gelmiyor malesef.
- Q&A : -Şu an için- İngilizce yapısal cümleler kurarak modele soru sormamızı ve en yakın gösterim şekliyle sorulara cevap almamızı sağlayan bir özellik. Bir örneğini Intellect BI web sitesinde bulabilirsiniz. (Mobilden değil, desktop’tan bağlanırsanız görebilirsiniz.) Report Server’da bu da yok henüz.
- R-Görselleri : Bir başka önemli olabilecek ve Report Server’da olmayan özellik, R desteği henüz yok.
Bulut servisinde olup Report Server’da olmayan başka özellikler de var ama bunlar nispeten tolere edilebilir. Kısaca olmayan diğer özellikleri de listeleyeyim: Data Alerts, full ekran modu, Quick Insights, ARC GIS haritalar, content pack ve app yapısı.
Diğer taraftan Report Server’da olup bulut servisinde olmayan özellikler var:
- Paginated Reports: Aynı SSRS’teki gibi sayfa bazlı raporlar. Mantık hemen hemen aynı.
- Mobile Reports: Microsoft’un daha önce satın alıp teknolojisini gömdüğü Datazen raporları.
Tabii bu her iki rapor mantığının tabular modellemeyle yakından uzaktan ilintisi yok, daha çok SSRS raporlarına benziyorlar.
MS, PowerBI bulut servisini ve Power BI Desktop’u ayda bir güncellerken, Report Server’ı 4 ayda bir güncelliyor, dolayısıyla yeni çıkan özelliklerin bir çoğu Report Server’a gecikmeli geliyor. Report Server’da PBI raporları hazırlamak için kullandığımız Power BI Desktop bile aynı değil, farklı bir PBI Desktop uygulaması kullanarak raporları oluşturuyorsunuz.
Özetle, eğer kanuni olarak bir zorunluluk yoksa, bulut servisi daha fazla avantaj sunuyor. En azından güncel durum bu şekilde.