Excel DAX - Akıllı Akıllı Zaman Kullanımı

DAX'ın güçlü özelliği olan Zaman İstihbaratı - Akıllı Zaman Göstergesini Anlama bölümünde öğrendiniz. Bu bölümde, DAX zaman gösterimi işlevlerini çeşitli senaryolarda nasıl kullanacağınızı öğreneceksiniz.

DAX zaman gösterimi işlevleri şunları içerir:

  • Verilerinizden tarihleri ​​veya tarih aralıklarını almanıza yardımcı olan ve benzer dönemlerdeki değerleri hesaplamak için kullanılan işlevler.

  • Aylar, yıllar veya çeyrekler arasında değerleri karşılaştırmanıza olanak tanımak için standart tarih aralıklarıyla çalışan işlevler.

  • Belirli bir dönemin ilk ve son tarihini alan işlevler.

  • Açılış ve kapanış bakiyeleri üzerinde çalışmanıza yardımcı olan işlevler.

Birikimli Satışların Hesaplanması

Kümülatif satışları hesaplamaya yönelik formüller oluşturmak için DAX zaman gösterimi işlevlerini kullanabilirsiniz. Kapanış ve açılış bakiyelerini hesaplamak için aşağıdaki DAX işlevleri kullanılabilir -

CLOSINGBALANCEMONTH (<expression>,<dates>, [<filter>]) - Mevcut bağlamda ayın son tarihindeki ifadeyi değerlendirir.

OPENINGBALANCEMONTH (<expression>,<dates>, [<filter>]) - Mevcut bağlamda ayın ilk tarihindeki ifadeyi değerlendirir.

CLOSINGBALANCEQUARTER (<expression>,<dates>, [<filter>]) - Mevcut bağlamda çeyreğin son tarihindeki ifadeyi değerlendirir.

OPENINGBALANCEQUARTER (<expression>,<dates>, [<filter>]) - Mevcut bağlamda, üç aylık dönemin ilk tarihindeki ifadeyi değerlendirir.

CLOSINGBALANCEYEAR (<expression>,<dates>, [<filter>], [<year_end_date>]) - Yılın son tarihindeki ifadeyi mevcut bağlamda değerlendirir.

OPENINGBALANCEYEAR (<expression>, <dates>, <filter>], [<year_end_date>]) - Mevcut bağlamda yılın ilk tarihindeki ifadeyi değerlendirir.

Aşağıdaki DAX işlevlerini kullanarak ürün envanteri için aşağıdaki hesaplanan alanları belirli bir zamanda oluşturabilirsiniz:

Month Start Inventory Value: = OPENINGBALANCEMONTH ( 
   SUMX (ProductInventory, ProductInventory[UnitCost]*ProductInventory[UnitsBalance]), DateTime[DateKey]
)
Month End Inventory Value: = CLOSINGBALANCEMONTH ( 
   SUMX (ProductInventory, ProductInventory[UnitCost]*ProductInventory[UnitsBalance]), DateTime[DateKey]
)
Quarter Start Inventory Value: = OPENINGBALANCEQUARTER ( 
   SUMX ProductInventory, (ProductInventory[UnitCost]*ProductInventory[UnitsBalance]), DateTime[DateKey]
)
Quarter End Inventory Value: = CLOSINGBALANCEQUARTER ( 
   SUMX (ProductInventory, ProductInventory[UnitCost]*ProductInventory[UnitsBalance]), DateTime[DateKey]
)
Year Start Inventory Value: = OPENINGBALANCEYEAR ( 
   SUMX (ProductInventory, ProductInventory[UnitCost]*ProductInventory[UnitsBalance]), DateTime[DateKey]
)
Year End Inventory Value: = CLOSINGBALANCEYEAR ( 
   SUMX (ProductInventory, ProductInventory[UnitCost]*ProductInventory[UnitsBalance]), DateTime[DateKey]
)

Farklı Zaman Dönemlerinde Değerleri Karşılaştırma

DAX tarafından desteklenen varsayılan zaman dönemleri aylar, çeyrekler ve yıllardır.

Toplamları farklı zaman dilimlerinde karşılaştırmak için aşağıdaki DAX zaman gösterimi işlevlerini kullanabilirsiniz.

  • PREVIOUSMONTH (<dates>) - Geçerli bağlamda tarihler sütunundaki ilk tarihe dayalı olarak önceki ayın tüm tarihlerini içeren bir sütun içeren bir tablo döndürür.

  • PREVIOUSQUARTER (<dates>) - Geçerli bağlamda tarihler sütunundaki ilk tarihe dayalı olarak önceki çeyreğe ait tüm tarihlerin bir sütununu içeren bir tablo döndürür.

  • PREVIOUSYEAR (<dates>, <year_end_date>]) - Geçerli bağlamda tarihler sütunundaki son tarih verildiğinde, önceki yıla ait tüm tarihlerin sütununu içeren bir tablo döndürür.

DAX işlevlerini kullanarak Batı bölgesindeki satışların toplamını, karşılaştırma için belirtilen zaman aralıklarında hesaplamak için aşağıdaki hesaplanan alanları oluşturabilirsiniz -

