Raporlarımızdaki metriklerin bazen parametrelere bağlı olarak nasıl değişeceğini görmek isteriz. Örneğin fiyatları %5 arttırsak, ciro-karlılık ne kadar etkilenecek, maliyetleri %5 düşürebilsek sonuçlar ne olacak? Çoklu para birimli bir bütçe yaptıysak kur değerine bir aralık vermek isteyebiliriz.
Yani, senaryo analizi yapmak isteriz!
Power BI ‘da senaryo analizi için bir What If yapısı uzun süredir var.
Aşağıdaki gibi basit bir çoklu para birimli bütçe tablomuz var.
Bütçenin TL karşılığını bulalım istiyoruz ama kurlar için sabit bir değer yerine bir aralık vermek istiyoruz. Örneğin USD 5.3-6.2 arağılında EURO 6.2-6.8 aralında değişebilsin. Ve bu değişimler +-0.1 farkla olsun.
Modelling tabından “New Parameter” ile What If penceresini açıyorum: Parametreye bir isim verip, aralığın minimum ve maksimum değerlerini, parametrenin veri tipini ve +- azalış-artış miktarını belirtiyorum. Parametreye varsayılan bir değer de atayabiliriz.
USD için yukarıdaki gibi parametreleri giriyorum, “Add slicer to this page” seçeneğini işaretli bırakıp OK diyorum. Tanımladığımız parametre ekrana kullanıcının değiştirebileceği bir slider olarak ekleniyor.
Parametreye verdiğimiz isim üzerinden bir tablo oluştu ve bu tabloya da bir tane hesaplanmış sütun ile bir tane metrik eklendi. Formülleri şöyle:
USD Kuru = GENERATESERIES(5,3; 6,2; 0,1)
USD Kuru_Value := SELECTEDVALUE('USD Kuru'[USD Kuru]; 5,8)
GENERATESERIES, minimum ve maksimum değerler arasında belirttiğimiz artış büyüklüğüne göre olabilecek tüm rakamları içeren bir değer listesi üretiyor. Bu değerleri içeren sütunu rapor ekranına bir slicer ile düşürdüğümüzde de SELECTEDVALUES ile seçili değerin ne olduğunu yakalıyoruz! Herhangi bir seçim yapılmasa bile varsayılan bir değeri de var. Mantığı oldukça basit.
** SELECTEDVALUES kullanımı ile ilgili yaratıcı ve basit bir örnek için bu yazıya göz atmak isteyebilirsiniz.
Aynı işlemi EURO kuru için de yapıyorum, benzer şekilde bir tabloyu, olası tüm değerleri içeren bir sütunu ve seçili EURO kurunu yakalayan bir metrik ekleniyor.
Bütçenin TL karşılığını bulan formülümüzü yazabiliriz.
Bütçe TL :=
VAR _ButceTL =
CALCULATE( SUM('Bütçe'[Bütçe] ) ; 'Bütçe'[Kur] = "TL" )
VAR _ButceUSD =
CALCULATE( SUM('Bütçe'[Bütçe] ) ; 'Bütçe'[Kur] = "USD" ) * [USD Kuru_Value]
VAR _ButceEURO =
CALCULATE( SUM('Bütçe'[Bütçe] ) ; 'Bütçe'[Kur] = "EUR" ) * [EURO Kuru_Value]
RETURN
_ButceTL + _ButceEURO + _ButceUSD
Yazıdaki modeli indirebilirsiniz.
Sadece üyeler görebilir. Hızlı üyelik için sosyal medya hesabınızla giriş yapabilirsiniz!