Applies ToExcel за Microsoft 365 Excel 2024 Excel 2021 Excel 2019 Excel 2016

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

Ако използвате добавката 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.

Текст

Низ

Низ от данни със символи Unicode. В даден текстов формат може да се представят низове, цифри или дати.

Максималната дължина на низа е 268 435 456 символа Unicode (256 мега символа) или 536 870 912 байта.

Дата

Дата/час

Дати и часове в приет израз на дата-час.

Валидни дати са всички дати след 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, а резултатът се връща като 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";"Изразът е истина";"Изразът е неистина") връща "Изразът е истина"

=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 нула, празна стойност, празна клетка или липсваща стойност се представят от един и същи нов тип стойност – 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.

Най-горе на страницата

Нуждаете ли се от още помощ?

Искате ли още опции?

Разгледайте ползите от абонамента, прегледайте курсовете за обучение, научете как да защитите устройството си и още.

Общностите ви помагат да задавате и отговаряте на въпроси, да давате обратна връзка и да получавате информация от експерти с богати знания.