Jenis data dalam Model Data

Dalam Model Data, setiap lajur mempunyai jenis data berkaitan yang menentukan jenis data yang boleh diterima oleh lajur: nombor bulat, nombor perpuluhan, teks, data kewangan, tarikh dan masa dan sebagainya. Jenis data juga menentukan jenis operasi yang anda boleh lakukan pada lajur dan jumlah memori yang diperlukan untuk menyimpan nilai dalam lajur.

Jika anda menggunakan tambahan Power Pivot, anda boleh mengubah jenis data lajur. Anda mungkin perlu berbuat sedemikian jika lajur tarikh telah diimport sebagai rentetan, tetapi anda sebenarnya inginkan yang lain. Untuk maklumat lanjut, lihat Mengesetkan jenis data lajur dalam Power Pivot.

Dalam artikel ini


Ringkasan jenis data

Jadual berikut menyenaraikan jenis data yang disokong dalam Model Data. Apabila anda mengimport data atau menggunakan nilai dalam formula, walaupun sumber data asal mengandungi jenis data yang berbeza, data ditukar kepada salah satu jenis data ini. Nilai yang dihasilkan daripada formula juga menggunakan jenis data ini.

Jenis data dalam Excel Jenis data dalam DAX Perihalan
Nombor Bulat Nilai integer 64 bit (lapan bait) 1, 2 Nombor yang tidak mempunyai tempat perpuluhan. Integer boleh merupakan nombor positif atau negatif, tetapi mestilah nombor bulat antara -9,223,372,036,854,775,808 (-2^63) dan 9,223,372,036,854,775,807 (2^63-1).
Nombor Perpuluhan Nombor nyata 64 bit (lapan bait) 1, 2

Nombor nyata ialah nombor yang boleh mempunyai tempat perpuluhan. Nombor nyata meliputi pelbagai nilai:

Nilai negatif dari -1.79E +308 hingga -2.23E -308

Sifar

Nilai positif dari 2.23E -308 hingga 1.79E + 308

Walau bagaimanapun, bilangan digit bererti terhad kepada 15 digit perpuluhan.

TRUE/FALSE Boolean Sama ada nilai Benar atau Palsu.
Teks Rentetan

Rentetan data aksara Unikod. Boleh merupakan rentetan, nombor atau tarikh yang diwakili dalam format teks.

Panjang maksimum rentetan ialah 268,435,456 aksara Unikod (256 aksara mega) atau 536,870,912 bait.

Tarikh Tarikh/masa

Tarikh dan masa dalam perwakilan tarikh-masa yang diterima.

Tarikh yang sah ialah semua tarikh selepas 1 Januari 1900.

Mata wang Mata wang Jenis data mata wang membenarkan nilai antara -922,337,203,685,477.5808 sehingga 922,337,203,685,477.5807 dengan empat digit perpuluhan bagi kejituan tetap.
N/A Kosong Kosong ialah sejenis data dalam DAX yang mewakili dan menggantikan nol SQL. Anda boleh mencipta kosong menggunakan fungsi BLANK dan menguji kosong menggunakan fungsi logik, ISBLANK.

1 Formula DAX tidak menyokong jenis data yang lebih kecil daripada yang disenaraikan dalam jadual.

2 Jika anda cuba mengimport data yang mempunyai nilai berangka yang sangat besar, import mungkin gagal dengan ralat berikut:

Ralat pangkalan data dalam memori: Lajur '<nama lajur>' bagi jadual '<nama jadual>' mengandungi nilai, '1.7976931348623157e+308', yang tidak disokong. Operasi telah dibatalkan.

Ralat ini berlaku kerana Power Pivot menggunakan nilai tersebut untuk mewakili nol. Nilai dalam senarai berikut merupakan sinonim nilai nol:

Nilai
9223372036854775807
-9223372036854775808
1.7976931348623158e+308
2.2250738585072014e-308

Alih keluar nilai daripada data anda dan cuba import sekali lagi.

Jenis Data Jadual

