في نموذج البيانات، يكون لكل عمود نوع بيانات مقترن يحدد نوع البيانات التي يمكن أن يتضمنها العمود: الأعداد الصحيحة، والأعداد العشرية، والنص، والبيانات المالية، والتواريخ والأوقات، وما إلى ذلك. يحدد نوع البيانات أيضا أنواع العمليات التي يمكنك إجراؤها على العمود، ومقدار الذاكرة المطلوبة لتخزين القيم في العمود.
إذا كنت تستخدم الوظيفة الإضافية Power Pivot، فيمكنك تغيير نوع بيانات عمود. قد تحتاج إلى القيام بذلك إذا تم استيراد عمود تاريخ كسلسلة، ولكنك تحتاج إلى أن يكون شيئا آخر. لمزيد من المعلومات، راجع تعيين نوع بيانات العمود في Power Pivot.
في هذه المقالة
ملخص أنواع البيانات
يسرد الجدول التالي أنواع البيانات المعتمدة في نموذج بيانات. وعند استيراد بيانات أو استخدام قيمة في صيغة، حتى لو احتوى مصدر البيانات الأصلي على نوع بيانات مختلف، يتم تحويل البيانات إلى نوع من أنواع البيانات هذه. تستخدم القيم الناتجة عن الصيغ أنواع البيانات هذه أيضا.
| نوع البيانات في Excel | نوع البيانات في DAX | الوصف |
|---|---|---|
| عدد صحيح | قيمة عدد صحيح 64 بت (ثمانية بايت) 1، 2 | الأرقام التي ليس لها منازل عشرية. يمكن أن تكون الأعداد الصحيحة أرقاما موجبة أو سالبة ، ولكن يجب أن تكون أرقاما صحيحة بين -9،223،372،036،854،775،808 (-2 ^ 63) و 9،223،372،036،854،775،807 (2 ^ 63-1). |
| الرقم العشري | رقم حقيقي 64 بت (ثمانية بايت) 1، 2 | الأعداد الحقيقية هي الأرقام التي يمكن أن تكون لها منازل عشرية. تغطي الأعداد الحقيقية مجموعة واسعة من القيم: القيم السالبة من -1.79E +308 وصولا إلى -2.23E -308 صفر القيم الموجبة من 2.23E -308 إلى 1.79E + 308 ومع ذلك، يقتصر عدد الأرقام ذات الأهمية على 15 رقما عشريا. |
| صواب/خطأ | منطقي | إما أن تكون قيمة صواب أو خطأ. |
| نص | String | سلسلة بيانات حرف Unicode. يمكن أن تكون سلاسل أو أرقام أو تواريخ ممثلة بتنسيق نصي. الحد الأقصى لطول السلسلة هو 268435456 حرف Unicode (256 حرف ميغا) أو 536870912 بايت. |
| التاريخ | تاريخ/وقت | التواريخ والأوقات في تمثيل تاريخ ووقت مقبول. التواريخ الصالحة كلها هي تواريخ بعد 1 يناير 1900. |
| العملة | العملة | يسمح نوع بيانات العملة بالقيم بين -922,337,203,685,477.5808 إلى 922,337,203,685,477.5807 مع أربعة أرقام عشرية بدقة ثابتة. |
| غير متوفر | فارغ | الفراغ هو نوع بيانات في DAX يمثل قيم SQL الخالية ويحل محلها. يمكنك إنشاء فراغ باستخدام الدالة BLANK، واختبار الفراغات باستخدام الدالة المنطقية ISBLANK. |
1 لا تعتمد صيغ DAX أنواع البيانات الأصغر من تلك المذكورة في الجدول.
2 إذا حاولت استيراد بيانات تحتوي على قيم رقمية كبيرة جدا، فقد تفشل عملية الاستيراد مع ظهور الخطأ التالي:
خطأ في قاعدة البيانات في الذاكرة: يحتوي العمود "<اسم> العمود" في جدول "<اسم> الجدول" على قيمة '1.7976931348623157e+308'، وهي غير مدعمة. تم إلغاء العملية.
يحدث هذا الخطأ لأن Power Pivot يستخدم هذه القيمة لتمثيل قيم فارغة. تعد القيم الموجودة في القائمة التالية مرادفات للقيمة الخالية:
| قيمة |
|---|
| 9223372036854775807 |
| -9223372036854775808 |
| 1,7976931348623158e+308 |
| 2.2250738585072014E-308 |
قم بإزالة القيمة من بياناتك وحاول الاستيراد مرة أخرى.
نوع بيانات الجدول
تستخدم DAX نوع بيانات جدول في العديد من الدالات، كالتجميعات وحسابات تحليل معلومات الوقت. تتطلب بعض الدالات مرجعا إلى جدول؛ ترجع دالات أخرى جدولا يمكن استخدامه بعد ذلك كمدخل للدالات الأخرى. في بعض الدالات التي تتطلب جدولا كمدخل، يمكنك تحديد تعبير يتم تقييمه إلى جدول؛ بالنسبة إلى بعض الدالات، يجب إدراج مرجع إلى جدول أساسي. للحصول على معلومات حول متطلبات دالات معينة، راجع مرجع دالات DAX.
التحويل الضمني والصريح لنوع البيانات في صيغ DAX
لكل دالة DAX متطلبات خاصة فيما يتعلق بأنواع البيانات المستخدمة كمدخلات وإخراجات. على سبيل المثال، تتطلب بعض الدالات أعدادا صحيحة لبعض الوسيطات وتواريخ لوسيطات أخرى؛ تتطلب الدالات الأخرى نصا أو جداول.
إذا كانت البيانات الموجودة في العمود التي تحددها كوسيطة غير متوافقة مع نوع البيانات الذي تتطلبه الدالة، فسيرجع DAX في حالات كثيرة خطأ. ومع ذلك، سيحاول DAX تحويل البيانات ضمنيا إلى نوع البيانات المطلوب، حيثما أمكن ذلك. على سبيل المثال:
- يمكنك كتابة تاريخ كسلسلة، وسيقوم DAX بتحليل السلسلة ومحاولة إرسالها كأحد تنسيقات التاريخ والوقت في Windows.
- يمكنك إضافة TRUE + 1 للحصول على النتيجة 2، لأن TRUE يتم تحويلها ضمنيا إلى الرقم 1 ويتم تنفيذ العملية 1+1.
- إذا أضفت قيما في عمودين، وحدث أن يتم تمثيل إحدى القيم كنص ("12") والأخرى كرقم (12)، يحول DAX ضمنيا السلسلة إلى رقم ثم يقوم بعملية الجمع للحصول على ناتج رقمي. يرجع التعبير التالي 44: = "22" + 22
- إذا حاولت سلسلة رقمين، فسيقدمهما Excel كسلسلتين ثم سلسلتها. يرجع التعبير التالي "1234": = 12 & 34
يلخص الجدول التالي تحويلات أنواع البيانات الضمنية التي يتم إجراؤها في الصيغ. يقوم Excel بإجراء تحويلات ضمنية كلما أمكن ذلك، كما تقتضي العملية المحددة.
جدول تحويلات البيانات الضمنية
يحدد عامل التشغيل نوع التحويل الذي يتم تنفيذه، وهو يرسل القيم التي يحتاج إليها قبل تنفيذ العملية المطلوبة. تسرد هذه الجداول عوامل التشغيل، وتشير إلى التحويل الذي يتم إجراؤه على كل نوع من أنواع البيانات في العمود عند إقرانه بنوع البيانات في الصف المتقاطع.
ملاحظة
لا يتم تضمين أنواع البيانات النصية في هذه الجداول. عند تمثيل رقم بتنسيق نصي، سيحاول Power Pivot في بعض الأحيان تحديد نوع الرقم وتقديمه كرقم.
الجمع (+)
| عامل التشغيل (+) | INTEGER | CURRENCY | REAL | تاريخ/وقت |
|---|---|---|---|---|
| INTEGER | INTEGER | CURRENCY | REAL | تاريخ/وقت |
| CURRENCY | CURRENCY | CURRENCY | REAL | تاريخ/وقت |
| REAL | REAL | REAL | REAL | تاريخ/وقت |
| تاريخ/وقت | تاريخ/وقت | تاريخ/وقت | تاريخ/وقت | تاريخ/وقت |
على سبيل المثال، إذا تم استخدام رقم حقيقي في عملية جمع مع بيانات العملة، فسيتم تحويل القيمتين إلى REAL، ويتم إرجاع النتيجة باعتبارها قيمة حقيقية.
الطرح (-)
في الجدول التالي، يكون رأس الصف هو الحد الأدنى (الجانب الأيسر)، ورأس العمود هو الطرف الفرعي (الجانب الأيمن).
| عامل التشغيل (-) | INTEGER | CURRENCY | REAL | تاريخ/وقت |
|---|---|---|---|---|
| INTEGER | INTEGER | CURRENCY | REAL | REAL |
| CURRENCY | CURRENCY | CURRENCY | REAL | REAL |
| REAL | REAL | REAL | REAL | REAL |
| تاريخ/وقت | تاريخ/وقت | تاريخ/وقت | تاريخ/وقت | تاريخ/وقت |
على سبيل المثال، إذا تم استخدام تاريخ في عملية طرح مع أي نوع بيانات آخر، فسيتم تحويل كلتا القيمتين إلى تواريخ، وتكون القيمة المرتجعة أيضا تاريخا.
ملاحظة
تدعم نماذج البيانات أيضا عامل التشغيل الأحادي، - (سالب)، ولكن عامل التشغيل هذا لا يغير نوع بيانات المعامل.
الضرب (*)
| عامل التشغيل (*) | INTEGER | CURRENCY | REAL | تاريخ/وقت |
|---|---|---|---|---|
| INTEGER | INTEGER | CURRENCY | REAL | INTEGER |
| CURRENCY | CURRENCY | REAL | CURRENCY | CURRENCY |
| REAL | REAL | CURRENCY | REAL | REAL |
على سبيل المثال، إذا تم دمج عدد صحيح مع رقم حقيقي في عملية ضرب، فسيتم تحويل كلا الرقمين إلى أرقام حقيقية، وتكون القيمة المعادة REAL أيضا.
القسمة (/)
في الجدول التالي، رأس الصف هو البسط، ورأس العمود هو المقام.
| عامل التشغيل (/) (صف/عمود) |
INTEGER | CURRENCY | REAL | تاريخ/وقت |
|---|---|---|---|---|
| INTEGER | REAL | CURRENCY | REAL | REAL |
| CURRENCY | CURRENCY | REAL | CURRENCY | REAL |
| REAL | REAL | REAL | REAL | REAL |
| تاريخ/وقت | REAL | REAL | REAL | REAL |
على سبيل المثال، إذا تم دمج عدد صحيح مع قيمة عملة في عملية قسمة، فسيتم تحويل كلتا القيمتين إلى أرقام حقيقية، وتكون النتيجة أيضا رقما حقيقيا.
عوامل تشغيل المقارنة
في تعبيرات المقارنة، تعتبر القيم المنطقية أكبر من قيم السلسلة، وتعتبر قيم السلسلة أكبر من القيم الرقمية أو قيم التاريخ/الوقت؛ تعتبر الأرقام وقيم التاريخ/الوقت بنفس المرتبة. لا يتم إجراء أي تحويلات ضمنية للقيم المنطقية أو السلسلة؛ يتم تحويل القيمة BLANK أو قيمة فارغة إلى 0/""/FALSE استنادا إلى نوع بيانات القيمة الأخرى التي تمت مقارنتها.
توضح تعبيرات DAX التالية هذا السلوك:
ترجع =IF(FALSE()>"true","التعبير is true", "expression is false"), return "expression is true"
ترجع =IF("12">12،"التعبير صحيح"، "التعبير false")، "التعبير صحيح".
ترجع =IF("12"=12،"التعبير صحيح"، "التعبير false")، "التعبير false"
يتم تنفيذ التحويلات ضمنيا للأنواع الرقمية أو أنواع التاريخ/الوقت كما هو موضح في الجدول التالي:
| عامل تشغيل المقارنة | INTEGER | CURRENCY | REAL | تاريخ/وقت |
|---|---|---|---|---|
| INTEGER | INTEGER | CURRENCY | REAL | REAL |
| CURRENCY | CURRENCY | CURRENCY | REAL | REAL |
| REAL | REAL | REAL | REAL | REAL |
| تاريخ/وقت | REAL | REAL | REAL | تاريخ/وقت |
معالجة الفراغات والسلاسل الفارغة والقيم الصفرية
في DAX، يتم تمثيل القيمة الخالية أو الفارغة أو الخلية الفارغة أو القيمة المفقودة بواسطة نوع القيمة الجديد نفسه، وهو BLANK. يمكنك أيضا إنشاء فراغات باستخدام الدالة BLANK، أو اختبار الفراغات باستخدام الدالة ISBLANK.
تعتمد كيفية معالجة الفراغات في العمليات، مثل الإضافة أو السلسلة، على الدالة الفردية. يلخص الجدول التالي الاختلافات بين صيغ DAX وMicrosoft Excel، بالطريقة التي يتم بها التعامل مع الفراغات.
| تعبير | DAX | Excel |
|---|---|---|
| فارغ + فارغ | فارغ | 0 (صفر) |
| فارغ +5 | 5 | 5 |
| فارغ * 5 | فارغ | 0 (صفر) |
| 5/فارغ | ما لا نهاية | الخطأ |
| 0/فارغ | NaN | الخطأ |
| فارغ/فارغ | فارغ | الخطأ |
| FALSE أو BLANK | FALSE | FALSE |
| FALSE وBLANK | FALSE | FALSE |
| صواب أو فارغ | TRUE | TRUE |
| TRUE وBLANK | FALSE | TRUE |
| فارغ أو فارغ | فارغ | الخطأ |
| فارغ وفارغ | فارغ | الخطأ |
للحصول على تفاصيل حول كيفية معالجة دالة أو عامل معين للفراغات، راجع المواضيع الفردية لكل دالة DAX، في المقطع "مرجع دالات DAX".