Excel DAX - İşlevler

Çoğu DAX functionsExcel işlevleriyle aynı adlara ve işlevlere sahiptir. Ancak DAX işlevleri, DAX veri türlerini kullanacak ve tablolar ve sütunlarla çalışacak şekilde değiştirilmiştir.

DAX, Excel'de bulamayacağınız bazı ek işlevlere sahiptir. Bu DAX işlevleri, Veri Modelinin ilişkisel veritabanı yönleriyle ilişkili ilişkilere dayalı aramalar, yinelemeli hesaplamalar yapmak için bir tablo üzerinde yineleme yeteneği, dinamik toplama gerçekleştirme ve zaman bilgisini kullanan hesaplamalar gibi belirli amaçlar için sağlanır.

Bu bölümde, DAX dilinde desteklenen işlevler hakkında bilgi edineceksiniz. Bu DAX işlevlerinin kullanımı hakkında daha fazla bilgi için bu öğretici kitaplığındaki eğitici - DAX İşlevleri bölümüne bakın.

DAX İşlevi nedir?

DAX işlevi, Veri Modelinizdeki tablolarda bulunan veriler üzerinde çeşitli eylemler gerçekleştirmenizi sağlamak için DAX dilinde sağlanan yerleşik bir işlevdir. Daha önce tartışıldığı gibi DAX, verilerden içgörüler çıkarmak, özümlemek ve türetmek için destek gerektiren veri analizi ve iş zekası amaçları için kullanılır. Veri Modelini temel alan DAX işlevleri, DAX dilini ve DAX işlevlerinin kullanımını kavradığınızda işinizi kolaylaştıran bu yardımcı programları sağlar.

Excel İşlevleri ve DAX İşlevleri

Bildiğiniz Excel işlevleri ile DAX işlevleri arasında belirli benzerlikler vardır. Ancak bazı farklılıklar da var. DAX işlevlerinin kullanımında ve DAX işlevlerini içeren DAX formüllerini yazarken hata yapmaktan kaçınmak için bunlara açıklık getirmeniz gerekir.

Excel İşlevleri ve DAX İşlevleri arasındaki benzerlikler

  • Çoğu DAX işlevi, Excel işlevleriyle aynı ada ve aynı genel davranışa sahiptir.

  • DAX, Excel'deki dizi ve vektör arama işlevlerine benzer arama işlevlerine sahiptir.

Excel İşlevleri ile DAX İşlevleri arasındaki farklar

  • DAX işlevleri, farklı türde girdiler alacak şekilde değiştirilmiştir ve DAX işlevlerinden bazıları farklı bir veri türü döndürebilir. Bu nedenle, aynı ada sahip olmalarına rağmen bu işlevlerin kullanımını ayrı ayrı anlamanız gerekir. Bu öğreticide, Excel işlevleriyle karışıklığı önlemek için her DAX işlevinin başına DAX olduğunu göreceksiniz.

  • DAX işlevlerini bir Excel formülünde kullanamazsınız veya DAX'ta Excel formüllerini / işlevlerini gerekli değişiklikler olmadan kullanamazsınız.

  • Excel işlevleri, referans olarak bir hücre başvurusunu veya bir hücre aralığını alır. DAX işlevleri hiçbir zaman bir hücre başvurusunu veya bir hücre aralığını başvuru olarak almaz, bunun yerine başvuru olarak bir sütun veya tabloyu alır.

  • Excel tarih ve saat işlevleri, tarihi seri numarası olarak temsil eden bir tamsayı döndürür. DAX tarih ve saat işlevleri, DAX'ta olan ancak Excel'de olmayan bir tarih saat veri türü döndürür.

  • Excel'de tablo döndüren işlevler yoktur, ancak bazı işlevler dizilerle çalışabilir. DAX işlevlerinin çoğu, hesaplamaları gerçekleştirmek ve bir tablo veya değerler sütunu döndürmek için eksiksiz tablolara ve sütunlara kolayca başvurabilir. DAX'ın bu yeteneği, DAX'ın kullanıldığı Power Pivot, Power View ve Power BI'a güç ekler.

  • DAX arama işlevleri, tablolar arasında bir ilişki kurulmasını gerektirir.

  • Excel, bir veri sütunundaki değişken veri türünü destekler, yani bir sütunda farklı veri türlerine ait verilere sahip olabilirsiniz. Oysa DAX, bir tablonun sütunundaki verilerin her zaman aynı veri türünde olmasını bekler. Veriler aynı veri türünde değilse, DAX sütunun tamamını, sütundaki tüm değerleri en iyi karşılayan veri türüne değiştirir. Ancak, veriler içe aktarılırsa ve bu sorun ortaya çıkarsa, DAX bir hatayı işaretleyebilir.

