PowerPivot İçin DAX Sözdizimi Belirtimi
Veri Çözümleme İfadeleri (DAX), Excel için PowerPivot formülleri ve ifadeleri oluşturmak için bir araya getirilebilen işlevler, işleçler ve sabit değerler kitaplığıdır. Bu bölümde, DAX dilinin sözdizimi ve gereksinimleriyle ilgili ayrıntılar sağlanır.
Oluşturabileceğiniz formül türlerine yönelik örnekler, tablolara filtre uygulamak ve bağlamı değiştirmek amacıyla ifadelerin nasıl kullanılabileceği hakkında bilgi için, bkz. Veri Çözümleme İfadelerine (DAX) Genel Bakış. Bu konuda aşağıdaki bölümler bulunur:
Sözdizimi Gereksinimleri
Adlandırma Gereksinimleri
İşlevler
İşleçler ve Sabitler
Veri Türleri
Sözdizimi Gereksinimleri
DAX formülleri Excel tablolarında yazdığınız formüllere çok benzer, ancak bazı temel farklılıkları vardır.
Microsoft Excel'de tek tek hücrelere veya dizilere başvurabilirsiniz; PowerPivot uygulamasında ise yalnızca tabloların tümüne veya veri sütunlarına başvurabilirsiniz. Bununla birlikte, bir sütunun yalnızca bir bölümüyle veya sütundaki benzersiz değerlerle çalışmanız gerekiyorsa, sütuna filtre uygulayan veya benzersiz değerler döndüren DAX işlevleri kullanarak benzer bir davranış elde edebilirsiniz.
DAX formülleri Microsoft Excel ile tamamen aynı veri türlerini desteklemez. Genel olarak, DAX Excel'den daha fazla veri türü sağlar ve DAX alma işlemi sırasında bazı veriler üzerinde örtük tür dönüşümleri gerçekleştirir. Daha fazla bilgi için, bkz. Data Types in DAX.
DAX formülü her zaman eşittir işaretiyle (=) başlar. Eşittir işaretinden sonra, skaler bir sonuç veren herhangi bir ifade veya skalere dönüştürülebilen bir ifade belirtebilirsiniz. Bunlara aşağıdakiler dahildir:
Skaler işleci (+,-,*,/,>=,...,&&, ...) kullanan bir skaler sabit veya ifade.
Sütunlara veya tablolara başvurular. DAX dili işlevler için giriş olarak her zaman tablolar ve sütunlar kullanır, ancak hiçbir zaman dizi veya rastgele değerler kümesi kullanmaz.
İşleçler, sabitler ve değerler ifadenin parçası olarak sağlanır.
İşlevin sonucu ve gereken bağımsız değişkenleri. Bazı DAX işlevleri skaler yerine tablo döndürür ve tabloyu değerlendiren ve skaler döndüren bir işlev içine sarmalanması gerekir (tablo tek bir sütun ve tek bir satırdan oluşuyorsa hariç; tablo o zaman skaler bir değer olarak değerlendirilir).
Çoğu PowerPivot işlevi bir veya daha fazla bağımsız değişken gerektirir; bunlar tablo, sütun, ifade veya değer olabilir. Bununla birlikte PI gibi bazı işlevler bağımsız değişken gerektirmez, ancak null bağımsız değişkenini belirtmek için mutlaka parantez kullanılmasını gerektirir. Örneğin PI değil, her zaman PI() yazarsınız. İşlevleri diğer işlevlerin içine de yerleştirebilirsiniz.
İfadeler. Bir ifade şunlardan herhangi birini veya tümünü içerebilir: işleçler, sabitler veya sütun başvuruları.
Örneğin aşağıdakilerin tümü geçerli formüllerdir.
Formül |
Sonuç |
---|---|
=3 |
3 |
="Satış" |
Satış |
='Satış'[Tutar] |
Bu formülü Sales tablosunda kullanırsanız, Sales tablosunda Amount sütununun geçerli satırdaki değerini alırsınız. |
=(0,03 *[Amount]) =0,03 * [Amount] |
Geçerli tablonun Amount sütunundaki değerin yüzde üçü. Her ne kadar bu formül yüzdeyi hesaplamak için kullanılabiliyor olsa da, siz tabloya biçimlendirme uygulamadığınız sürece sonuç yüzde olarak gösterilmez. |
=PI() |
Pi sabitinin değeri. |
[!NOT]
Formüller hesaplanmış bir sütunda veya PivotTable içindeki bir ölçüde kullanılmalarına bağlı olarak farklı davranır. Bağlama ve formülde kullandığınız verilerin hesaplamada kullanılabilecek diğer verilerle nasıl bir ilişkisi olduğuna her zaman dikkat etmeniz gerekir. Daha fazla bilgi için, bkz. DAX Formüllerinde Bağlam.
Adlandırma Gereksinimleri
PowerPivot penceresinde, her birinin kendi sekmesi olan birden çok tablo olabilir. Tablolar ve bu tabloların sütunları, PowerPivot xVelocity bellek içi analitiği altyapısında (VertiPaq) depolanan bir veritabanı oluşturur. Veritabanındaki her tablonun benzersiz bir adı olması gerekir. Her tablodaki sütunların adları da benzersiz olmalıdır. Nesne adları büyük küçük harf duyarlı değildir; örneğin, SATIŞ ve Satış adları aynı tabloyu gösterir.
Varolan bir PowerPivot veritabanına eklediğiniz her sütunun ve ölçünün belirli bir tabloya ait olması gerekir. Sütunu içeren tabloyu, tabloda hesaplanmış bir sütun oluşturduğunuzda örtük olarak veya ölçü oluşturduğunuzda ve ölçünün adının depolanması gereken tablonun adını belirttiğinizde açık olarak belirtirsiniz.
Bir tabloyu veya sütunu bir işlev için giriş olarak kullandığınızda, genellikle sütun adını nitelendirmeniz gerekir. Sütunun tam adı tablonun adıdır ve bunu köşeli ayraçlar içinde belirtilen sütun adı izler; örneğin, 'U.S. Sales'[Products]. Aşağıdaki bağlamlarda bir sütuna başvururken her zaman tam ad gereklidir:
VALUES işlevine bağımsız değişken olarak
ALL veya ALLEXCEPT işlevine bağımsız değişken olarak
CALCULATE veya CALCULATETABLE işlevlerine filtre bağımsız değişkeni olarak
RELATEDTABLE işlevine bağımsız değişken olarak
Herhangi bir akıllı zaman gösterimi işlevine bağımsız değişken olarak
Nitelenmemiş sütun adı, sütunun ayraç içine alınmış adıdır; örneğin, [Sales Amount]. Örneğin, geçerli tablonun aynı satırında bulunan bir skaler değere başvururken, nitelenmemiş sütun adını kullanabilirsiniz.
Tablonun adında boşluk, ayrılmış anahtar sözcükler veya izin verilmeyen karakterler varsa, tablonun adını tek tırnak işaretleri arasında belirtmeniz gerekir. Ayrıca, ad ANSI alfa sayısal karakter aralığı dışında herhangi bir karakter içeriyorsa, yerel ayarınız karakter kümesini destekliyor olsa bile tablo adlarını tırnak işaretleri içine almanız gerekir. Örneğin, Kiril karakterleriyle yazılan tablo adları (‘Таблица’ gibi) içeren bir çalışma kitabı açarsanız, boşluk içermediği halde tablo adının tırnak işaretleri içine alınması gerekir.
[!NOT]
Sütunların tam adını girmeyi kolaylaştırmak için, istemcideki formül Otomatik Tamamlama özelliğini kullanmanızı öneririz.
Tablolar
Sütun geçerli tablodan farklı bir tabloda olduğunda tablo adları gerekir. Tablo adları veritabanı içinde benzersiz olmalıdır.
Tablo adları boşluk, başka özel karakterler veya İngilizce dışı alfasayısal karakterler içeriyorsa, tek tırnak işaretleri arasına alınmaları gerekir.
Ölçüler
Ölçü adları mutlaka ayraç içine alınmalıdır.
Ölçü adlarında boşluk bulunabilir.
Her ölçü adının veritabanında benzersiz olması gerekir. Bu nedenle varolan bir ölçüye başvururken ölçü adının önünde tablo adının olması isteğe bağlıdır. Ancak ölçü oluştururken, mutlaka ölçü tanımının depolanacağı bir tablo belirtmeniz gerekir.
Sütunlar
Sütun adları tablo bağlamında benzersiz olmalıdır; ancak, birden fazla tablo aynı ada sahip sütun içerebilir (ayrıştırma tablo adıyla sağlanır).
Genel olarak sütunlara, ait oldukları temel tabloya başvuru verilmeden başvuruda bulunulabilir (çözümlenmesi gereken bir ad çakışması veya sütun adlarının tam olmasını gerektiren belirli işlevler hariç).
Ayrılmış Anahtar Sözcükler
Tablo için kullandığınız ad Analysis Services ayrılmış anahtar sözcüklerinden biriyle aynıysa, hata oluşur ve tabloyu yeniden adlandırmanız gerekir. Ancak nesne adı ayraç içine (sütunlar için) veya tırnak işaretleri arasına (tablolar için) alınırsa, nesne adlarında anahtar sözcükler kullanabilirsiniz.
[!NOT]
Tırnak işaretlerinin uygulamaya bağlı olarak birkaç farklı karakterle temsil edilebileceğini unutmayın. Harici bir belgeden veya Web sayfasından formül yapıştırırsanız, açılış ve kapanış tırnak işaretleri için kullanılan karakterlerin aynı olduğundan emin olmak için ASCII kodlarını denetlemeyi unutmayın. Aksi halde DAX, simgeleri tırnak işareti olarak algılayamaz ve başvuru geçersiz olabilir.
Özel Karakterler
Aşağıdaki karakterler ve karakter türleri tablo, sütun veya ölçü adlarında geçerli değildir:
Baştaki ve sonraki boşluklar (boşluklar ayırıcı, ayraç veya tek tırnak içine alınmadıkça).
Denetim karakterleri
Aşağıdaki karakterler PowerPivot nesnelerinin adlarında geçersizdir:
.,;':/\*|?&%$!+=()[]{}<>
Nesne Adı Örnekleri
Aşağıdaki tabloda, bazı örnek nesne adları gösterilmektedir:
Nesne Türleri |
Örnekler |
Açıklama |
Tablo adı |
Satış |
Tablo adı boşluk veya başka özel karakterler içermiyorsa, adın tırnak işaretleri içine alınması gerekmez. |
Tablo adı |
'Kanada Satışları' |
Adda boşluk, sekme veya başka özel karakterler varsa, adı tek tırnak işaretleri arasına alın. |
Tam sütun adı |
Satış[Tutar] |
Tablo adı sütun adından önce gelir ve sütun adı ayraç içine alınır. |
Tam ölçü adı |
Satış[Kar] |
Tablo adı ölçü adından önce gelir ve ölçü adı ayraç içine alınır. Belirli bağlamlarda her zaman tam ad gereklidir. |
Nitelenmemiş sütun adı |
[Tutar] |
Nitelenmemiş ad ayraç içinde sütun adından ibarettir. Nitelenmemiş adı kullanabileceğiniz bağlamlar aynı tablo içindeki bir hesaplanmış sütunda bulunan formülleri veya aynı tabloyu tarayan bir toplama işlevini içerir. |
Tabloda bulunan, içinde boşluklar olan tam sütun |
'Kanada Satışları'[Miktar] |
Tablo adı boşluklar içerdiğinden tek tırnaklar içine alınmalıdır. |
[!NOT]
Sütunların tam adını girmeyi kolaylaştırmak için, formül oluştururken Otomatik Tamamlama özelliğini kullanmanızı öneririz. Daha fazla bilgi için, bkz. Hesaplamalar İçin Formül Oluşturma.
Çeşitli Kısıtlamalar
Her işlev için gereken sözdizimi ve gerçekleştirebileceği işlem türü, işleve bağlı olarak büyük ölçüde değişir. Ancak genelde tüm formüllere ve ifadelere aşağıdaki kurallar uygulanır:
DAX formülleri ve ifadeleri, tablolarda tek tek değerleri değiştiremez veya tablolara tek tek değerler ekleyemez.
DAX kullanarak hesaplanmış satırlar oluşturamazsınız. Yalnızca hesaplanmış sütunlar ve ölçüler oluşturabilirsiniz.
Hesaplanmış sütunlar tanımladığınızda, işlevleri istediğiniz düzeye yerleştirebilirsiniz.
DAX'ta tablo döndüren çeşitli işlevler bulunur. Genelde bu işlevlerden döndürülen değerleri, giriş olarak tablo gerektiren başka işlevlere giriş olarak kullanırsınız.
DAX'taki İşlevler
DAX aşağıdaki işlev türlerini sağlar.
DAX İşleçleri ve Sabitleri
Aşağıdaki tabloda DAX tarafından desteklenen işleçler listelenmiştir. Genelde DAX'taki işleçler, bazı ufak özel durumlarla Microsoft Excel'de olduğu gibi davranır. Tek tek işleçlerin sözdizimi hakkında daha fazla bilgi için bkz. PowerPivot İçin DAX İşleç Başvurusu.
İşleç Türü |
Simge ve Kullanımı |
---|---|
Parantez işleci |
() bağımsız değişkenlerin öncelik sırası ve gruplandırması |
Aritmetik işleçler |
+ (toplama) - (çıkarma/ işaret) * (çarpma) / (bölme) ^ (üsle gösterme) |
Karşılaştırma işleçleri |
= (eşittir) > (büyüktür) < (küçüktür) >= (büyüktür veya eşittir) <= (küçüktür veya eşittir) <> (eşit değildir) |
Metin birleştirme işleci |
& (birleştirme) |
Mantıksal işleçler |
&& (ve) || (veya) |
DAX'taki Veri Türleri
DAX formülünde kullandığınız bir sütun veya değer veri türünü çevirmeniz, dönüştürmeniz veya belirtmeniz gerekmez. Verileri DAX formülünde kullandığınızda, DAX, başvurulan sütunlardaki veri türlerini ve yazdığınız değerlerin veri türlerini otomatik olarak tanımlar ve belirtilen işlemi tamamlamak için gereken örtük dönüştürmeleri gerçekleştirir.
Örneğin, tarih değerine bir sayı eklemeye çalışıyorsanız, PowerPivot uygulaması Excel'in yaptığı gibi, işlemi işlevin bağlamında yorumlayacak ve sayıları ortak bir veri türüne dönüştürecek ve sonra sonucu istenen biçimde tarih olarak sunacaktır.
Ancak başarıyla dönüştürülebilecek değerlere yönelik bazı sınırlamalar vardır. Değerin veya sütunun geçerli işlemle uyumlu olmayan bir veri türü varsa, DAX hata döndürür. Ayrıca DAX, PowerPivot çalışma kitabına aldığınız varolan verilerin veri türünü açık olarak değiştirmenize, dönüştürmenize veya çevirmenize olanak sağlayan işlevler sağlamaz.
Önemli |
---|
PowerPivot, Excel'de kullanılan değişken veri türü kullanımını desteklemez. Bu nedenle veri yüklediğinizde veya aldığınızda, her sütundaki verilerin genelde tutarlı bir veri türünde olması beklenir. |
Bazı işlevler dize gibi skalar değerler döndürür, diğer işlevlerse hem tamsayı ve gerçek sayı, hem de tarih ve saat gibi sayılarla çalışır. Her işlev için gereken veri türü DAX İşlev Başvurusu bölümünde açıklanır.
Tabloların PowerPivot'de yeni bir veri türü vardır. Birden çok sütun ve birden çok satır içeren tabloları, işlev için bağımsız değişken olarak kullanabilirsiniz. Bazı işlevler de, bellekte depolanan ve diğer işlevler için bağımsız değişkenler olarak kullanılabilen tablolar döndürür.
Farklı sayı ve tarih/saat veri türleri hakkında daha fazla bilgi ve null ve boş dizeleri işlemeyle ilgili ayrıntılar için bkz. Data Types Supported in PowerPivot Workbooks.