ALL, ALLSELECTED ve Rasyolar

Power BI 'da bize en çok lazım olan metrik gruplarından biri de rasyolar, yani yüzde hesaplamaları. Bunun için bize lazım olan fonksiyonlar CALCULATE ile birlikte ALL ve ALLSELECTED.  Daha önce ALL ile örnekler yapmıştık. 1, 2, 3. ALL fonksiyonuna parametre olarak ya bir sütun(lar) verebiliriz ya da bir tablo. Hangisini verdiysek, ilgili sütunu veya tabloyu … Devamını Oku…

CALCULATETABLE

Daha önceki CALCULATE yazılarında FILTER, AND ve OR kullanımına ilişkin örnekler yapmıştık. Örnekleri kısaca tekrarlayıp konuyu CALCULATETABLE 'a bağlayacağım. Contoso markalı siyah ürünlerin satışlarını hesaplamak için aşağıdaki gibi boolean tipinde filtrelerle CALCULATE fonksiyonunu kullanmıştık. CALCULATE'in filtrelerinin boolean tipi olması durumunda formülün internal açılımının FILTER ( ALL …)  şeklinde olması önemli bir detay, bu yüzden tekrarlayacağım. … Devamını Oku…

ISFILTERED, ISCROSSFILTERED

Filter context'i ve filter propagation 'ı (filtrelerin akmasını) biraz daha iyi anlamamızı sağlayacak ISFILTERED ve ISCROSSFILTERED fonksiyonlarını açalım. Bu fonksiyonları ileriki yazılarda özellikle matris görselinde bazı rasyo hesaplamalarında kullanacağız. , verdiğimiz sütun üzerinde doğrudan bir filtre varsa TRUE döndürür, değilse FALSE döndürür. Doğrudan filtre olması demek, ilgili sütunun matriste satıra veya kolona düşürülmesi  ya da dilimleyide … Devamını Oku…

Kategoriler Dax

Kur Tablosu Üzerinden FILTER, VALUES ve MAX

Power Query 'de liste oluşturma ve merge yapma işlemleri için daha önceki yazıda kur tablosu örneğini vermiştim. Özetlemek gerekirse, farklı para birimleri üzerinden satış satırlarımız ve belirli tarih aralıkları için geçerli bir kur tablomuz vardı. Satışların olduğu tabloya, ilgili satırdaki kurun ilgili tarihteki kurunu getirip aşağıdaki forma sokmuştuk. Aynı örneği bir de DAX ile yapalım. … Devamını Oku…

Kategoriler Dax

Değişken Kullanımı, VAR

Power BI 'da kompleks DAX formüllerini yazmayı kolaylaştıran değişken (variables) yapısı var. Önceki yazıda bir giriş örneğini  yaptığımız değişken kullanımına farklı örnekler verelim. Aşağıdaki gibi metriklerimiz var: satış yapılan müşteri değişken kullanarak bulalım. Değişken isimleri arada boşluk veya Türkçe karakterleri desteklemiyor. Burada bilinmesi gereken nokta . Kullanıldığı yerde . Değişkenin tanımlandığı yer  VAR ile başlayan … Devamını Oku…

Context Transition

DAX 'taki en önemli fonksiyonlardan biri olan CALCULATE 'in sahip olduğu kabiliyetlerden biri de . Formal tanımı şu şekilde: CALCULATE, bir row context altında çalışırken, ilgili row context'i eşleniği olan filter context'e çevirir. Bu ne demek açalım. Daha önce aggregator ve iterator fonksiyonlara SUM ve SUMX üzerinden giriş yaptığımız yazıda  "Ürünler" tablosuna şöyle bir hesaplanmış … Devamını Oku…

EARLIER

Power BI 'daki "context" kavramı ile ilgili yazıda, iterator fonksiyonlar, verdiğimiz tablodaki  filter context üzerine  yeni bir row context ekler, bunun tek istisnası önceki context'in bir filter context değil de, aynı tablo üzerindeki bir başka row context olması durumunda gerçekleşir, bu durumda yeni yaratılan row context, önceki row context'i gizler, görmezden gelir diye yazmıştım. Bu -kafa karıştırıcı- cümleyi biraz açalım. … Devamını Oku…

Kategoriler Dax

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…

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…

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…

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…

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…

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…