DAX veri türleri ve veri türü atama hakkında bilgi edinmek için DAX Söz Dizimi Referansı bölümüne bakın.

DAX İşlev Türleri

DAX, aşağıdaki işlev türlerini destekler.

  • DAX Tablosu Değerli İşlevler
    • DAX Filtresi İşlevleri
    • DAX Toplama İşlevleri
    • DAX Time Intelligence İşlevleri
  • DAX Tarih ve Saat İşlevleri
  • DAX Bilgi İşlevleri
  • DAX Mantıksal İşlevleri
  • DAX Matematik ve Tetikleme İşlevleri
  • DAX Diğer İşlevler
  • DAX Üst ve Alt İşlevleri
  • DAX İstatistik İşlevleri
  • DAX Metin İşlevleri

Bu bölümde, işlevler kategorisi düzeyinde DAX işlevleri hakkında bilgi edineceksiniz. DAX İşlevi Sözdizimi ve DAX işlevinin ne döndürdüğü ve ne yaptığı hakkında ayrıntılar için bu eğitici kitaplığındaki DAX İşlevleri öğreticisine bakın.

DAX zaman gösterimi işlevleri ve DAX filtre işlevleri güçlüdür ve özel olarak bahsedilmesi gerekir. Ayrıntılar için DAX Time Intelligence ve DAX Filter Fonksiyonlarını Anlama bölümlerine bakın.

DAX Tablosu Değerli İşlevler

Çoğu DAX işlevi, tabloları giriş veya çıkış tabloları olarak alır veya her ikisini birden yapar. Bu DAX işlevlerine DAX tablosu değerli işlevler denir. Bir tablonun tek bir sütunu olabileceğinden, DAX tablo değerli işlevler de giriş olarak tek sütunları alır. Aşağıdaki DAX tablosu değerli işlev türlerine sahipsiniz -

  • DAX Toplama işlevleri
  • DAX Filtresi işlevleri
  • DAX Zaman bilgisi işlevleri

DAX tablosu değerli işlevleri anlamak, DAX formüllerini etkili bir şekilde yazmanıza yardımcı olur.

DAX Toplama İşlevleri

DAX Toplama işlevleri, bir tablonun satırları üzerindeki herhangi bir ifadeyi toplar ve hesaplamalarda kullanışlıdır.

Aşağıda bazı DAX Toplama işlevleri verilmiştir -

  • ADDCOLUMNS (<tablo>, <ad>, <ifade>, [<ad>, <ifade>]…)

  • ORTALAMA (<sütun>)

  • AVERAGEA (<sütun>)

  • AVERAGEX (<tablo>, <ifade>)

  • COUNT (<sütun>)

  • COUNTA (<column>)

  • COUNTAX (<tablo>, <ifade>)

  • COUNTBLANK (<sütun>)

  • COUNTROWS (<tablo>)

  • COUNTX (<tablo>, <ifade>)

  • CROSSJOIN (<table1>, <table2>, [<table3>]…)

  • DISTINCTCOUNT (<sütun>)

  • OLUŞTUR (<tablo1>, <tablo2>)

  • GENERATEALL (<table1>, <table2>)

  • MAKS (<sütun>)

  • MAXA (<sütun>)

  • MAXX (<tablo>, <ifade>)

  • MIN (<sütun>)

  • MINA (<column>)

  • MINX (<tablo>, <ifade>)

  • PRODUCT (<sütun>)

  • PRODUCTX (<tablo>, <ifade>)

  • SATIR (<ad>, <ifade>, [<ad>, <ifade>]…)

  • SELECTCOLUMNS (<table>, <name>, <scalar_expression>,

  • [<ad>, <skalar_ifade>]…)

  • TOPLA (<sütun>)

  • SUMMARIZE (<table>, <groupBy_columnName>, [<groupBy_columnName>]…, [<name>, <ifade>]…)

  • SUMX (<tablo>, <ifade>)

  • TOPN (<n_value>, <table>, <orderBy_expression>, [<order>], [<orderBy_expression>, [<order>]]…)