DAX menggunakan jenis data jadual dalam banyak fungsi, seperti pengagregatan dan pengiraan kecerdasan masa. Beberapa fungsi memerlukan rujukan kepada jadual; fungsi lain mengembalikan jadual yang kemudiannya boleh digunakan sebagai input kepada fungsi yang lain. Dalam beberapa fungsi yang memerlukan jadual sebagai input, anda boleh menentukan ungkapan yang menilai jadual; bagi sesetengah fungsi, rujukan kepada jadual asas diperlukan. Untuk maklumat mengenai keperluan fungsi tertentu, lihat Rujukan Fungsi DAX.

Penukaran jenis data tersirat dan tersurat dalam formula DAX

Setiap ungkapan DAX mempunyai keperluan khusus bagi jenis data yang digunakan sebagai input dan output. Contohnya, beberapa fungsi memerlukan integer bagi sesetengah argumen dan tarikh untuk yang lain; fungsi lain memerlukan teks atau jadual.

Jika data dalam lajur yang anda tentukan sebagai argumen tidak serasi dengan jenis data yang diperlukan oleh fungsi, DAX dalam banyak kes akan mengembalikan ralat. Walau bagaimanapun, apabila bersesuaian, DAX akan cuba menukar data secara tersirat kepada jenis data yang diperlukan. Contohnya:

  • Anda boleh menaip tarikh sebagai rentetan dan DAX akan menguraikan rentetan dan cuba menggunakannya sebagai salah satu format tarikh dan masa Windows.
  • Anda boleh menambah TRUE + 1 dan mendapatkan hasil 2, kerana TRUE ditukarkan secara tersirat kepada nombor 1 dan operasi 1+1 dijalankan.
  • Jika anda menambah nilai dalam dua lajur dan satu nilai diwakili sebagai teks ("12") dan satu lagi sebagai nombor (12), DAX menukarkan rentetan secara tersirat kepada nombor dan kemudian melakukan penambahan bagi hasil berangka. Ungkapan berikut mengembalikan 44: = "22" + 22
  • Jika anda cuba merangkaikan dua nombor, Excel akan mempersembahkannya sebagai rentetan dan kemudian merangkaikannya. Ungkapan berikut mengembalikan "1234": = 12 & 34

Jadual berikut meringkaskan penukaran jenis data tersirat yang dilakukan dalam formula. Excel melakukan penukaran tersirat apabila boleh, seperti yang diperlukan oleh operasi tertentu.

Jadual Penukaran Data Tersirat

Jenis penukaran yang dilakukan ditentukan oleh operator yang mengira nilai yang diperlukan sebelum melakukan operasi yang diminta. Jadual ini menyenaraikan operator dan menunjukkan penukaran yang dilakukan pada setiap jenis data dalam lajur apabila ia sepadan dengan jenis data dalam baris bersilang.

 Nota    Jenis data teks tidak dimasukkan dalam jadual ini. Apabila nombor diwakili seperti dalam format teks, dalam sesetengah kes, Power Pivot akan cuba menentukan jenis nombor dan mewakilinya sebagai nombor.

Penambahan (+)
Operator (+) INTEGER CURRENCY REAL Tarikh/masa
INTEGER INTEGER CURRENCY REAL Tarikh/masa
CURRENCY CURRENCY CURRENCY REAL Tarikh/masa
REAL REAL REAL REAL Tarikh/masa
Tarikh/masa Tarikh/masa Tarikh/masa Tarikh/masa Tarikh/masa

Contohnya, jika nombor nyata digunakan dalam operasi penambahan dalam gabungan dengan data mata wang, kedua-dua nilai akan ditukar kepada REAL dan hasil dikembalikan sebagai REAL.

Penolakan (-)

Dalam jadual berikut, pengepala baris ialah minuend (bahagian kiri) dan pengepala lajur ialah subtrahend (bahagian kanan).

Operator (-) INTEGER CURRENCY REAL Tarikh/masa
INTEGER INTEGER CURRENCY REAL REAL
CURRENCY CURRENCY CURRENCY REAL REAL
REAL REAL REAL REAL REAL
Tarikh/masa Tarikh/masa Tarikh/masa Tarikh/masa Tarikh/masa

Contohnya, jika tarikh digunakan dalam operasi penolakan dengan sebarang jenis data lain, kedua-dua nilai ditukar kepada tarikh dan nilai yang dikembalikan juga ialah tarikh.

 Nota    Model data turut menyokong operator unari, - (negatif), tetapi operator ini tidak mengubah jenis data operan.

