Veri Çözümleme İfadeleri (DAX), zaman içinde verileri toplamak ve karşılaştırmak için özel olarak 35 işleve sahiptir. DAX'ın tarih ve saat işlevlerinden farklı olarak, Akıllı zaman gösterimi işlevlerinin Excel'de benzer bir işlevi yoktur. Bunun nedeni, akıllı zaman gösterimi işlevlerinin PivotTable'larda ve Power View görselleştirmelerinde seçtiğiniz bağlama bağlı olarak sürekli değişen verilerle çalışmasıdır.
Akıllı zaman gösterimi işlevleriyle çalışabilmek için, Veri Modelinize bir tarih tablosu eklemeniz gerekir. Tarih tablosunda, verilerinize yılın her günü için bir satır eklenmiş bir sütun bulunmalıdır. Bu sütun Tarih sütunu olarak kabul edilir (yine de istediğiniz bir adla da adlandırılabilir). Birçok akıllı zaman gösterimi işlevi, raporda alan olarak seçtiğiniz tarihlere göre hesaplama yapmak için tarih sütunu gerektirir. Örneğin, CLOSINGBALANCEQTR işlevini kullanarak kapanış çeyrek sonu bakiyesini hesaplayan bir ölçünüz varsa, Power Pivot'un gerçekte ne zaman çeyrek bittiğini bilmesi için, tarih tablosundaki tarih sütununa başvurarak üç aylık dönemin ne zaman başladığını ve ne zaman bittiğini bilmesi gerekir. Tarih tabloları hakkında daha fazla bilgi edinmek için, Excel'de Power Pivot'ta tarih tablolarını anlama ve oluşturma konusunu gözden geçirin.
İşlevler
Tek bir tarih döndüren işlevler
Bu kategorideki işlevler tek bir tarih döndürür. Sonuç daha sonra diğer işlevler için bağımsız değişken olarak kullanılabilir.
Bu kategorideki ilk iki işlev, geçerli bağlamdaki Date_Column ilk veya son tarihi döndürür. Bu, belirli bir türdeki işlemin gerçekleştiği ilk veya son tarihi bulmak istediğinizde yararlı olabilir. Bu işlevler yalnızca bir bağımsız değişken alır: tarih tablonuzdaki tarih sütununun adı.
Bu kategorideki sonraki iki işlev, ifadede boş olmayan değer bulunan ilk veya son tarihi (veya başka herhangi bir sütun değerini de) bulur. Bu genellikle envanter gibi son envanter miktarını almak istediğiniz ve son envanterin ne zaman alındığını bilmediğiniz durumlarda kullanılır.
- FIRSTNONBLANK (Date_Column, ifade)
- LASTNONBLANK (Date_Column, ifade)
Tek bir tarih döndüren altı işlev daha, hesaplamanın geçerli bağlamında bir ayın, üç aylık dönemin veya yılın ilk veya son tarihini döndüren işlevlerdir.
- AYINBAŞLANGICI (Date_Column)
- STARTOFQUARTER (Date_Column)
- STARTOFYEAR (Date_Column [,YE_Date])
- ENDOFMONTH (Date_Column)
- ÇEYREK SONU (Date_Column)
- ENDOFYEAR (Date_Column [,YE_Date])
Tarih tablosu döndüren işlevler
Bir tarih tablosu döndüren on altı akıllı zaman gösterimi işlevi vardır. Çoğunlukla, bu işlevler CALCULATE işlevine SetFilter bağımsız değişkeni olarak kullanılır. DAX'taki tüm akıllı zaman gösterimi işlevlerinde olduğu gibi, her işlev bağımsız değişkenlerinden biri olarak bir tarih sütunu alır.
Bu kategorideki ilk sekiz işlev, geçerli bağlamda bir tarih sütunuyla başlar. Örneğin, PivotTable'da bir ölçü kullanılıyorsa, sütun etiketlerinde veya satır etiketlerinde ay veya yıl olabilir. Bunun net etkisi, tarih sütununa yalnızca geçerli bağlamın tarihlerini içerecek şekilde filtre uygulanmasıdır. Bu sekiz işlev, bu geçerli bağlamdan başlayarak önceki (veya sonraki) günü, ayı, üç ayı veya yılı hesaplar ve bu tarihleri tek sütunlu tablo biçiminde döndürür. "Önceki" işlevleri geçerli bağlamdaki ilk tarihten geriye doğru çalışır ve "sonraki" işlevleri geçerli bağlamdaki son tarihten ileriye doğru gider.
- ÖNCEKI GÜN (Date_Column)
- ÖNCEKIAY (Date_Column)
- PREVIOUSQUARTER (Date_Column)
- PREVIOUSYEAR (Date_Column [,YE_Date])
- ERTESI GÜN (Date_Column)
- NEXTMONTH (Date_Column)
- SONRAKI ÇEYREK (Date_Column)
- NEXTYEAR (Date_Column [,YE_Date])
Bu kategorideki sonraki dört işlev birbirine benzer, ama önceki (veya sonraki) bir dönemi hesaplamak yerine, "ay başından bugüne kadar" (veya üç aylık dönemden bugüne kadar olan veya yılbaşından bugüne kadarki veya bir önceki yılın aynı döneminde) olan dönemin tarih kümesini hesaplarlar. Tüm bu işlevler, geçerli bağlamdaki son tarihi kullanarak hesaplamalarını gerçekleştirir. SAMEPERIODLASTYEAR için geçerli bağlamın bitişik bir tarih kümesi içerdiğini unutmayın. Geçerli bağlam bitişik bir tarih kümesi değilse, SAMEPERIODLASTYEAR bir hata döndürür.
- TARİHÖDEME (Date_Column)
- DATESQTD (Date_Column)
- DATESYTD (Date_Column [,YE_Date])
- SAMEPERIODLASTYEAR (Date_Column)
Bu kategorideki son dört işlev biraz daha karmaşık ve aynı zamanda biraz daha güçlüdür. Bu işlevler, geçerli bağlamda yer alan tarih kümesinden yeni tarih kümesine geçmek için kullanılır.
- DATEADD (Date_Column, Number_of_Intervals, Interval)
- DATESBETWEEN (Date_Column, Start_Date, End_Date)
- DATESINPERIOD (Date_Column, Start_Date, Number_of_Intervals, Aralık)
- PARALLELPERIOD (Date_Column, Number_of_Intervals, Interval)
DATESBETWEEN işlevi belirtilen başlangıç tarihi ile bitiş tarihi arasındaki tarih kümesini hesaplar. Geri kalan üç işlev, geçerli bağlamdan belirli sayıda zaman aralığı kaydırır. Aralık gün, ay, üç ay veya yıl olabilir. Bu işlevler, aşağıdakilerden herhangi biriyle hesaplamanın zaman aralığını değiştirmeyi kolaylaştırır:
- Geri dön iki yıl
- Geri dön Geri dön bir ay
- Dörtte üç ileri gitme
- Geri dön 14 gün
- 28 gün ileri gitme
Her durumda, yalnızca hangi aralığın ve bu aralıklardan kaçının kaydırılacağını belirtmeniz gerekir. Pozitif bir aralık zamanda ileri doğru hareket ederken, negatif bir aralık zamanda geri gider. Aralığın kendisi DAY, MONTH, QUARTER veya YEAR anahtar sözcüğüyle belirtilir. Bu anahtar sözcükler dize olmadığından tırnak içinde olmamalıdırlar.
Bir zaman aralığındaki ifadeleri değerlendiren işlevler
Bu işlev kategorisi, bir ifadeyi belirtilen bir süre boyunca değerlendirir. CALCULATE işlevini ve diğer akıllı zaman gösterimi işlevlerini kullanarak da aynı işlemi gerçekleştirebilirsiniz. Örneğin,
= TOTALMTD (ifade, Date_Column [, SetFilter])
şununla tamamen aynıdır:
= CALCULATE (Expression, DATESMTD (Date_Column)[, SetFilter])
Bununla birlikte, çözülmesi gereken soruna uygun olduklarında bu akıllı zaman gösterimi işlevlerini kullanmak daha kolaydır:
- TOTALMTD (ifade, Date_Column [, SetFilter])
- TOTALQTD (İfade, Date_Column [, SetFilter])
- TOTALYTD (İfade, Date_Column [, SetFilter] [,YE_Date]) *
Ayrıca bu kategoride, açılış ve kapanış bakiyelerini hesaplayan bir grup fonksiyon bulunmaktadır. Bu belirli işlevlerle anlamanız gereken belirli kavramlar vardır. İlk olarak, açıkça düşündüğünüz gibi, herhangi bir dönem için açılış bakiyesi, önceki dönemin kapanış bakiyesi ile aynıdır. Kapanış bakiyesi, dönem sonuna kadar olan tüm verileri içerirken, açılış bakiyesi cari dönem içindeki verileri içermez.
Bu işlevler her zaman belirli bir zaman noktası için hesaplanan bir ifadenin değerini döndürür. Önemsediğimiz zaman noktası, her zaman bir takvim dönemindeki mümkün olan en son tarih değeridir. Açılış bakiyesi önceki dönemin son tarihini, kapanış bakiyesi ise cari dönemdeki son tarihi temel alır. Geçerli dönem her zaman geçerli tarih bağlamındaki son tarihe göre belirlenir.
- OPENINGBALANCEMONTH (İfade, Date_Column [,SetFilter])
- AÇILIŞ BAKIYESI ÇEYREĞI Çeyrek (ifade, Date_Column [,SetFilter])
- OPENINGBALANCEYEAR (İfade, Date_Column [,SetFilter] [,YE_Date])
- CLOSINGBALANCEMONTH (ifade, Date_Column [,SetFilter])
- CLOSINGBALANCEQUARTER (İfade, Date_Column [,SetFilter])
- CLOSINGBALANCEYEAR (İfade, Date_Column [,SetFilter] [,YE_Date])
Ek kaynaklar
Makaleler: Excel'de Power Pivot'taki tarih tablolarını anlama ve oluşturma
Başvuru: Office.com'da DAX İşlev Başvurusu
Örnekler: Excel'de Microsoft PowerPivot ile Kar ve Zarar Veri Modellemesi ve Çözümlemesi