במודל נתונים, לכל עמודה משויך סוג נתונים המציין את סוג הנתונים שהעמודה יכולה להכיל: מספרים שלמים, מספרים עשרוניים, טקסט, נתונים כספיים, תאריכים ושעות וכן הלאה. סוג הנתונים גם קובע אילו סוגים של פעולות ניתן לבצע בעמודה וכמה זיכרון נדרש כדי לאחסן את הערכים בעמודה.
אם אתה משתמש בתוספת 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). |
מספר עשרוני |
מספר ממשי של 1, 2 של 64 סיביות (שמונה בתים) |
מספרים ממשי הם מספרים שעשויים להכיל מקומות עשרוניים. מספרים ממשיים מכסים טווח רחב של ערכים: ערכים שליליים מ- -1.79E +308 עד -2.23E -308 אפס ערכים חיוביים מ- 2.23E -308 עד 1.79E + 308 עם זאת, מספר הספרות המשמעותיות מוגבל ל- 15 ספרות עשרוניות. |
TRUE/FALSE |
בוליאני |
ערך True או False. |
Text |
String |
מחרוזת נתונים של תו Unicode. יכול להיות מחרוזות, מספרים או תאריכים המיוצגים בתבנית טקסט. אורך המחרוזת המרבי הוא 268,435,456 תווי Unicode (256 מגה תווים) או 536,870,912 בתים. |
תאריך |
תאריך/שעה |
תאריכים ושעות בייצוג מקובל של תאריך-שעה. תאריכים חוקיים הם כל התאריכים לאחר 1 בינואר, 1900. |
מטבע |
מטבע |
סוג הנתונים 'מטבע' מאפשר ערכים בין -922,337,203,685,477.5808 ל- 922,337,203,685,477.5807 עם ארבע ספרות עשרוניות של דיוק קבוע. |
לא ישים |
ריק |
ריק הוא סוג נתונים ב- DAX המייצג ומחליף ערכי Null של SQL. באפשרותך ליצור ריק באמצעות הפונקציה BLANK, ולבדוק אם קיימים ערכים ריקים באמצעות הפונקציה הלוגית ISBLANK. |
1 נוסחאות DAX אינן תומכות בסוגי נתונים קטנים יותר מאלה המפורטים בטבלה.
2 אם תנסה לייבא נתונים המכילים ערכים מספריים גדולים מאוד, הייבוא עלול להיכשל עם השגיאה הבאה:
שגיאה במסד נתונים בזיכרון: העמודה 'שם העמודה <>' של הטבלה '<שם הטבלה>' מכילה ערך, '1.7976931348623157e+308', אשר אינו נתמך. הפעולה בוטלה.
שגיאה זו מתרחשת מאחר Power Pivot בערך זה כדי לייצג ערכי Null. הערכים ברשימה הבאה הם מילים נרדפות עבור ערך Null:
Value |
|
---|---|
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 והתוצאה מוחזרת כ- REAL.
חיסור (-)
בטבלה הבאה, כותרת השורה היא הקצה ה minuend (צד ימין) וכותרת העמודה היא subtrahend (צד ימין).
אופרטור (-) |
INTEGER |
CURRENCY |
REAL |
תאריך/שעה |
---|---|---|---|---|
INTEGER |
INTEGER |
CURRENCY |
REAL |
REAL |
CURRENCY |
CURRENCY |
CURRENCY |
REAL |
REAL |
REAL |
REAL |
REAL |
REAL |
REAL |
תאריך/שעה |
תאריך/שעה |
תאריך/שעה |
תאריך/שעה |
תאריך/שעה |
לדוגמה, אם נעשה שימוש בתאריך בפעולה של חיסור עם כל סוג נתונים אחר, שני הערכים יומרו לתאריכים והערך המוחזר יהיה גם הוא תאריך.
הערה: מודלי נתונים תומכים גם באופרטור או נארי, - (שלילי), אך אופרטור זה אינו משנה את סוג הנתונים של האופרנד.
Multiplication (*)
Operator (*) |
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 |
לדוגמה, אם מספר שלם משולב עם ערך מטבע בפעולה חילוק, שני הערכים מומרים למספרים ממשיים והתוצאה היא גם מספר ממשי.
אופרטורים של השוואה
בביטויים של השוואה, ערכים בוליאניים נחשבים גדולים מערכי מחרוזת וערכים של מחרוזות נחשבים גדולים מערכי תאריך/שעה או מספריים; מספרים וערכים של תאריך/שעה נחשבים בעלי דירוג זהה. לא מבוצעות המרות משתמעות עבור ערכי מחרוזת או בוליאניים; ערך ריק או ערך ריק מומר ל- 0/""/false בהתאם לסוג הנתונים של הערך המושוות האחר.
ביטויי DAX הבאים ממחישים אופן פעולה זה:
=IF(FALSE()>"true","Expression is true", "Expression is false"), מחזיר "Expression is true"
=IF("12">12,"Expression is true", "Expression is false"), מחזיר "Expression is true".
=IF("12"=12,"Expression is true", "Expression is false"), מחזיר "Expression is false"
המרות מבוצעות באופן משתמע עבור סוגי תאריך/שעה מספריים או עבור סוגי תאריך/שעה כמתואר בטבלה הבאה:
אופרטור השוואה |
INTEGER |
CURRENCY |
REAL |
תאריך/שעה |
---|---|---|---|---|
INTEGER |
INTEGER |
CURRENCY |
REAL |
REAL |
CURRENCY |
CURRENCY |
CURRENCY |
REAL |
REAL |
REAL |
REAL |
REAL |
REAL |
REAL |
תאריך/שעה |
REAL |
REAL |
REAL |
תאריך/שעה |
טיפול במחרוזות ריקות, במחרוזות ריקות ובערכים של אפס
ב- DAX, ערך ריק, ערך ריק, תא ריק או ערך חסר מיוצגים כולם על-ידי אותו סוג ערך חדש, ריק. באפשרותך גם ליצור ערכים ריקים באמצעות הפונקציה BLANK, או לבדוק אם ריקים קיימים באמצעות הפונקציה ISBLANK.
אופן טיפול בפריטים ריקים בפעולות, כגון חיבור או שרשור, תלוי בפונקציה הבודדת. הטבלה הבאה מסכמת את ההבדלים בין נוסחאות DAX ו- Microsoft Excel, באופן שבו מטופלים ערכים ריקים.
Expression |
DAX |
Excel |
---|---|---|
BLANK + BLANK |
ריק |
0 (אפס) |
BLANK +5 |
5 |
5 |
BLANK * 5 |
ריק |
0 (אפס) |
5/ריק |
אינסוף |
שגיאה |
0/ריק |
נאן |
שגיאה |
ריק/ריק |
ריק |
שגיאה |
FALSE או ריק |
FALSE |
FALSE |
FALSE וריק |
FALSE |
FALSE |
TRUE או ריק |
TRUE |
TRUE |
TRUE וריק |
FALSE |
TRUE |
ריק או ריק |
ריק |
שגיאה |
ריק וריק |
ריק |
שגיאה |
לקבלת פרטים על האופן שבו פונקציה או אופרטור מסוימים מטפלים בערכים ריקים, עיין בנושאים הבודדים עבור כל פונקציית DAX, בסעיף חומר עזר לפונקציה DAX.