PowerPivot Çalışma Kitaplarında Desteklenen Veri Türleri
Bu bölümde, Excel için PowerPivot uygulamasında kullanılabilen veri türleri açıklanmakta ve verilerin Veri Çözümleme İfadeleri (DAX) formüllerinde hesaplanması veya kullanılması durumunda veri türlerinin örtük dönüştürülmesi ele alınmaktadır.
Excel İçin PowerPivot'ta Kullanılan Türleri
Aşağıdaki veri türlerinin PowerPivot formüllerinde kullanımı desteklenir. Bir Formülde veri aldığınızda veya bir değer kullandığınızda, özgün veri kaynağı farklı bir veri türü içerse bile, veriler aşağıdaki veri türlerinden birine dönüştürülür. Formüllerden kaynaklanan veriler de bu veri türlerini kullanır.
Genel olarak, bu veri türleri hesaplanmış sütunlarda doğru hesaplamalar yapılması için kullanılır ve tutarlılık açısından PowerPivot uygulamasındaki diğer veriler için de aynı kısıtlamalar geçerlidir.
Sayılar, para birimleri, tarihler ve saatler için kullanılan biçimlerin çalışma kitabını açan bilgisayarda belirtilmiş olan yerel ayarların biçimine uyması gerekir. Değerin görüntülenme biçimini denetlemek için çalışma sayfasındaki biçimlendirme seçeneklerini kullanabilirsiniz.
PowerPivot kullanıcı arabirimindeki veri türü |
DAX'taki veri türü |
Açıklama |
Tamsayı |
64-bit (8 bayt) bir tamsayı değer 1, 2 |
Ondalık basamağı olmayan sayılar. Tamsayılar pozitif veya negatif sayılar olabilir, ancak -9.223.372.036.854.775.808 (-2^63) ile 9.223.372.036.854.775.807 (2^63-1) birer tamsayı olmak zorundadırlar. |
Ondalık Sayı |
64-bit (8 bayt) bir gerçek sayı 1, 2 |
Gerçek sayılar ondalık basamakları olabilen sayılardır. Gerçek sayılar geniş bir yelpazedeki değerleri kapsar: -1,79E +308 ile -2,23E -308 arasındaki negatif değerler Sıfır 2,23E -308 ile 1,79E + 308 arasındaki pozitif değerler Ancak, anlamlı basamak sayısı 15 ondalık basamakla sınırlıdır. |
DOĞRU/YANLIŞ |
Boole |
Ya Doğru ya da Yanlış. |
Metin |
Dize |
Bir Unicode karakter verisi dizesi. Metin biçiminde temsil edilen dizeler, sayılar ve tarihler olabilir. Dize uzunluğu sınırı 268.435.456 Unicode karakteri (256 mega karakter) veya 536.870.912 bayttır. |
Tarih |
Tarih/saat |
Kabul edilen bir tarih-saat gösterimindeki tarihler ve saatler. Geçerli tarihler 1 Ocak 1900 sonrası tüm tarihlerdir. |
Para birimi |
Para birimi |
Para birimi veri türü -922.337.203.685.477,5808 ile 922.337.203.685.477,5807 arasında dört sabit ondalık basamaklı değerlere olanak tanır. |
Yok |
Boş |
Boş, SQL'deki null'ları eden ve onların yerine geçen bir DAX veri türüdür. BLANK işlevini kullanarak boş değer oluşturabilir ve ISBLANK mantıksal işlevini kullanarak boşlukları sınayabilirsiniz. |
1 DAX formülleri tabloda listelenenlerden küçük olan veri türlerini desteklemez.
2 Çok büyük sayısal değerler içeren verileri almaya çalışırsanız, alma işlemi aşağıdaki hatayı vererek başarısız olabilir:
Bellek içi veritabanı hatası: '<Tablo adı>' tablosunun '<sütun adı>' sütunu desteklenmeyen '1.7976931348623157e+308' değerini içeriyor. İşlem iptal edildi.
Bu hata PowerPivot'un null için bu değeri kullanmasından kaynaklanır. Aşağıdaki listedeki değerler yukarıda bahsedilen null değeriyle ile eşanlamlıdır:
Değer |
9223372036854775807 |
-9223372036854775808 |
1,7976931348623158e+308 |
2,2250738585072014e-308 |
Değeri verilerinizden kaldırmalı ve yeniden almayı denemelisiniz.
Tablo Veri Türü
Ek olarak, DAX tablo veri türünü kullanır. Bu veri türü, toplamalar ve akıllı zaman gösterimi hesaplamaları gibi birçok işlevde DAX tarafından kullanılır. Bazı işlevler bir tablo başvurusu gerektirir; diğer işlevler ise başka işlevlere giriş olarak kullanılabilen bir tablo döndürür. Giriş olarak tablo gerektiren bazı işlevlerde, tablo olarak hesaplanan bir ifade belirtebilirsiniz; bazı işlevler için bir temel tablo başvurusu gereklidir. Belirli işlevlerin gereksinimleri hakkında daha fazla bilgi için, bkz. DAX İşlev Başvurusu.
DAX Formüllerinde Örtük ve Açık Veri Türü Dönüşümü
Her DAX işlevi, girdi ve çıktı olarak kullanılan veri türleri açısından belirli gereksinimlere sahiptir. Örneğin, bazı işlevler bazı bağımsız değişkenler için tamsayı, diğerleri için de tarih gerektirirken, diğer bazı işlevler de metin veya tablo gerektirir.
Bağımsız değişken olarak belirtilen sütundaki veriler işlevin gerektirdiği veri türü ile uyumsuzsa, birçok durumda DAX hata döndürür. Ancak, mümkün olan her durumda DAX, verileri örtük olarak gereken veri türüne dönüştürmeyi dener. Örneğin:
Bir tarihi dize olarak yazabilirsiniz, DAX dizeyi ayrıştırır ve onu Windows tarih ve saat biçimlerinden birine dökmeyi dener.
TRUE örtük olarak 1 sayısına dönüştürülüp 1+1 işlemi uygulandığından, TRUE + 1 eklediğinizde 2 sonucunu alabilirsiniz.
Değerleri iki sütuna eklediğinizde bir değeri metin olarak ("12") diğerini de sayı olarak (12) göstermişseniz, DAX dizeyi örtük olarak sayıya dönüştürür ve ardından sayısal sonuç için toplama işlemi yapar. Şu ifade 44 döndürür: = "22" + 22
İki sayıyı birleştirmeyi denediğinizde, PowerPivot eklentisi bunları dize olarak gösterip sonra birleştirir. Şu ifade "1234" döndürür: = 12 & 34
Aşağıdaki tabloda, formüllerde gerçekleştirilen örtük veri türü dönüşümleri özetlenmektedir. Genel olarak, PowerPivot Microsoft Excel gibi davranır ve belirtilen işlem için gerektiğinde, mümkün olan her yerde örtük dönüşümler gerçekleştirir.
Örtük Veri Dönüşümleri Tablosu
Yapılan dönüştürme işleminin türü, istenen işlemi gerçekleştirmeden önce gerek duyduğu değerleri döken işleç tarafından belirlenir. Bu tablolarda işleçler listelenmekte ve kesişen satırdaki veri türü ile eşlenmiş olan sütundaki her veri türü üzerinde gerçekleştirilen dönüştürme işlemi gösterilmektedir.
[!NOT]
Metin veri türleri bu tablolara eklenmemiştir. Bir sayı metin biçiminde gösterildiğinde, bazı durumlarda PowerPivot sayının türünü belirlemeyi ve onu sayı olarak göstermeyi dener.
Toplama (+)
İşleç (+) |
TAMSAYI |
PARA BİRİMİ |
GERÇEK |
Tarih/saat |
TAMSAYI |
TAMSAYI |
PARA BİRİMİ |
GERÇEK |
Tarih/saat |
PARA BİRİMİ |
PARA BİRİMİ |
PARA BİRİMİ |
GERÇEK |
Tarih/saat |
GERÇEK |
GERÇEK |
GERÇEK |
GERÇEK |
Tarih/saat |
Tarih/saat |
Tarih/saat |
Tarih/saat |
Tarih/saat |
Tarih/saat |
Örneğin, bir toplama işleminde para birimi verisiyle birlikte bir gerçek sayı kullanılırsa, her iki değer de GERÇEK'e dönüştürülür ve sonuç GERÇEK olarak verilir.
Çıkarma (-)
Aşağıdaki tabloda, satır üstbilgisi eksilen (sol taraf) ve sütun üstbilgisi çıkandır (sağ taraf).
İşleç (-) |
TAMSAYI |
PARA BİRİMİ |
GERÇEK |
Tarih/saat |
TAMSAYI |
TAMSAYI |
PARA BİRİMİ |
GERÇEK |
GERÇEK |
PARA BİRİMİ |
PARA BİRİMİ |
PARA BİRİMİ |
GERÇEK |
GERÇEK |
GERÇEK |
GERÇEK |
GERÇEK |
GERÇEK |
GERÇEK |
Tarih/saat |
Tarih/saat |
Tarih/saat |
Tarih/saat |
Tarih/saat |
Örneğin, bir çıkarma işleminde herhangi bir veri türüyle birlikte bir tarih kullanılırsa, her iki değer de tarihlere dönüştürülür ve dönüş değeri de bir tarih olur.
[!NOT]
PowerPivot - (negatif) birli işlecini de destekler, ancak bu işleç işlenenin veri türünü değiştirmez.
Çarpma (*)
İşleç (*) |
TAMSAYI |
PARA BİRİMİ |
GERÇEK |
Tarih/saat |
TAMSAYI |
TAMSAYI |
PARA BİRİMİ |
GERÇEK |
TAMSAYI |
PARA BİRİMİ |
PARA BİRİMİ |
GERÇEK |
PARA BİRİMİ |
PARA BİRİMİ |
GERÇEK |
GERÇEK |
PARA BİRİMİ |
GERÇEK |
GERÇEK |
Örneğin, bir çarpma işleminde bir tamsayı gerçek sayıyla birleştirilirse, iki sayı da gerçek sayıya dönüştürülür ve dönüş değeri de GERÇEK olur.
Bölme (/)
Aşağıdaki tabloda, satır üstbilgisi pay (sol taraf) ve sütun üstbilgisi paydadır (sağ taraf).
İşleç (/) (Satır/Sütun) |
TAMSAYI |
PARA BİRİMİ |
GERÇEK |
Tarih/saat |
TAMSAYI |
GERÇEK |
PARA BİRİMİ |
GERÇEK |
GERÇEK |
PARA BİRİMİ |
PARA BİRİMİ |
GERÇEK |
PARA BİRİMİ |
GERÇEK |
GERÇEK |
GERÇEK |
GERÇEK |
GERÇEK |
GERÇEK |
Tarih/saat |
GERÇEK |
GERÇEK |
GERÇEK |
GERÇEK |
Örneğin, bir bölme işleminde bir tamsayı para birimi değeriyle birleştirilirse, iki değer de gerçek sayıya dönüştürülür ve sonuç da bir gerçek sayı olur.
Karşılaştırma işleçleri
Karşılaştırma ifadelerinde Boole değerleri dize değerlerinden büyük ve dize değerleri sayı ve tarih/saat değerlerinden büyük kabul edilir; sayıların ve tarih/saat değerlerinin aynı dereceye sahip olduğu kabul edilir. Boole veya dize değerleri için herhangi bir içsel dönüştürme gerçekleştirilmez; BLANK veya boş değeri karşılaştırılan diğer değerin veri türüne bağlı olarak 0/""/false değerine dönüştürülür.
Aşağıdaki DAX ifadeleri bu davranışı göstermektedir:
=IF(FALSE()>"true","Expression is true", "Expression is false") ifadesi döndürür "Expression is true"
=IF("12">12,"Expression is true", "Expression is false") ifadesi döndürür "Expression is true"
=IF("12"=12,"Expression is true", "Expression is false") ifadesi döndürür "Expression is false"
Sayısal veya tarih/saat türleri için aşağıdaki tabloda açıklandığı gibi içsel olarak dönüştürmeler gerçekleştirilir:
Karşılaştırma İşleci |
TAMSAYI |
PARA BİRİMİ |
GERÇEK |
Tarih/saat |
TAMSAYI |
TAMSAYI |
PARA BİRİMİ |
GERÇEK |
GERÇEK |
PARA BİRİMİ |
PARA BİRİMİ |
PARA BİRİMİ |
GERÇEK |
GERÇEK |
GERÇEK |
GERÇEK |
GERÇEK |
GERÇEK |
GERÇEK |
Tarih/saat |
GERÇEK |
GERÇEK |
GERÇEK |
Tarih/saat |
Boşlukların, Boş Dizelerin ve Sıfır Değerlerinin İşlenmesi
DAX'ın sıfır değerlerini, null'ları ve boş dizeleri işleme biçimi hem Microsoft Excel'den hem de SQL Server'dan farklıdır. Bu bölümde farklar ve bu veri türlerinin nasıl işlendiği açıklanmaktadır.
PowerPivot'de boş değerlerin, boş hücrelerin veya eksik değerlerin tümünün hep aynı yeni değer türüyle, yani BLANK ile gösterildiğinin unutulmaması önemlidir. Toplama veya birleştirme gibi işlemlerde boş değerlerin nasıl işlendiği kullanılan işleve bağlıdır. BLANK işlevini kullanarak da boş değerler oluşturabilir veya ISBLANK işlevini kullanarak boşlukları sınayabilirsiniz. Veritabanı null'ları PowerPivot çalışma kitabında desteklenmez ve null değer içeren sütuna DAX formülünde başvurulduğunda, null'lar örtük olarak boşluklara dönüştürülür.
Boşlukları, Null'ları ve Boş Dizeleri Tanımlama
Aşağıdaki tabloda, DAX ile Microsoft Excel'in boşlukları kullanma biçimlerindeki farklar özetlenmektedir.
Expression |
DAX |
Excel |
BLANK + BLANK |
BLANK |
0 (sıfır) |
BLANK +5 |
5 |
5 |
BLANK * 5 |
BLANK |
0 (sıfır) |
5/BLANK |
Sonsuz |
Hata |
0/BLANK |
NaN |
Hata |
BLANK/BLANK |
BLANK |
Hata |
FALSE VEYA BLANK |
FALSE |
FALSE |
FALSE VE BLANK |
FALSE |
FALSE |
TRUE VEYA BLANK |
TRUE |
TRUE |
TRUE VE BLANK |
FALSE |
TRUE |
BLANK VEYA BLANK |
BLANK |
Hata |
BLANK VE BLANK |
BLANK |
Hata |
Belirli bir işlevin veya işlecin boşlukları nasıl kullandığıyla ilgili ayrıntılar için, DAX İşlev Başvurusu bölümünde, her bir DAX işlevine yönelik ilgili konulara bakın.