Bir Görseli Başka Bir Metriğe Göre Sıralama

Power BI projelerinde zaman zaman farklı sıralama ihtiyaçlarıyla karşılaşıyorum.  Bunların bir çoğunu Sort By Column ile çözmek genellikle mümkün oluyor. Tüm görsellerdeki varsayılan sıralama şekilleri, görsele düşürülen (satıra, sütuna, X-Y eksenine, değer alanına vs) metriklere veya sütunlara göre alfabetik olarak A'dan Z'ye , Z'den A'ya ya da nümerik ise büyükten küçüğe küçükten büyüğe şeklinde. Resimdeki … Devamını Oku…

Sütunları Seçmek ya da Sütunları Uçurmak !

Her Power BI modeline başlarken genelde veri tarafında view'larla veya Excel dosyalarıyla çalışıyoruz. Kullanacağımız veri seti nihai halini alana kadar da bazen kullandığımız bu setlerdeki sütunları değiştiriyoruz, ekliyoruz, çıkartıyoruz. Power Query için eğitimlerde sarfettiğim standart best practice cümlelerinden biri şu : Sadece kullanacağınız sütunları alın, diğer sütunları -belki lazım olur diye bile olsa- almayın! Peki … Devamını Oku…

Tabloları Birleştirme, Append ve Dizin Okuma

Power Query 'de tabloları birleştirmenin bir diğer şekli, tabloları alt alta, uçuca ekleme veya Power Query jargonuna göre "append" etme. Önceki yazıda bahsettiğim diğer tablo birleştirme şekli olan "merge" SQL'deki join'lere karşılık geliyor. Bu ise UNION karşılığı. Tabloları alt alta birleştirme ihtiyacı duyduğumuz bir kaç net durum var: Örneğin farklı şubelerin/birimlerin doldurduğu formatı ve yapısı … Devamını Oku…

Asimetrik Raporlar, Excel Named Sets

Asimetrik rapor ne demek tanımlamadan önce Power BI 'daki matrisin varsayılan davranışına bir bakalım. Aşağıdaki gibi bir veri setimiz var: 2018 ve 2019 yıllarına ait satış verisi var, fakat bütçe sadece 2019 yılı için var. Basit SUM'larla ve bölme işlemiyle satışları, bütçeyi ve gerçekleşmeyi hesaplayıp aşağıdaki gibi bir matrise düşürüyorum. Yukarıdaki matris ! Satışlar, Bütçe … Devamını Oku…

Seçili Rapor Filtreleri

Power BI 'da kullanıcı ihtiyaçları arasında zaman zaman karşılaştığım bir durum var: Seçilen filtreleri raporun bir yerinde göstermek ve seçilen filtrelerin tamamını bir anda sıfırlamak. Rapor filtrelerini genelde "slicer" olarak ekliyoruz ve çoğunlukla da bir rapor tasarım unsuru olarak kullanıyoruz. Rapora eklediğimiz filtreleri zaten sayfada görüyoruz diyeceksiniz -ki benzer talepler geldiğinde benim de ilk tepkim … Devamını Oku…

Quick Measures

Power BI 'ın modelleme dili olan DAX basit bir dil. Fakat -zaman zaman- kolay bir dil değil. Her dil gibi kendine özgü bir mantığı ve yapısı var. İyi haber şu ki, herhangi bir projede bize lazım olan metriklerin büyük çoğunluğunu yazmak hiç de zor değil. Bu durumu açık sınıf eğitimlerine katılan kullanıcıların yaptıklarına bakarak demiyorum … Devamını Oku…

RANKX ve Parametreleri

RANKX ile ilgili örneklere devam ediyorum, filter context ve row context'i açmak adına çok güzel bir fonksiyon olduğunu yazarken daha iyi farkettim. Önceki yazılara da göz atmak isteyebilirsiniz: 1, 2 Aşağıdaki gibi bir veri setimiz var. Tutar değeri aynı olan birden fazla müşteri var ve bazı müşterilerde tutar yok. Metriklerimiz şöyle: Hepsini aynı matrise düşürüyorum. … Devamını Oku…