DAX Filtresi İşlevleri

DAX Filtresi işlevleri bir sütun, bir tablo veya geçerli satırla ilgili değerler döndürür. Belirli veri türlerini döndürmek, ilgili tablolardaki değerleri aramak ve ilgili değerlere göre filtrelemek için DAX Filtresi işlevlerini kullanabilirsiniz. DAX Arama işlevleri, tabloları ve aralarındaki ilişkileri kullanarak çalışır. DAX Filtresi işlevleri, dinamik hesaplamalar oluşturmak için veri bağlamını değiştirmenize olanak tanır.

Aşağıda bazı DAX Filtresi işlevleri verilmiştir -

  • ADDMISSINGITEMS (<showAllColumn>, [<showAllColumn>]…, <table>, <groupingColumn>, [<groupingColumn>]… [filterTable]…)

  • TÜM ({<tablo> | <sütun>, [<sütun>], [<sütun>]…})

  • ALLEXCEPT (<table>, <column>, [<column>]…)

  • ALLNOBLANKROW(<table>|<column>)

  • HEPSİ SEÇİLDİ ([<tabloAdı> | <sütunAdı>])

  • HESAPLA (<ifade>, <filtre1>, <filtre2>…)

  • HESAPLANABİLİR (<ifade>, <filtre1>, <filtre2>…)

  • ÇAPRAZ FİLTRE (<sütunAdı1>, <sütunAdı2>, <yön>)

  • DISTINCT (<sütun>)

  • EARLIER (<sütun>; <sayı>)

  • EARLIEST(<column>)

  • FILTER(<table>,<filter>)

  • FILTERS(<columnName>)

  • HASONEFILTER(<columnName>)

  • HASONEVALUE(<columnName>)

  • ISCROSSFILTERED (<columnName>)

  • ISFILTERED (<columnName>)

  • KEEPFILTERS (<ifade>)

  • RELATED(<column>)

  • RELATEDTABLE(<tableName>)

  • SUBSTITUTEWITHINDEX (<table>, <indexColumnName>, <indexColumnsTable>, <orderBy_expression>, [<order>], [<orderBy_expression>, [<order>]]…])

  • USERELATIONSHIP(<columnName1>,<columnName2>)

  • VALUES(<TableNameOrColumnName>)

DAX Time Intelligence İşlevleri

DAX Time Intelligence işlevleri bir tarih tablosu döndürür veya bir toplamayı hesaplamak için bir tarih tablosu kullanır. Bu DAX işlevleri, günler, aylar, üç aylık dönemler ve yıllar dahil olmak üzere zaman dönemlerini kullanarak verileri değiştirmenize olanak sağlayarak İş Zekası analizinin ihtiyaçlarını destekleyen hesaplamalar oluşturmanıza yardımcı olur.