Pendaraban (*)
Operator (*) INTEGER CURRENCY REAL Tarikh/masa
INTEGER INTEGER CURRENCY REAL INTEGER
CURRENCY CURRENCY REAL CURRENCY CURRENCY
REAL REAL CURRENCY REAL REAL

Contohnya, jika integer digabungkan dengan nombor nyata dalam operasi pendaraban, kedua-dua nombor ditukar kepada nombor nyata dan hasil yang dikembalikan juga ialah REAL.

Pembahagian (/)

Dalam jadual berikut, pengepala baris ialah pembilang dan pengepala lajur ialah penyebut.

Operator (/)

(Baris/Lajur)

INTEGER CURRENCY REAL Tarikh/masa
INTEGER REAL CURRENCY REAL REAL
CURRENCY CURRENCY REAL CURRENCY REAL
REAL REAL REAL REAL REAL
Tarikh/masa REAL REAL REAL REAL

Contohnya, jika integer digabungkan dengan nilai mata wang dalam operasi pembahagian, kedua-dua nilai ditukar kepada nombor nyata dan hasilnya juga nombor nyata.

Operator perbandingan

Dalam ungkapan perbandingan, nilai Boolean dianggap lebih besar daripada nilai rentetan dan nilai rentetan dianggap lebih besar daripada nilai berangka atau tarikh/masa; nilai nombor dan tarikh/masa dianggap mempunyai kedudukan yang sama. Tiada penukaran tersirat dilaksanakan bagi Boolean atau nilai rentetan; BLANK atau nilai kosong ditukar kepada 0/""/palsu bergantung pada jenis data perbandingan nilai yang lain.

Ungkapan DAX berikut menunjukkan kelakuan ini:

        =
        IF(
        FALSE()>"
        true","Expression
         is true", "Expression is false"), returns "Expression is true"
      
        =
        IF(
        "12">12,"Expression is true", "Expression is false"), returns "Expression is true"
        .
      
        =
        IF(
        "12"=12,"Expression is true", "Expression is false"), returns "Expression is false"
      

Penukaran dilakukan secara tersirat untuk jenis berangka atau tarikh/masa seperti yang diterangkan dalam jadual berikut:

Operator Perbandingan INTEGER CURRENCY REAL Tarikh/masa
INTEGER INTEGER CURRENCY REAL REAL
CURRENCY CURRENCY CURRENCY REAL REAL
REAL REAL REAL REAL REAL
Tarikh/masa REAL REAL REAL Tarikh/masa

Atas Halaman Atas Halaman

Mengendalikan nilai kosong, rentetan kosong dan nilai sifar

Dalam DAX, nol, nilai kosong, sel kosong atau nilai yang hilang semuanya diwakili oleh jenis nilai baru yang sama, BLANK. Anda juga boleh menjanakan kosong menggunakan fungsi BLANK atau menguji kosong menggunakan fungsi ISBLANK.

Cara kosong dikendalikan dalam operasi, seperti tambahan atau perangkaian, bergantung pada fungsi individu. Jadual berikut meringkaskan perbezaan antara DAX dan formula Microsoft Excel, dalam cara kosong dikendalikan.

Ungkapan DAX Excel
BLANK + BLANK BLANK 0 (sifar)
BLANK +5 5 5
BLANK * 5 BLANK 0 (sifar)
5/BLANK Infiniti Ralat
0/BLANK NaN Ralat
BLANK/BLANK BLANK Ralat
FALSE OR BLANK FALSE FALSE
FALSE AND BLANK FALSE FALSE
TRUE OR BLANK TRUE TRUE
TRUE AND BLANK FALSE TRUE
BLANK OR BLANK BLANK Ralat
BLANK AND BLANK BLANK Ralat

Untuk butiran mengenai cara fungsi atau operator tertentu mengendalikan kosong, lihat topik individu untuk setiap fungsi DAX, dalam seksyen, Rujukan Fungsi DAX.

Atas Halaman Atas Halaman

 
 
Berkenaan dengan:
Excel 2013, Power BI for Office 365 Preview, Power Pivot in Excel 2013