List ve Merge, Kur Tablosu

Power BI 'da sık karşılaşılan durumlardan biri de yabancı para birimi cinsinden yapılan işlemlerin bir kur tablosu üzerinden TL'ye çevrilmesi. DAX ile çözmek de pekala mümkün, fakat bu tür durumlarda Power Query'nin gücünden faydalanmak daha hızlı ve kolay. Aşağıdaki gibi bir veri setimiz var: Farklı tarihlerde farklı para birimleri üzerinden yapılmış satışlarımız var, kur tablosunda … Devamını Oku…

Çoklu Firma, Kompozit Anahtar

Power BI ile ilgili sık gelen sorulardan biri, çoklu şube-çoklu firma modelinde ilişkilerin nasıl oluşturulacağı yönünde. Örneğin aşağıdaki gibi bir data yapısı olsun: Master ürünler tablosunda ürün kodları birden fazla firmada aynı olabilir! Power BI'da iki tablo arasında ilişki kurabilmenin genel kuralları şöyle: İki tablo arasında ilişki tek sütun üzerinden kurulabilir. İlgili sütunların tipi her … Devamını Oku…

Toplam Satırı Toplamı Göstermiyor

Veri modeline giriş yazısında, Power BI  hesaplama yaparken her bir hücreyi ayrı ayrı ilgili context altında hesaplar, buna Total (Toplam) satırı da dahil demiştim. Total satırı toplam satırı demek değildir, bir özet satırıdır. Aynen diğer hücrelerde olduğu gibi, total satırının da her bir hücresi, gördüğü context üzerinden hesaplanır. Contoso modeli üzerinde aşağıdaki gibi metriklerimiz var. … Devamını Oku…

Power BI 'da Resim Kullanımı

Power BI raporlarının görsel kalitesini arttırmak için zaman zaman resimler kulanırız. Örneğin ürünlerle ilgili satış raporlarına ürün resimlerini koymak veya satış ekibini analiz ettiğiniz sayfalara ilgili satış sorumlularının resimlerini koymak gibi. Binlerce ürününüz veya kalabalık bir satış ekibiniz varsa raporun "sıcaklığını" arttırmış olursunuz. Kullanacağınız resimler eğer Internet üzerinden erişilebilir durumdaysa yapmamız gerekenler gayet kolay: Aşağıdaki … Devamını Oku…

CALCULATE ve Sort By Column

CALCULATE fonksiyonuna bir sütun üzerinden filtre -ya da condition- verdiğimizde, ilgili sütun üzerindeki tablolar arası ilişkilerden gelen doğal filtreleri kaldırır ve yazdığımız filtreyi uygular. Verdiğim örneği tekrarlamak gerekirse: Bu metriği [Satışlar] metriği ile bir matrise düşürdüğümüzde aşağıdaki gibi bir görünüm elde ederiz. Arka planda tabular engine yukarıdaki formülü şu şekilde çalıştırır: üzerindeki doğal filtreleri ALL … Devamını Oku…

Parametre Kullanımı

Özellikle model geliştirme aşamasındayken ya da mevcut model üzerinde değişiklik yaparken canlı sistem yerine test sistemi üzerinde ve daha az veriyle çalışmayı tercih ediyorum. Bunu yaparken de Power Query 'deki parametre yapısını kullanıyorum. Yakın zamanda Powerbi.com servisine modelinizdeki parametreleri görmenizi ve değiştirmenizi sağlayacak bir "Parameters" bölümü de eklendi. Bir çok farklı amaçla kullanılabilir, örneğin test … Devamını Oku…

Son Güncelleme Saati