Aşağıda bazı DAX Time Intelligence işlevleri verilmiştir -

  • CLOSINGBALANCEMONTH (<ifade>, <tarihler> [, <filter>])

  • CLOSINGBALANCEQUARTER (<ifade>, <tarihler>, [<filter>])

  • CLOSINGBALANCEYEAR (<ifade>, <tarihler>, [<filter>], [<year_end_date>])

  • DATEADD (<tarihler>, <aralık_sayısı>, <aralık>)

  • DATESBETWEEN (<tarihler>, <başlangıç_tarihi>, <bitiş_tarihi>)

  • DATESINPERIOD (<tarih>, <başlangıç_tarihi>, <aralık_sayısı>, <aralık>)

  • DATESMTD (<tarihler>)

  • DATESQTD (<tarihler>)

  • DATESYTD (<tarih>; [<yıl_son_tarihi>])

  • ENDOFMONTH (<tarihler>)

  • ENDOFQUARTER (<tarihler>)

  • ENDOFYEAR (<tarihler>; [<year_end_date>])

  • FIRSTDATE (<tarihler>)

  • FIRSTNONBLANK (<sütun>, <ifade>)

  • LASTDATE (<tarihler>)

  • LASTNONBLANK (<sütun>, <ifade>)

  • NEXTDAY (<tarihler>)

  • NEXTMONTH (<tarihler>)

  • NEXTQUARTER (<tarihler>)

  • NEXTYEAR (<tarihler>, [<yıl_son_tarihi>])

  • OPENINGBALANCEMONTH (<ifade>, <tarihler>, [<filter>])

  • OPENINGBALANCEQUARTER (<ifade>, <tarihler>, [<filter>])

  • OPENINGBALANCEYEAR (<ifade>, <tarihler>, [<filter>], [<year_end_date>])

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

  • PREVIOUSDAY(<dates>)

  • PREVIOUSMONTH(<dates>)

  • PREVIOUSQUARTER(<dates>)

  • ÖNCEKİ YIL (<tarihler>; [<yıl_son_tarihi>])

  • SAMEPERIODLASTYEAR(<dates>)

  • STARTOFMONTH(<dates>)

  • STARTOFQUARTER(<dates>)

  • STARTOFYEAR(<dates>)

  • TOTALMTD (<ifade>, <tarihler>, [<filter>])

  • TOTALQTD (<ifade>, <tarihler>, [<filter>])

  • TOTALYTD (<ifade>, <tarihler>, [<filtre>], [<yıl_son_tarihi>])

DAX Tarih ve Saat İşlevleri

DAX Tarih ve Saat işlevleri, Excel tarih ve saat işlevlerine benzer. Ancak DAX Tarih ve Saat işlevleri, DAX'ın tarih saat veri türünü temel alır.

Aşağıda DAX Tarih ve Saat işlevleri verilmiştir -

  • TARİH (<yıl>, <ay>, <gün>)
  • DATEVALUE(date_text)
  • DAY(<date>)
  • EDATE (<start_date>, <months>)
  • EOMONTH (<start_date>, <months>)
  • HOUR(<datetime>)
  • MINUTE(<datetime>)
  • MONTH(<datetime>)
  • NOW()
  • SECOND(<time>)
  • TIME (saat, dakika, saniye)
  • TIMEVALUE(time_text)
  • TODAY()
  • WEEKDAY (<tarih>; <return_type>)
  • WEEKNUM (<tarih>; <return_type>)
  • YEAR(<date>)
  • YEARFRAC (<start_date>, <end_date>, <basis>)

DAX Bilgi İşlevleri

DAX Information işlevleri, bağımsız değişken olarak sağlanan hücreye veya satıra bakar ve değerin beklenen türle eşleşip eşleşmediğini size söyler.

Aşağıda bazı DAX Information işlevleri verilmiştir -

  • İÇERİKLER (<tablo>, <sütunAdı>, <değer>, [<sütunAdı>, <değer>]…)

  • CUSTOMDATA()

  • ISBLANK(<value>)

  • ISERROR(<value>)

  • ISEVEN(number)

  • ISLOGICAL(<value>)

  • ISNONTEXT(<value>)

  • ISNUMBER(<value>)

  • ISONORAFTER (<skalar_ifade>, <skalar_ifade>, [sıralama_sırası], [<skalar_ifade>, <skalar_ifade>, [sıralama_sırası]]…)

  • ISTEXT(<value>)

  • LOOKUPVALUE (<sonuç_sütunAdı>, <arama_sütunAdı>, <arama_değer>, [<arama_sütunAdı>, <arama_değeri>]…)

  • USERNAME()

DAX Mantıksal İşlevleri

DAX Mantıksal İşlevler, bir ifadedeki değerler hakkında bilgi verir. Örneğin DAX TRUE işlevi, değerlendirmekte olduğunuz bir ifadenin DOĞRU bir değer döndürüp döndürmediğini bilmenizi sağlar.

