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…

Birden Fazla Tabloyu Ortak Sütun Üzerinden Bağlamak

Power Bi'ın en güçlü özelliklerinden biri, aynı anda birden fazla veri kaynağına bağlanarak tüm verileri tek bir veri modeli üzerinde analiz etmeye imkan vermesi. Tek bir veri kaynağı olduğunda -diyelim ERP- genellikle tüm "entity"lerle ilgili bir tane master tablo oluyor. Örneğin "Ürünler" tablosu, örneğin "Müşteriler" tablosu. Bu tabloların temel özelliği ilgili boyutun tekil (unik) kayıtlarını … Devamını Oku…

DAX, T-SQL, Excel, Veri Ambarı

Yakın zamanda başlayacak olan görsel ve videolu eğitim yazılarına geçmeden önce bir iki yazı daha mevcut tecrübelerim üzerinden tespitler yapmama müsade edin. Projelerde teknik anlamda iki farklı profille karşılaşıyorum: Excel power user'lar, yani Excel'i iyi kullananlar ve SQL'ciler. Excel kullanıcıları genelde, mali işler, finans, planlama, satınalma kademelerinde çalışan arkadaşlar. SQL'ciler ise büyük oranda IT kökenli kişiler. … Devamını Oku…

Notasyon

DAX formülleri yazarken daha önce yazım formatına ilişkin önerilerde bulunmuştum. Şimdi bir öneride daha bulunacağım; bu da en az format şekli kadar önemli, hatta daha önemli. 'Satışlar' tablosunda, [Satışlar] adında, basit bir SUM alan bir metriğimiz olduğunu varsayalım. Satışların bir yıl önceki değerini bulmak için yazabileceğimiz aşağıdaki 2 formül de aynı sonucu verir. PBI, her … Devamını Oku…

Kategoriler Dax

Dax'a Giriş

DAX, Power BI'ın veri modeli oluşturma dilidir. İsim olarak teriminden türetilmiştir. DAX, veriler üzerinde bize lazım olan hesaplamaları yaparken kullandığımız, yazım formatı son derece temiz, belli konseptler üzerinde çalışan, bazen hem Excel'e hem de SQL'e benzeyen ama ikisi de , syntax ezberlemeyi  oldukça elegan bir dil. Excel kullanıcılarının PBI ile çalışırken hatırlamaları gereken en önemli … Devamını Oku…