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

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

Если вы используете надстройка Power Pivot, вы можете изменить тип данных столбца. При необходимости можно делать в случае, если столбец дат импортирована как строка, но требуется иметь что-то другое. Дополнительные сведения содержатся в разделе Задание типа данных столбца в Power Pivot.

В этой статье

Сводка по типам данных

Тип данных TABLE

Тип данных явное и неявное преобразования в формулах 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 При попытке импорта данных с очень большими числовыми значениями может возникнуть следующая ошибка:

Ошибка памяти базы данных: Столбец «<имя столбца>» таблицы «<table name>» содержит значение «1.7976931348623157e+308», которое не поддерживается. Операция была отменена.

Эта ошибка возникает из-за того, что Power Pivot использует данное значение для представления значений NULL. Значения в следующем списке являются синонимами значения NULL:

Значение

9223372036854775807

-9223372036854775808

1,7976931348623158e+308

2,2250738585072014e-308

Удалите значение из данных и повторите импорт.

Тип данных table

В множество функций, например агрегаты и логики операций со временем DAX использует тип данных table. Некоторые функции требуют ссылка на таблицу; другие функции возвращают таблицу, затем используется в качестве входных данных для других функций. В некоторых функций, которые требуют таблицы в качестве входных данных можно указать выражение, определяющее таблицу; для некоторых функций необходим ссылку на базовой таблицы. Справочник по функциям 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

Дата и время

Date/time

Date/time

Date/time

Date/time

Date/time

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

Вычитание (-)

В следующей таблице заголовок строки содержит значение minuend (слева), а заголовок столбца содержит значение subtrahend (справа).

Оператор (-)

INTEGER

CURRENCY

REAL

Дата и время

INTEGER

INTEGER

CURRENCY

REAL

REAL

CURRENCY

CURRENCY

CURRENCY

REAL

REAL

REAL

REAL

REAL

REAL

REAL

Дата и время

Date/time

Date/time

Date/time

Date/time

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

Примечание : Модели данных также поддерживают унарный оператор – (отрицание), но этот оператор не изменяет тип данных операнда.

Умножение (*)

Оператор (*)

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,"Expression is true", "Expression is false"), возвращает значение «выражение true».

= IF("12"=12,"Expression is true", "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 значение 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 OR BLANK

FALSE

FALSE

FALSE AND BLANK

FALSE

FALSE

TRUE OR BLANK

ИСТИНА

ИСТИНА

TRUE AND BLANK

FALSE

TRUE

BLANK OR BLANK

BLANK

Ошибка

BLANK AND BLANK

BLANK

Ошибка

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

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

Примечания : 

  • Отказ от ответственности относительно машинного перевода. Данная статья была переведена с помощью компьютерной системы без участия человека. Microsoft предлагает эти машинные переводы, чтобы помочь пользователям, которые не знают английского языка, ознакомиться с материалами о продуктах, услугах и технологиях Microsoft. Поскольку статья была переведена с использованием машинного перевода, она может содержать лексические,синтаксические и грамматические ошибки.

  • Используйте английский вариант этой статьи, который находится здесь, в качестве справочного материала. Вместе с другими участниками сообщества Майкрософт вы можете улучшить эту статью с помощью Community Translation Framework (CTF). Просто наведите указатель мыши на предложение в статье и выберите команду "УЛУЧШИТЬ ПЕРЕВОД" в мини-приложении CTF. Для получения дополнительных сведений о CTF щелкните здесь. Используя CTF, вы соглашаетесь с нашими условиями предоставления услуг.

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

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

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

Благодарим за отзыв! Возможно, будет полезно связать вас с одним из наших специалистов службы поддержки Office.

×