В модели данных у каждого столбца есть связанный тип данных, который определяет тип данных, которые могут в нем быть: целые числа, десятичных числа, текст, денежные данные, даты и время и так далее. Тип данных также определяет, какие виды операций можно делать со столбцом и сколько памяти требуется для хранения значений в столбце.

Если вы используете надстройки 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 десятичной частью.

ИСТИНА/ЛОЖЬ

логический

Значение True или False.

Текст

String

Строка данных символов Юникода. Могут быть строками, числами или датами, представленными в текстовом формате.

Максимальная длина строки составляет 268 435 456 символов Юникода (256 мега знаков) или 536 870 912 bytes.

Системная дата

Функции даты и времени

Даты и время в принятом представлении даты и времени.

Допустимые даты — это все даты после 1 января 1900 г.

Валюта

Валюта

Тип данных "Валюта" позволяет получить значения от -922 337 203 685 477,5808 до 922 337 203 685 477,5807 с точностью до четырех десятичных разрядов.

Н/Д

Пустой.

Пустое — это тип данных в DAX, который представляет и заменяет SQL NULL. Вы можете создать пустое с помощью функции BLANK и проверить пустые функциональность с помощью логической функции ЕПУСТО.

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, так как истина неявно преобразуется в число 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 (левая сторона), а заглавная строка столбца — вычитаемая (правая сторона).

Оператор (-)

INTEGER

CURRENCY

REAL

Функции даты и времени

INTEGER

INTEGER

CURRENCY

REAL

REAL

CURRENCY

CURRENCY

CURRENCY

REAL

REAL

REAL

REAL

REAL

REAL

REAL

Функции даты и времени

Функции даты и времени

Функции даты и времени

Функции даты и времени

Функции даты и времени

Например, если дата используется в операции вычитания с любым другим типом данных, оба значения преобразуются в даты, а возвращаемая дата также является датой.

Примечание: Модели данных также поддерживают unary 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

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

Операторы сравнения

В выражениях сравнения boolean values are considered greater than string values and string values are considered greater than numeric or date/time values; числа и значения даты и времени имеют одинаковый ранг. Для значений boolean или string не выполняется никаких неявных преобразований; Пустое значение преобразуется в 0/""/false в зависимости от типа данных другого сравниваемого значения.

Следующие выражения DAX показывают такое поведение:

=ЕСЛИ(ЛОЖЬ()>"истина";"Выражение истинно"; "Выражение ложно"), возвращает "Выражение истинно"

=ЕСЛИ("12">12;"Выражение истинно"; "Выражение ложно"), возвращает "Выражение истинно".

=ЕСЛИ("12"=12,"Выражение истинно", "Выражение ложно"), возвращает "Выражение ложно"

Преобразование выполняется неявно для числных типов или типов даты и времени, как описано в следующей таблице:

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

INTEGER

CURRENCY

REAL

Функции даты и времени

INTEGER

INTEGER

CURRENCY

REAL

REAL

CURRENCY

CURRENCY

CURRENCY

REAL

REAL

REAL

REAL

REAL

REAL

REAL

Функции даты и времени

REAL

REAL

REAL

Функции даты и времени

К началу страницы

Обработка пустых, пустых строк и нулевых значений

В DAX пустое, пустое значение, пустая ячейка или отсутствующие значения представлены новым типом пустых значений. Вы также можете создавать пустые листы с помощью функции ПУСТАЯ или тестировать их с помощью функции ЕПУСТО.

То, как пустые пустую функции обрабатываются в операциях, например с добавлением или секацией, зависит от отдельной функции. В таблице ниже общены различия между формулами DAX и Microsoft Excel в том, как обрабатываются пустые значения.

Выражение

Дакс

Excel

BLANK+BLANK

Пустой

0 (ноль)

BLANK+5

5

5

BLANK * 5

Пустой

0 (ноль)

5/ПУСТО

Бесконечности

Ошибка

0/ПУСТОЕ

Nan

Ошибка

ПУСТОЕ/ПУСТОЕ

Пустой

Ошибка

ЛОЖЬ ИЛИ ПУСТОЕ

ЛОЖЬ

ЛОЖЬ

ЛОЖЬ И ПУСТОЕ

ЛОЖЬ

ЛОЖЬ

ИСТИНА ИЛИ ПУСТОЕ

ИСТИНА

ИСТИНА

ИСТИНА И ПУСТОЕ

ЛОЖЬ

ИСТИНА

ПУСТОЕ ИЛИ ПУСТОЕ

Пустой

Ошибка

ПУСТЫЕ И ПУСТЫЕ

Пустой

Ошибка

Подробные сведения о том, как определенная функция или оператор обрабатывают пустые данные, см. в отдельных разделах для каждой функции DAX в разделе Справочник по функции DAX.

К началу страницы

Нужна дополнительная помощь?

Совершенствование навыков
Перейти к обучению
Первоочередный доступ к новым возможностям
Присоединение к программе предварительной оценки Майкрософт

Были ли сведения полезными?

Насколько вы удовлетворены качеством перевода?
Что повлияло на вашу оценку?

Спасибо за ваш отзыв!

×