Aşağıda DAX Mantıksal işlevleri verilmiştir -

  • AND(<logical1>,<logical2>)
  • FALSE()
  • EĞER (mantıksal_test>, <değer_if_doğru>, yanlışsa_değer)
  • EĞERHATA (değer; hatalıysa_değer)
  • NOT(<logical>)
  • OR(<logical1>,<logical2>)
  • ANAHTAR (<ifade>, <değer>, <sonuç>, [<değer>, <sonuç>]…, [<else>])
  • TRUE()

DAX Matematik ve Tetikleme İşlevleri

DAX Matematiksel ve Trigonometrik işlevler, Excel'in matematiksel ve trigonometrik işlevlerine çok benzer.

Aşağıda bazı DAX Math ve Trig işlevleri verilmiştir -

  • ABS(<number>)
  • ACOS(number)
  • ACOSH(number)
  • ASIN(number)
  • ASINH(number)
  • ATAN(number)
  • ATANH(number)
  • TAVAN (<sayı>; <önemsizlik>)
  • COMBIN (sayı; seçilen_sayı)
  • COMBINA (sayı; seçilen_sayı)
  • COS(number)
  • COSH(number)
  • CURRENCY(<value>)
  • DEGREES(angle)
  • BÖL (<sayı>, <değişken>, [<alternatif sonuç>])
  • EVEN(number)
  • EXP(<number>)
  • FACT(<number>)
  • TABAN (<sayı>, <önemsizlik>)
  • OBEB (sayı1, [sayı2], ...)
  • INT(<number>)
  • ISO.CEILING (<sayı>; [<önemsizlik>])
  • LCM (sayı1, [sayı2], ...)
  • LN(<number>)
  • LOG(<number>,<base>)
  • LOG10(<number>)
  • INT(<number>)
  • MROUND (<sayı>, <çoklu>)
  • ODD(number)
  • PI()
  • GÜÇ (<sayı>, <güç>)
  • PRODUCT(<column>)
  • PRODUCTX (<tablo>, <ifade>)
  • QUOTIENT (<numerator>, <denominator>)
  • RADIANS(angle)
  • RAND()
  • RANDBETWEEN(<bottom>,<top>)
  • YUVARLAK (<sayı>; <sayı_sayılar>)
  • ROUNDDOWN (<sayı>; <sayı_sayılar>)
  • ROUNDUP (<sayı>; <num_digits>)
  • SIN(number)
  • SINH(number)
  • SIGN(<number>)
  • SQRT(<number>)
  • SUM(<column>)
  • SUMX (<tablo>, <ifade>)
  • TAN(number)
  • TANH(number)
  • TRUNC(<number>,<num_digits>)

DAX Diğer İşlevler

Bu DAX işlevleri, diğer işlevlerin çoğunun ait olduğu kategorilerden herhangi biri tarafından tanımlanamayan benzersiz eylemler gerçekleştirir.