Rapor sayfalarına ve dashboardlara veri setinin en son ne zaman güncellendiğini getirmek "best practice" 'lerden biri. Raporlarınızı gateway üzerinden günde bir kez veya birden fazla "refresh" ediyor olabilirsiniz. Dashboard'a "pin" ettiğiniz görsellerin detay ayarlarını değiştirerek verinin en son ne zaman güncellediğini görebilmek mümkün. Herhangi bir görselin sağ üst köşesindeki üç noktadan bu ayarlara ulaşabilirsiniz: İlgili … Devamını Oku…

Sort by Column

Power BI'da çok göz önünde olduğu halde -yeni başlayanların- genellikle geç farkettiği bir özellikten bahsedelim: Sort by Column. Power BI'daki tüm görsellerde, kullandığınız metrik ve sütunları -normalde- iki türlü sıralayabilirsiniz: Alfabetik ya da nümerik sıralama, A'dan Z'ye, büyükten küçüğe ya da tam tersi. Fakat özellikle tarih tablosunda bu sıralama tipine uymayan sütunlarımız olur genelde; gün … Devamını Oku…

Incremental Refresh

Veri modeliniz çok büyük transaction (fact) veya boyut tabloları içeriyorsa, modeli kurarken sadece değişen verileri nasıl çekeceğinizi baştan tasarlamakta fayda var. Bir kaç milyon satırlık tabloların güncellenmesi genelde sorun yaratmaz, modelin buluta basılmasından sonra "refresh" edilmesi 2-3 dakika sürer.  Fakat 10 milyon satır ve üzeri birden fazla tablonuz varsa modelde, güncelleme "makul" süreleri aşabilir. Power … Devamını Oku…

Dinamik Metrik Seçimi

Kullanışlı raporlar tasarlayabilmek için bazen kullanıcının rapor ekranında hangi filtreleri, hangi değerleri seçtiğini "yakalama" ihtiyacı duyarız. Örneğin aşağıdaki "canlı" raporda, bir "Metrik Seçimi" filtresi (slicer) var: Seçilen metrik hangisi ise, diğer görseller seçilen metriği gösterecek şekilde değişiyor. (Sağ alt köşedeki verev oku tıklayarak raporu tam ekran görebilirsiniz.)  Tek bir rapor sayfasında satışları, maliyetleri ve … Devamını Oku…

Switch

DAX'ın bazı fonksiyonları çok yaratıcı formüller yazmaya imkan sağlıyor: SWITCH fonksiyonu bunlardan biri. Özellikle başka fonksiyonlarla birlikte kullanıldığında, yaptığı iş neredeyse orijinal kullanım amacını aşıyor. MSDN'e göre SWITCH fonksiyonunun orijinal kullanımı şöyle: Yani, (expression)  farklı değerler altında test edip, hangi "condition" doğru ise (true) ise o duruma ait sonucu döndürmemizi sağlıyor. Bu açıdan iç içe … Devamını Oku…

Enable Load, Include In Refresh

Hazır Power Query'den devam ediyorken, performansı etkileyebilecek önemli konulardan birini daha açalım. Normal durumda, Power Query tarafına çektiğiniz, üzerinde işlem yaptığınız her sorgu Power BI tarafına aktarılır. Oysa bazı sorguları sadece ara işlemler yapmak,  transformasyonu kolaylaştırmak, ya da yeni sorgular üretmek için bir "ara aşama sorgusu" olarak kullanırız. Örneğin, farklı para birimlerinde olabilecek bir fatura … Devamını Oku…

Query Folding Nedir?

Power Query ile bir SQL sunucuya bağlanıp veri çekmek için temelde iki farklı yöntem kullanabiliriz: Sunucu ve veritabanı adını yazıp OK diyerek ilgili veritabanındaki tabloları seçebiliriz. "SQL Statement" bölümüne istediğimiz veriyi çekecek SQL cümlesini yazabiliriz. İlk yöntemi kullanarak "Satışlar" tablosunu seçiyorum. Belge para birimi "TL" ve satış tutarı 100'den büyük olan satırları almak için filtre … Devamını Oku…