Aracılığıyla paylaş


PowerPivot İçin DAX İşleç Başvurusu

Veri Çözümleme İfadesi (DAX) dili, değerleri karşılaştıran, aritmetik hesaplamalar gerçekleştiren veya dizelerle çalışan ifadeler oluşturmak için işleçler kullanır. Aşağıdaki bölümde, her işlecin kullanımı açıklanmaktadır.

İşleç Türleri

Dört farklı tür hesaplama işleci vardır: aritmetik, karşılaştırma, metin birleştirme ve mantıksal.

Aritmetik İşleçler

Toplama, çıkarma, çarpma gibi temel matematik işlemleri yapmak, sayıları birleştirmek ve sayısal sonuçlar elde etmek için aşağıdaki aritmetik işleçleri kullanın.

Aritmetik işleç

Anlamı

Örnek

+ (artı işareti)

Toplama

3+3

– (eksi işareti)

Çıkarma veya işaret

3–1–1

* (yıldız)

Çarpma

3*3

/ (eğik çizgi)

Bölme

3/3

^ (düzeltme işareti)

Üsle Gösterme

16^4

[!NOT]

Artı işareti hem ikili işleç hem de birli işleç işlevi görebilir. İkili işleç, işlecin her iki yanında sayı olmasını gerektirir ve toplama yapar. Bir DAX formülünde ikili işlecin her iki yanında değer kullanırsanız ve bu değerler sayısal değilse, DAX, değerleri sayısal veri türlerine çevirmeye çalışır. Bunun tersine, birli işleç herhangi bir bağımsız değişken türüne uygulanabilir. Artı simgesi değişkenin türünü veya değerini etkilemez ve yok sayılır; oysa eksi işleci bir sayısal değere uygulandığında negatif bir değer oluşturur.

Karşılaştırma İşleçleri

Aşağıdaki işleçlerle iki değeri karşılaştırabilirsiniz. Bu işleçler kullanılarak iki değer karışlaştırıldığında, sonuç TRUE veya FALSE mantıksal değerinden biri olur.

Karşılaştırma işleci

Anlamı

Örnek

=

Eşittir

[Bölge] = "ABD"

>

Büyüktür

[Satış Tarihi] > "Ocak 2009"

<

Küçüktür

[Satış Tarihi] < "1 Ocak 2009"

>=

Büyüktür veya eşittir

[Tutar] >= 20000

<=

Küçüktür veya eşittir

[Tutar] <= 100

<>

Eşit değildir

[Bölge] <> "ABD"

Metin Birleştirme İşleci

İki veya daha fazla metin dizesini tek bir metin elde etmek üzere birleştirmek için ve işareti (&) kullanın.

Metin işleci

Anlamı

Örnek

& (ve işareti)

Tek bir sürekli metin değeri oluşturmak için iki değeri bağlar veya birleştirir

[Bölge] & ", " & [Şehir]

Mantıksal İşleçler

Tek bir sonuç oluşturmak için ifadeleri birleştirmek üzere (&&) ve (||) mantıksal işleçlerini kullanın.

Metin işleci

Anlamı

Örnekler

&& (çift ve işareti)

Her birinde bir Boole sonucu olan iki ifade arasında bir AND koşulu oluşturur. Her iki ifade de DOĞRU değeri döndürüyorsa, ifadelerin birleşimi de DOĞRU değeri döndürür; tersi durumda birleşim YANLIŞ değeri döndürür.

([Bölge] = "Fransa") && ([BikeBuyer] = "evet"))

|| (çift çubuk simgesi)

İki mantıksal ifade arasında bir VEYA koşulu oluşturur. İfadelerden biri DOĞRU değeri döndürüyorsa, sonuç DOĞRU olur; yalnızca her iki ifade de YANLIŞ ise, sonuç YANLIŞ olur.

(([Bölge] = "Fransa") || ([BikeBuyer] = "evet"))

İşleçler ve Öncelik Sırası

Bazı durumlarda, hesaplamanın gerçekleştirildiği sıra döndürülen değeri etkileyebilir; bu nedenle sıranın nasıl belirlendiğini ve istenen sonuçları elde etmek için nasıl değiştirebileceğinizi anlamanız önemlidir.

Hesaplama Sırası

Bir ifade işleçleri ve değerleri belirli bir sırada değerlendirir. Tüm ifadeler eşittir işaretiyle (=) başlar. Eşittir işareti, ardından gelen karakterlerin bir ifade oluşturduğunu gösterir.

Eşittir işaretinden sonra, hesaplama işleçleriyle ayrılmış olan hesaplanacak öğeler (işlenenler) bulunur. İfadeler her zaman soldan sağa doğru okunur, ancak parantez kullanarak, öğelerin gruplandırılma sırası bir dereceye kadar denetlenebilir.

Öncelik Sırası

Birkaç işleci tek bir formülde birleştirirseniz, işleçler aşağıdaki tabloya göre sıralanır. İşleçler eşit öncelik değerine sahipse, soldan sağa doğru sıralanır. Örneğin, bir ifadede hem çarpma hem bölme işleci varsa, bu işleçler ifadede kullanıldıkları sırayla, soldan sağa doğru değerlendirilir.

