Context = Filter Context + Row Context

Power BI 'da DAX ile bir formül yazdığımızda, her ne formülü olursa olsun, çalışmaya başlamadan önce, hesaplama yapacağı hücrenin (noktanın) context'ini bulur. Context -en basit tanımıyla-  ilgili hücreyi hesaplarken tabular engine'nin gördüğü filtrelenmiş veri kümesidir. Dilimleyicide kırmızı ve mavi renkler seçili: Tabular engine şu an formülü hesaplarken sadece ve sadece bu renk ürünlerin satışlarını görüyor. … Devamını Oku…

CALCULATE ve IN Kullanımı

Önceki yazıda OR ile CALCULATE 'in kullanımına ilişkin örnekler vardı, bu örnekleri IN ile biraz daha açalım. Örnekleri tekrarlamak gerekirse aşağıdaki iki formül de aynı, sadece OR yerine || kullanıldı: Yukarıdaki formüllerin okuması daha kolay olan bir alternatifi daha var: ( ) yerine { } kullanıldığına dikkat! Formüldeki filtre "boolean" tipinde bir filtre, dolayısıyla bunun internal … Devamını Oku…

CALCULATE ile AND OR Kullanımı

CALCULATE fonksiyonunun Boolean tipinde filtreler kulllanıldığında yazımı şu şekilde: Bu yazım şeklinde filtrelerin 'Ürünler'[Renk] = "Kırmızı" veya 'Ürünler'[Fiyat] > 10 gibi olması gerektiğini daha önce belirtmiştim. Birden fazla filtre kullanıldığında, CALCULATE 'tin yukarıdaki yazım şekli, verilen filtreleri . Modelimizdeki markası "Contoso" VE rengi "siyah" olan ürünlerin satışlarını hesaplayalım. Bu metrikleri düşürdüğümüz matrisin satırında veya sütununda … 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…

CALCULATE ve Filtre Koşulları

CALCULATE ile birlikte kullanabileceğimiz filtre koşullarıyla ilgili örnekleri biraz daha açalım: Önceki örneklerde ( 1, 2 ) yazdığımız filtre koşulları hep üzerinde çalışan filtrelerdi : gibi. Yazıların çoğunda kullandığım Contoso veritabanındaki 'Ürünler' tablosunun yapısı resimdeki gibi: Birim fiyatı birim maliyetinin 2 katından fazla olan ürünlerin satışlarını CALCULATE ve filtre koşulları yazarak hesaplamaya çalışalım. Önce temel … Devamını Oku…

CALCULATE ve Basit Filtreler

DAX'ın en önemli fonksiyonlarından olan CALCULATE ile ilgili örneklere devam ederken sık yapılan kalıp hatalarını da biraz açmaya çalışalım. Önceki giriş yazısına da göz atmak isteyebilirsiniz. 'Satışlar' tablosundaki [Tutar] sütununu toplayan temel metriğimizle birlikte iki farklı CALCULATE formülü yazalım: Her iki formül de, kullandığınız görsele ne düşürdüğünüze göre bazen aynı sonucu verebilir. Fakat her iki … 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…

Power BI Report Server vs Bulut Servisi

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

CALCULATE Fonksiyonuna Giriş

Bu yazı Power BI ve DAX'taki en önemli fonksiyonlardan biri olan CALCULATE 'e giriş yazısı. CALCULATE fonksiyonunun yaptığı birden fazla iş var: Bunlardan biri mevcut "context" i değiştirmek. ** "Context", DAX'taki en önemli kavramlardan biri, bu yazıya ve yazı içinde linkini verdiğim diğer yazılara göz atmanızı tavsiye ederim. CALCULATE ile ilgili birkaç yazıdan sonra context … Devamını Oku…

Gerçek Zamanlı Raporlama

