Типи даних у моделях даних

У надбудові Power Pivot кожен стовпець має певний тип даних і може містити тільки відповідні дані: цілі числа, десяткові числа, текст, грошові суми, дати й час тощо. Тип даних також визначає, які види операцій можна проводити зі стовпцем, а також який об’єм пам’яті займає зберігання значень у стовпці.

Використовуючи надбудову Power Pivot, можна змінити тип даних стовпця. Це може знадобитися, якщо стовпець із датою імпортовано як рядок, але потрібно, щоб він мав інший тип. Докладні відомості див. в статті Установлення типу даних стовпця в надбудові Power Pivot.

У цій статті

Загальні відомості про типи даних

Тип даних "Таблиця"

Неявне та явне перетворення типу даних у формулах DAX

Таблиця неявних перетворень даних

Додавання (+)

Віднімання (-)

Множення (*)

Ділення (/)

Оператори порівняння

Обробка пустих рядків, пустих і нульових значень

Зведення типів даних

У таблиці нижче наведено список типів даних, які підтримуються в моделі даних. Під час імпорту даних чи використання значення у формулі, навіть якщо джерело початкових даних містить інший тип даних, дані буде перетворено в один із цих типів даних. Ці типи даних також використовуються у значеннях, які є результатом формул.

Тип даних у програмі Excel

Тип даних у формулах DAX

Опис

Ціле число

64-розрядне (8-байтне) ціле значення 1, 2

Числа без десяткових знаків. Цілими можуть бути додатні чи від’ємні числа, але це має бути ціле число від –9 223 372 036 854 775 808 (–2^63) до 9 223 372 036 854 775 807 (2^63–1).

Десяткове число

64-розрядне (8-байтне) дійсне число 1, 2

Дійсні числа – це числа, які можуть мати десяткові знаки. Дійсні числа охоплюють широкий діапазон значень:

від’ємні значення від –1,79E +308 до –2,23E –308;

нуль;

додатні значення від 2,23E –308 до 1,79E + 308.

Проте кількість значимих цифр обмежено до 15 десяткових розрядів.

TRUE/FALSE

Логічне значення

Значення True або False.

Текст

Рядок

Рядок символьних даних у Юнікоді. Це можуть бути рядки, числа або дати, представлені в текстовому форматі.

Максимальна довжина рядка 268 435 456 символів Юнікод (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-значення.

Значення

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.

Віднімання (–)

У таблиці нижче заголовок рядка – це зменшуване (ліворуч), а заголовок стовпця – це від’ємник (праворуч).

Оператор (–)

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()>"істина";"Вираз дійсний";"Вираз хибний") повертає значення "Вираз дійсний";

=IF("12">12;"Вираз дійсний";"Вираз хибний") повертає значення "Вираз дійсний";

=IF("12"=12;"Вираз дійсний";"Вираз хибний") повертає значення "Вираз хибний".

Перетворення виконуються неявно для числових типів або типів дати чи часу, як описано в таблиці нижче.

Оператор порівняння

INTEGER

CURRENCY

REAL

Дата або час

INTEGER

INTEGER

CURRENCY

REAL

REAL

CURRENCY

CURRENCY

CURRENCY

REAL

REAL

REAL

REAL

REAL

REAL

REAL

Дата або час

REAL

REAL

REAL

Дата або час

На початок сторінки

Обробка пустих рядків, пустих і нульових значень

У формулах DAX Null-значення, пусте значення, пуста клітинка чи відсутнє значення представлено одним новим типом значення – BLANK. Можна також створити пусті значення за допомогою функції BLANK або перевірити на наявність пустих значень за допомогою функції ISBLANK.

Те, як пусті значення оброблюються в операціях, таких як додавання чи об’єднання, залежить від окремої функції. У таблиці нижче підсумовано відмінності між формулами DAX і Microsoft Excel у тому, як оброблюються пусті дані.

Вираз

DAX

Excel

BLANK + BLANK

BLANK

0 (нуль)

BLANK +5

5

5

BLANK * 5

BLANK

0 (нуль)

5/BLANK

Нескінченність

Помилка

0/BLANK

NaN

Помилка

BLANK/BLANK

BLANK

Помилка

FALSE АБО BLANK

FALSE

FALSE

FALSE І BLANK

FALSE

FALSE

TRUE АБО BLANK

TRUE

TRUE

TRUE ТА BLANK

FALSE

TRUE

BLANK АБО BLANK

BLANK

Помилка

BLANK І BLANK

BLANK

Помилка

Докладніше про те, як певна функція або оператор обробляє пусті значення, див. окремі теми для кожної функції DAX у розділі Довідкові матеріали з функцій DAX.

На початок сторінки

Удосконалення навичок роботи з Office
Ознайомтеся з навчальними матеріалами
Отримуйте нові функції раніше за інших
Приєднайтеся до оцінювачів Office

Ця інформація корисна?

Дякуємо за ваш відгук!

Дякуємо за відгук! Схоже, вам може стати в нагоді допомога одного з наших спеціалістів служби підтримки Office, з яким ми вас можемо з’єднати.

×