Aşağıda bazı DAX Diğer işlevleri verilmiştir -

  • EXCEPT (<table_expression1>, <table_expression2>

  • GROUPBY (<table>, [<groupBy_columnName1>], [<name>, <ifade>]…)

  • INTERSECT (<table_expression1>, <table_expression2>)

  • ISEMPTY(<table_expression>)

  • NATURALINNERJOIN (<leftJoinTable>, <rightJoinTable>)

  • NATURALLEFTOUTERJOIN (<leftJoinTable>, <rightJoinTable>)

  • SUMMARIZECOLUMNS (<groupBy_columnName>, [<groupBy_columnName>]…, [<filterTable>]…, [<name>, <ifade>]…)

  • UNION (<table_expression1>, <table_expression2>, [<table_expression>]…)

  • VAR <ad> = <ifade>

DAX Üst ve Alt İşlevleri

DAX Üst ve Alt işlevleri, Veri Modelinde üst / alt hiyerarşi olarak sunulan verilerin yönetilmesinde yararlıdır.

Aşağıda bazı DAX Üst ve Alt işlevleri verilmiştir -

  • PATH (<ID_columnName>, <parent_columnName>)
  • PATHCONTAINS (<path>; <item>)
  • PATHITEM (<path>, <pozisyon>, [<type>])
  • PATHITEMREVERSE (<path>, <pozisyon>, [<type>])
  • PATHLENGTH(<path>)

DAX İstatistik İşlevleri

DAX İstatistik işlevleri, Excel İstatistik işlevlerine çok benzer.

Aşağıda bazı DAX İstatistik işlevleri verilmiştir -

  • BETA.DAĞ (x, alfa, beta, kümülatif; [A], [B])

  • BETA.INV (olasılık, alfa, beta, [A], [B])

  • KİKARE.TERS (olasılık; serb_derecesi)

  • KİKARE.TERS.SAĞK (olasılık; serb_derecesi)

  • GÜVENİLİRLİK.NORM (alfa, standart_sapma, boyut)

  • GÜVENİLİRLİK.T (alfa, standart_sapma, boyut)

  • VERİLİR (SütunAdı1, VeriTürü1, SütunAdı2, VeriTürü2 ..., {{Değer1, Değer2 ...}, {DeğerN, DeğerN + 1 ...} ...})

  • ÜSTEL.DAĞ (x; lambda; kümülatif)

  • GEOMEAN(<column>)

  • GEOMEANX (<tablo>, <ifade>)

  • MEDIAN(<column>)

  • MEDIANX (<tablo>, <ifade>)

  • YÜZDEBİRLİK.HRC (<sütun>, <k>)

  • YÜZDEBİRLİK.DHL (<sütun>, <k>)

  • PERCENTILEX.EXC (<tablo>, <ifade>, k)

  • PERCENTILEX.EXC (<tablo>, <ifade>, k)

  • POISSON.DAĞ (x, ortalama, kümülatif)

  • RANK.EQ (<value>, <columnName> [, <order>])

  • RANKX (<tablo>, <ifade> [, <değer> [, <sıra> [, <ties>]]])

  • ÖRNEK (<n_value>, <table>, <orderBy_expression>, [<order>], [<orderBy_expression>, [<order>]]…)

  • STDEV.P(<ColumnName>)

  • STDEV.S(<ColumnName>)

  • STDEVX.P (<tablo>, <ifade>)

  • STDEVX.S (<tablo>, <ifade>)

  • SQRTPI(number)

  • VAR.P(<columnName>)

  • VAR.S(<columnName>)

  • VARX.P (<tablo>, <ifade>)

  • VARX.S (<tablo>, <ifade>)

  • XIRR (<tablo>, <değerler>, <tarihler>, [tahmin])

  • XNPV (<tablo>, <değerler>, <tarihler>, <hız>)

DAX Metin İşlevleri

DAX Metin işlevleri tablolar ve sütunlarla çalışır. DAX Metin işlevleriyle, bir dizenin bir kısmını döndürebilir, bir dizede metin arayabilir veya dize değerlerini birleştirebilirsiniz. Tarih, saat ve sayı formatlarını da kontrol edebilirsiniz.

Aşağıda bazı DAX Metin işlevleri verilmiştir -

  • BLANK()
  • CODE(text)
  • BİRLEŞTİR (<met1>, <metin2>)
  • CONCATENATEX (<tablo>, <ifade>, [ayırıcı])
  • EXACT(<text1>,<text2>)
  • BUL (<find_text>, <within_text>, [<start_num>], [<NotFoundValue>])
  • DÜZELTİLDİ (<sayı>, <ondalık>, <virgül yok>)
  • FORMAT (<value>, <format_string>)
  • SOL (<metin>, <num_chars>)
  • LEN(<text>)
  • LOWER(<text>)
  • ORTA (<metin>, <başlangıç_sayısı>, <sayı_karakterleri>)
  • DEĞİŞTİR (<eski_metin>, <başlangıç_sayısı>, <sayı_karakterleri>, <yeni metin>)
  • REPT (<metin>; <num_times>)
  • SAĞ (<text>, <num_chars>)
  • ARA (<find_text>, <within_text>, [<start_num>], [<NotFoundValue>])
  • SUBSTITUTE (<metin>, <eski_metin>, <yeni_metin>, <örnek_sayısı>)
  • TRIM(<text>)
  • ÜST (<metin>)
  • VALUE(<text>)