Veri Modelinde, her sütunun, sütunun içerebileceği verinin türünü belirten ilişkili bir veri türü vardır: tamsayılar, ondalık sayılar, metin, para birimi verileri, tarihler ve saatler vb. Veri türü, sütunda ne tür işlemler yapabileceğinizi ve değerleri sütunda depolamak için ne kadar bellek gerektiğini de belirler.
Power Pivot eklentisini kullanıyorsanız, sütunun veri türünü değiştirebilirsiniz. Bir tarih sütunu dize olarak içeri aktarıldıysa bunu yapmanız gerekebilir, ancak başka bir şey olması gerekir. Daha fazla bilgi için, Power Pivot'ta sütunun veri türünü ayarlama konusuna bakın.
Bu makalede
Veri türlerinin özeti
Aşağıdaki tabloda, Veri Modelinde desteklenen veri türleri listelenmiştir. Verileri içeri aktardığınızda veya formülde bir değer kullandığınızda, özgün veri kaynağı farklı bir veri türü içeriyor olsa bile, veriler bu veri türlerinden birine dönüştürülür. Formüllerin sonucunda elde edilen değerler de bu veri türlerini kullanır.
| Excel'de veri türü | DAX'ta veri türü | Açıklama |
|---|---|---|
| Tam Sayı | 64 bit (sekiz bayt) tamsayı değeri 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) arasında tamsayılar olmalıdır. |
| Ondalık Sayı | 64 bit (sekiz bayt) gerçek sayı 1, 2 | Gerçek sayılar ondalık basamakları olabilen sayılardır. Gerçek sayılar geniş bir değer aralığını kapsar: -1,79E +308 ile -2,23E -308 arasındaki negatif değerler Sıfır 2,23E -308 ile 1,79E + 308 arasında pozitif değerler Ancak, anlamlı basamak sayısı 15 ondalık basamakla sınırlıdır. |
| DOĞRU/YANLIŞ | Boole | Doğru veya Yanlış değeri. |
| Metin | Dize | Unicode karakter veri dizesi. Metin biçiminde gösterilen dizeler, sayılar veya tarihler olabilir. Maksimum dize uzunluğu 268.435.456 Unicode karakter (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'den sonraki 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ındaki dört ondalık basamak sabit duyarlıklı değerlere izin verir. |
| Yok | Boş | Boşluk, SQL null'ları temsil eden ve onların yerini alan bir DAX veri türüdür. BLANK işlevini kullanarak bir boşluk oluşturabilir ve ISBLANK mantıksal işlevini kullanarak boşlukları sınayabilirsiniz. |
1 DAX formülleri, tabloda listelenenlerden daha küçük veri türlerini desteklemez.
2 Çok büyük sayısal değerler içeren verileri içeri aktarmayı denerseniz, alma işlemi aşağıdaki hatayla 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, Power Pivot'ın nullları temsil etmek için bu değeri kullanması nedeniyle oluşur. Aşağıdaki listede yer alan değerler, null değerin eş anlamlılarıdır:
| Değer |
|---|
| 9223372036854775807 |
| -9223372036854775808 |
| 1,7976931348623158e+308 |
| 2.2250738585072014E-308 |
Verilerinizden değeri kaldırın ve içeri aktarmayı yeniden deneyin.
Tablo Veri Türü
DAX, toplamalar ve akıllı zaman gösterimi hesaplamaları gibi birçok işlevde bir tablo veri türü kullanır. Bazı işlevler için bir tabloya başvuru gerekir; Diğer işlevler, daha sonra diğer işlevler için girdi olarak kullanılabilecek bir tablo döndürür. Girdi olarak bir tablo gerektiren bazı işlevlerde, tabloyu hesaplayan bir ifade belirtebilirsiniz; Bazı işlevler için, temel tabloya başvuru gereklidir. Belirli işlevlerin gereksinimleri hakkında bilgi için bkz. DAX İşlev Başvurusu.
DAX formüllerinde örtük ve açık veri türü dönüştürme
Her DAX işlevinin giriş ve çıkış olarak kullanılan veri türleriyle ilgili belirli gereksinimleri vardır. Örneğin, bazı işlevler bazı bağımsız değişkenler için tamsayılar ve diğerleri için tarihler gerektirir; Diğer işlevler için metin veya tablo gerekir.
Bağımsız değişken olarak belirttiğiniz sütundaki veriler işlev için gereken veri türüyle uyumsuzsa, DAX çoğu durumda hata verir. Bununla birlikte, mümkün olan her yerde DAX, verileri örtük olarak gerekli veri türüne dönüştürmeye çalışacaktır. Örneğin:
- Dize olarak bir tarih yazabilirsiniz, DAX dizeyi ayrıştırır ve Windows tarih ve saat biçimlerinden birine dönüştürmeyi dener.
- DOĞRU + 1'i ekleyebilir ve 2 sonucunu alabilirsiniz, çünkü DOĞRU örtük olarak 1 sayısına dönüştürülür ve 1+1 işlemi gerçekleştirilir.
- İki sütuna değerler eklerseniz ve bu değerlerden biri metin ("12"), diğeri de sayı (12) olarak temsil edilirse, DAX dizeyi örtük olarak sayıya dönüştürür ve ardından sayısal sonuç için toplama işlemi yapar. Aşağıdaki ifade 44 döndürür: = "22" + 22
- İki sayıyı birleştirmeyi denerseniz, Excel bunları dize olarak sunar ve sonra birleştirir. Aşağıdaki ifade "1234" değerini döndürür: = 12 & 34
Aşağıdaki tabloda, formüllerde gerçekleştirilen örtük veri türü dönüştürmeleri özetlenmiştir. Excel, belirtilen işlemin gerektirdiği şekilde, mümkün olduğunda örtülü dönüştürmeler gerçekleştirir.
Örtük Veri Dönüşümleri Tablosu
Gerçekleştirilen dönüştürme türü, istenen işlemi gerçekleştirmeden önce ihtiyaç duyduğu değerleri yayınlayan operatör tarafından belirlenir. Bu tablolarda işleçler listelenir ve kesişen satırdaki veri türüyle eşleştirildiğinde sütundaki her veri türü üzerinde gerçekleştirilen dönüştürmeyi gösterir.
Not
Metin veri türleri bu tablolara dahil değildir. Bir sayı metin biçiminde gösterildiğinde, bazı durumlarda Power Pivot sayı türünü saptamayı ve bunu bir sayı olarak göstermeyi dener.
Toplama (+)
| İşleç (+) | INTEGER | CURRENCY | REAL | Tarih/saat |
|---|---|---|---|---|
| INTEGER | INTEGER | CURRENCY | REAL | Tarih/saat |
| CURRENCY | CURRENCY | CURRENCY | REAL | Tarih/saat |
| REAL | REAL | REAL | REAL | Tarih/saat |
| Tarih/saat | Tarih/saat | Tarih/saat | Tarih/saat | Tarih/saat |
Örneğin, para birimi verileriyle birlikte bir toplama işleminde 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 döndürülür.
Çıkarma (-)
Aşağıdaki tabloda, satır başlığı eksi uç (sol taraf) ve sütun başlığı çıkarma (sağ taraf) şeklindedir.
| İşleç (-) | INTEGER | CURRENCY | REAL | Tarih/saat |
|---|---|---|---|---|
| INTEGER | INTEGER | CURRENCY | REAL | REAL |
| CURRENCY | CURRENCY | CURRENCY | REAL | REAL |
| REAL | REAL | REAL | REAL | REAL |
| Tarih/saat | Tarih/saat | Tarih/saat | Tarih/saat | Tarih/saat |
Örneğin, çıkarma işleminde tarih başka herhangi bir veri türüyle kullanıldığında, her iki değer de tarihe dönüştürülür ve verilen değer de tarih olur.
Not
Veri modelleri ayrıca birli işleci (- (negatif) destekler, ancak bu işleç işlenenin veri türünü değiştirmez.
Çarpım (*)
| İşleç (*) | INTEGER | CURRENCY | REAL | Tarih/saat |
|---|---|---|---|---|
| INTEGER | INTEGER | CURRENCY | REAL | INTEGER |
| CURRENCY | CURRENCY | REAL | CURRENCY | CURRENCY |
| REAL | REAL | CURRENCY | REAL | REAL |
Örneğin, bir çarpma işleminde bir tamsayı gerçek sayıyla birleştirilirse, her iki sayı da gerçek sayılara dönüştürülür ve sonuç değeri de GERÇEK olur.
Bölme (/)
Aşağıdaki tabloda, satır başlığı pay ve sütun başlığı paydadır.
| İşleç (/) (Satır/Sütun) |
INTEGER | CURRENCY | REAL | Tarih/saat |
|---|---|---|---|---|
| INTEGER | REAL | CURRENCY | REAL | REAL |
| CURRENCY | CURRENCY | REAL | CURRENCY | REAL |
| REAL | REAL | REAL | REAL | REAL |
| Tarih/saat | REAL | REAL | REAL | REAL |
Örneğin, bölme işleminde bir tamsayı para birimi değeriyle birleştirilirse, her iki değer de gerçek sayılara dönüştürülür ve sonuç da gerçek sayı olur.
Karşılaştırma işleçleri
Karşılaştırma ifadelerinde, Boole değerleri dize değerlerinden daha büyük kabul edilir ve dize değerleri sayısal değerlerden veya tarih/saat değerlerinden büyük kabul edilir; Sayılar ve tarih/saat değerleri aynı mertebeye sahip kabul edilir. Boole veya dize değerleri için örtük dönüştürme gerçekleştirilmez; BLANK veya boş bir değer, 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:
=EĞER(YANLIŞ()>"doğru","İfade doğru", "İfade yanlış"), "İfade doğru" döndürür
=EĞER("12">12,"İfade doğru", "İfade yanlış"), "İfade doğru" döndürür.
=EĞER("12"=12,"İfade doğru", "İfade yanlış"), "İfade yanlış" döndürür
Dönüştürmeler, aşağıdaki tabloda açıklandığı gibi sayısal veya tarih/saat türleri için örtük olarak gerçekleştirilir:
| Karşılaştırma işleci | INTEGER | CURRENCY | REAL | Tarih/saat |
|---|---|---|---|---|
| INTEGER | INTEGER | CURRENCY | REAL | REAL |
| CURRENCY | CURRENCY | CURRENCY | REAL | REAL |
| REAL | REAL | REAL | REAL | REAL |
| Tarih/saat | REAL | REAL | REAL | Tarih/saat |
Boşlukları, boş dizeleri ve sıfır değerlerini işleme
DAX'ta null, boş değer, boş hücre veya eksik değerin hepsi aynı yeni değer türü olan BLANK ile temsil edilir. Ayrıca BLANK işlevini kullanarak boşluklar oluşturabilir veya ISBLANK işlevini kullanarak boşlukları sınayabilirsiniz.
Ekleme veya birleştirme gibi işlemlerde boşlukların nasıl ele alınacağı, tek tek işleve bağlıdır. Aşağıdaki tabloda, DAX ve Microsoft Excel formülleri arasında boşlukların işlenme biçimleri açısından farklılıklar özetlenmiştir.
| Expression | DAX Denklemi | Excel |
|---|---|---|
| BOŞ + BOŞ | BOŞ | 0 (sıfır) |
| BOŞ +5 | 5 | 5 |
| BOŞ * 5 | BOŞ | 0 (sıfır) |
| 5/BOŞ | Sonsuzluk | Hata |
| 0/BOŞ | NaN | Hata |
| BOŞ/BOŞ | BOŞ | Hata |
| YANLIŞ VEYA BOŞ | FALSE | FALSE |
| YANLIŞ VE BOŞ | FALSE | FALSE |
| DOĞRU VEYA BOŞ | DOĞRU | DOĞRU |
| DOĞRU VE BOŞ | YANLIŞ | DOĞRU |
| BOŞ VEYA BOŞ | BOŞ | Hata |
| BOŞ VE BOŞ | BOŞ | Hata |
Belirli bir işlevin veya işlecin boşlukları nasıl işlediği hakkında ayrıntılı bilgi için, DAX İşlev Başvurusu bölümünde her bir DAX işleviyle ilgili ayrı konulara bakın.