İşleç

Açıklama

^

Üsle Gösterme

İşaret (–1 gibi)

* ve /

Çarpma ve bölme

!

DEĞİL (birli işleç)

+ ve –

Toplama ve çıkarma

&

İki metin dizesini bağlar (birleştirme)

=< ><=>=<>

Karşılaştırma

Hesaplama Sırasını Denetlemek için Ayraç Kullanma

Değerlendirmenin sırasını değiştirmek için formülün öncelikle hesaplanması gereken bölümünü ayraç içine almanız gerekir. Örneğin, çarpma işlemi toplamadan önce hesaplandığından aşağıdaki formül 11 değerini verir. Formül 2 ile 3'ü çarpar ve sonra sonuca 5 ekler.

=5+2*3

Bunun tersine, sözdizimini değiştirmek için ayraç kullanırsanız, sıra değişerek 5 ile 2 toplanır ve sonuç 3 ile çarpılarak 21 değerini verir.

=(5+2)*3

Aşağıdaki örnekte, formülün birinci bölümünü içine alan ayraçlar, hesaplamayı öncelikle (3 + 0.25) ifadesini değerlendirmeye ve sonra sonucu 3 - 0.25) ifadesinin sonucuna bölmeye zorlar.

=(3 + 0.25)/(3 - 0.25)

Aşağıdaki örnekte, işleçlerin önceliği kurallarına uygun şekilde önce üs işleci, sonra da işaret işleci uygulanmıştır. Bu ifadenin değeri -4'tür.

=-2^2

Sayısal değere önce işaret işlecinin uygulanacağından emin olmak için, aşağıdaki örnekte gösterildiği gibi parantezler kullanarak işleçleri denetleyebilirsiniz. Bu ifadenin değeri 4'tür.

= (-2)^2

Uyumluluk Notları

DAX, Microsoft Excel gibi, çeşitli veri türlerini kolay bir şekilde işler ve karşılaştırır. Ancak temeldeki hesaplama altyapısı SQL Server Analysis Services'e dayanır ve ilişkisel veri deposunun, tarih ve saat türlerine yönelik daha kapsamlı desteği de içeren ek gelişmiş özellikler sağlar. Bu nedenle bazı durumlarda, hesaplamaların sonuçları veya işlevlerin davranışı Excel'dekiyle aynı olmayabilir. Buna ek olarak DAX, Excel'den daha fazla veri türünü destekler. Bu bölümde, önemli farklar anlatılmıştır.

İşlenenlerdeki Veri Türlerini Zorlama

Genelde bir işlecin sol ve sağ tarafında bulunan iki işlenenin aynı veri türünde olması gerekir. Ancak veri türleri farklıysa, DAX, karşılaştırma için bunları ortak bir veri türüne dönüştürür:

  1. Önce, her iki işlenen de olası en büyük ortak veri türüne dönüştürülür.

  2. Sonra işlenenler karşılaştırılır.

Örneğin, birleştirmek istediğiniz iki sayı olduğunu varsayın. Bir sayı, =[Price] * .20 gibi bir formülün sonucudur ve sonuç çok sayıda ondalık basamak içerebilir. Diğer sayı, dize değeri olarak sağlanmış bir tamsayıdır.

Bu durumda DAX, her iki sayı türünü içerebilecek en büyük sayısal biçimi kullanarak, sayıların ikisini de gerçek sayılara dönüştürecektir. Ardından DAX değerleri karşılaştıracaktır.

Bunun aksine Excel, öncelikle sayıları ortak bir türe dönüştürmeye zorlamadan farklı türleri karşılaştırmaya çalışır. Bu nedenle, aynı karşılaştırma ifadesi için DAX'ta Excel'den farklı sonuçlar görebilirsiniz.

DAX'ta Kullanılan Veri Türleri

Excel'de Kullanılan Veri Türleri

Sayılar (I8, R8)

Boole

Dize

DateTime

Para Birimi

Sayılar (R8)

Boole

Dize

Değişken

Para Birimi

Örtük veri türü dönüştürme hakkında daha fazla bilgi için bkz. PowerPivot Çalışma Kitaplarında Desteklenen Veri Türleri.

Öncelik Sırasındaki Farklılıklar

DAX formüllerindeki öncelik sırası temelde Microsoft Excel tarafından kullanılan öncelik sırasıyla aynıdır, ancak yüzde gibi bazı Excel işleçleri desteklenmez. Ayrıca aralıklar da desteklenmez.

Bu nedenle Excel'den formül kopyalayıp yapıştırırken, formüllerdeki bazı işleçler veya öğeler geçerli olmayabileceğinden formülü dikkatle gözden geçirdiğinizden emin olun. İşlemlerin gerçekleştirileceği sıra hakkında şüpheniz varsa, işlemlerin sırasını denetlemek için parantez kullanmanızı ve sonucun belirsizliğini ortadan kaldırmanızı öneririz.

Ayrıca bkz.

Kavramlar

PowerPivot İçin DAX Sözdizimi Belirtimi

Veri Çözümleme İfadelerine (DAX) Genel Bakış