Power BI ile ilişkisel veri tabanlarına bağlanırken iki farklı yöntem kullanabiliriz: Import veya Direct Query. Varsayılan (default) yöntem olan Import'u kullandığımızda veriyi almış oluyoruz ve bu modeli buluta bastığımızda veri de buluta çıkıyor. Bu şekilde hazırlanmış bir modeldeki raporlar tamamen Power BI'ın tabular engine'nini (eski adıyla Vertipaq) kullanır, tüm hesaplamalar bu engine tarafından yapılır, veri … 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…

FILTER, ALL ve Context Etkileşimi

Önceki yazıda FILTER kullanımına örnekler vermiştim, kısaca özetlemek gerekirse: FILTER, mevcut context'e yeni bir "condition" ekleyerek tabular engine'in gördüğü veri setini daraltır. Kategorideki ürün sayısını ve siyah ürün sayısını hesaplamak üzere aşağıdaki gibi iki metriğimiz var. Her ikisini de bir matrise düşürüyorum, renk için "slicer" ekleyip herhangi bir seçim yapmıyorum. Daha önce yazdığım basit ama … Devamını Oku…

FILTER

FILTER tablo fonksiyonlarından biri, yani döndürdüğü şey bir tablo, aynı zamanda bir iterator. Yani üzerinde çalıştığı tablodaki her bir satır için işlem yapar. Yazımı gayet basit : FILTER'ın sonucunda geri dönen tablo, orijinal tabloyla aynı sütunlara sahip, fakat sadece verilen "condition"'a uyan satırların olduğu tablodur. FILTER, genellikle bizden bir tablo isteyen diğer fonksiyonlarla birlikte kullanılır. … 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…

RELATED ve RELATEDTABLE

Daha önce iterator fonksiyonları, yani satır bazlı işlem yapan fonksiyonları SUMX üzerinden anlatırken, bu fonksiyonların tablolar arası ilişkilerin farkında olmadığını belirtmiştim. Fakat farketmelerini sağlayacak komutlar mevcut: RELATED ve RELATEDTABLE. Yazıda kullanacağım modelin tablolar arası ilişkileri ekteki gibi: Power BI'da en sık kullandığımız ilişki tipi One-to-Many: One tarafındaki her bir tekil varlık için, Many tarafındaki tabloda … Devamını Oku…

Hangi Metrikler? Holistik Bir Bakış

** Teknik bir yazı değildir! Bu blogu Microsoft Power BI özelinde, tüm MS iş analitiği ve ilintili uygulamalar üzerine teknik ve becerebildiğim kadar "hardcore" bilgi vermek üzere açtım. Üretim ve operasyon kökenli bir kişi olarak, Power BI benim hayatımı inanılmaz kolaylaştırdı, hatta öylesine kolaylaştırdı ve keyifli hale getirdi ki,  20 yıllık kariyerimin sonunda gayet mutlu … Devamını Oku…

Sayma Fonksiyonları ve Referential Integrity

Power BI modellerinde zaman zaman sütun değerlerini veya tablodaki satır sayılarını sayma ihtiyacı duyarız; bunu yapmamızı sağlayacak DAX fonksiyonları mevcut. Yazıdaki örneklerin tamamında aşağıda resmini verdiğim modeli kullanacağım: 'Ürünler' ve 'Satışlar' tablosu 'ÜrünID' sütunu üzerinden ilişkili, 'Ürünler' tablosunda Ürün ID var, 'Satışlar' tablosunda ise ID ve bir de ID değeri olan bir satır var. 'Ürün … Devamını Oku…

SUM vs SUMX, Aggregators vs Iterators

DAX'taki temel kavramlardan ikisine giriş yapalım: Aggregator'lar ve iterator'lar. Daha önce bahsettiğim gibi DAX'ta hücre kavramı yoktur, tablo ve sütun kavramı vardır, tablolar satır ve sütunlardan oluşur. Tablo, tek bir satırdan ve tek bir sütundan oluşuyor olabilir; bu da bir tablodur. Aggregator fonksiyonlar (SUM, AVERAGE, MIN, MAX …), , sizden tek bir parametre isterler: Üzerinde … Devamını Oku…