Previous Month Sales: = CALCULATE ( 
   SUM (WestSales[SalesAmount]), PREVIOUSMONTH (DateTime [DateKey])
)
Previous Quarter Sales: = CALCULATE ( 
   SUM (WestSales[SalesAmount]), PREVIOUSQUARTER (DateTime [DateKey])
)
Previous Year Sales: = CALCULATE ( 
   SUM (WestSales[SalesAmount]), PREVIOUSYEAR (DateTime [DateKey])
)

Paralel Zaman Dönemlerinde Değerleri Karşılaştırma

Belirtilen zaman dönemine paralel bir dönem boyunca toplamları karşılaştırmak için DAX zaman gösterimi işlevini PARALELPERIOD kullanabilirsiniz.

PARALELPERIOD (<tarih>, <aralık_sayısı>, <aralık>)

Bu DAX işlevi, geçerli bağlamda, belirtilen tarihler sütunundaki tarihlere paralel bir dönemi temsil eden bir tarih sütunu içeren bir tablo döndürür ve tarihler, zaman içinde bir dizi aralıkta ileri veya geri kaydırılır.

Batı bölgesinde bir önceki yılın satışlarını hesaplamak için aşağıdaki hesaplanan alanı oluşturabilirsiniz -

Previous Year Sales: = CALCULATE ( 
   SUM (West_Sales[SalesAmount]), PARALLELPERIOD (DateTime[DateKey],-1,year)
)

Çalışan Toplamların Hesaplanması

Çalışan toplamları veya hareketli toplamları hesaplamak için aşağıdaki DAX zaman gösterimi işlevlerini kullanabilirsiniz.

  • TOTALMTD (<expression>,<dates>, [<filter>]) - Geçerli bağlamda aydan bugüne ifadenin değerini değerlendirir.

  • TOTALQTD (<expression>,<dates>, <filter>]) - Geçerli bağlamda, çeyrekten bugüne kadarki tarihler için ifadenin değerini değerlendirir.

  • TOTALYTD (<expression>,<dates>, [<filter>], [<year_end_date>]) - Geçerli bağlamda ifadenin yıl başından bugüne değerini değerlendirir.

DAX işlevlerini kullanarak, Batı bölgesinde belirtilen dönemlerde geçerli satış toplamını hesaplamak için aşağıdaki hesaplanan alanları oluşturabilirsiniz -

Aylık Devam Eden Toplam: = TOTALMTD (SUM (West_Sales [SalesAmount]), DateTime [DateKey])

Çeyrek Devam Eden Toplam: = TOTALQTD (SUM (WestSales [SalesAmount]), DateTime [DateKey])

Yıl Değişen Toplam: = TOTALYTD (SUM (WestSales [SalesAmount]), DateTime [DateKey])

Özel Bir Tarih Aralığı Üzerinden Değer Hesaplama

DAX zaman gösterimi işlevlerini, zaman dilimlerinde özel toplamalar oluşturmak için hesaplamalar yapan bir DAX işlevine girdi olarak kullanabileceğiniz özel bir tarih kümesi almak için kullanabilirsiniz.

DATESINPERIOD (<dates>, <start_date>, <number_of_intervals>, <interval>) - Başlangıç_tarihi ile başlayan ve belirtilen aralık_sayısı kadar devam eden bir tarih sütunu içeren bir tablo döndürür.

DATESBETWEEN (<dates>, <start_date>, ) - Başlangıç_tarihi ile başlayan ve bitiş_tarihine kadar devam eden bir tarih sütunu içeren bir tablo döndürür.

DATEADD (<dates>,<number_of_intervals>,<interval>) - Geçerli bağlamdaki tarihlerden belirtilen aralık sayısı kadar zamanda ileri veya geri kaydırılmış bir tarih sütunu içeren bir tablo döndürür.

FIRSTDATE (<dates>) - Belirtilen tarih sütunu için geçerli bağlamdaki ilk tarihi döndürür.

LASTDATE (<dates>) - Belirtilen tarih sütunu için geçerli bağlamdaki son tarihi döndürür.

DAX işlevlerini kullanarak, belirli bir tarih aralığında Batı bölgesindeki satışların toplamını hesaplamak için aşağıdaki DAX formüllerini oluşturabilirsiniz -

  • DAX Formula, 17 Temmuz 2016'dan önceki 15 gün için satışları hesaplamak için.

CALCULATE ( 
   SUM (WestSales[SalesAmount]), DATESINPERIOD (DateTime[DateKey], DATE(2016,17,14), -15, day)
)
  • 2016'nın ilk çeyreği satışlarını hesaplayan bir hesaplanan alan oluşturmak için DAX Formülü.

= CALCULATE (
   SUM (WestSales[SalesAmount]),DATESBETWEEN (DateTime[DateKey], DATE (2016,1,1), DATE (2016,3,31))
)
  • Geçerli bağlam için Batı bölgesinde bir satış yapıldığında ilk tarihi alan bir hesaplanan alan oluşturmak için DAX Formülü.

= FIRSTDATE (WestSales [SaleDateKey])
  • Geçerli bağlam için Batı bölgesinde bir satış yapıldığında son tarihi alan hesaplanan bir alan oluşturmak için DAX Formülü.

= LASTDATE (WestSales [SaleDateKey])
  • Geçerli bağlamdaki tarihlerden bir yıl önce olan tarihleri ​​hesaplamak için DAX Formülü.

= DATEADD (DateTime[DateKey],-1,year)