Преминаване към основното съдържание
Поддръжка
Влизане с Microsoft
Влезте или създайте акаунт.
Здравейте,
Изберете друг акаунт.
Имате няколко акаунта
Изберете акаунта, с който искате да влезете.

Изразите за анализ на данни (DAX) звучи малко сплашващо отначало, но не позволявайте на името да ви заблуди. Основите на DAX са наистина доста лесни за разбиране. Първо – DAX НЕ е език за програмиране. DAX е език за формули. Можете да използвате DAX, за да дефинирате изчисления по избор за изчисляеми колони и за мерки (известни също като изчисляеми полета). DAX включва някои от функциите, използвани във Excel формули, и допълнителни функции, предназначени да работят с релационни данни и да извършват динамично агрегиране.

Разбиране на формулите на DAX

DAX формулите са много подобни на Excel формули. За да създадете такъв, въвеждате знак за равенство, последван от име на функция или израз и всички задължителни стойности или аргументи. Както Excel, DAX предоставя различни функции, които можете да използвате, за да работите с низове, да извършвате изчисления с помощта на дати и часове или да създавате условни стойности.

Формулите на DAX обаче са различни по следните важни начини:

  • Ако искате да персонализирате изчисления на база ред по ред, DAX включва функции, които ви позволяват да използвате текущата стойност на ред или свързана стойност, за да извършвате изчисления, които се различават в зависимост от контекста.

  • DAX включва тип функция, която връща таблица като резултат, а не единична стойност. Тези функции могат да се използват за въвеждане на други функции.

  • Функции за интелигентно време в DAX позволяват изчисления с помощта на диапазони от дати и сравняват резултатите през успоредни периоди.

Къде да използвате DAX формули

Можете да създавате формули в Power Pivot в изчисляеми columns или в изчисляеми fields.

Изчисляеми колони

Изчисляема колона е колона, която добавяте към съществуваща Power Pivot таблица. Вместо да поставянето или импортирането на стойности в колоната, създавате ФОРМУЛА DAX, която дефинира стойностите на колоните. Ако включите таблицата Power Pivot таблица в обобщена таблица (или обобщена диаграма), изчисляемата колона може да се използва, както бихте направили с всяка друга колона с данни.

Формулите в изчисляеми колони приличат много на формулите, които създавате в Excel. За разлика Excel, обаче, не можете да създадете различна формула за различни редове в таблица; вместо това формулата DAX се прилага автоматично към цялата колона.

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

Можете да създадете изчисляеми колони, които се базират на мерки и други изчисляеми колони. Избягвайте обаче да използвате същото име за изчисляема колона и мярка, тъй като това може да доведе до объркващи резултати. Когато препращате към колона, най-добре е да използвате пълноквалифицирана препратка към колона, за да избегнете случайно извикване на мярка.

За по-подробна информация вижте Изчисляеми колони в Power Pivot.

Мерки

Мярка е формула, която е създадена специално за използване в обобщена таблица (или обобщена диаграма), която използва Power Pivot данни. Мерките могат да се базират на стандартни функции за агрегиране, като например COUNT или SUM, или можете да дефинирате своя собствена формула с помощта на DAX. В областта Стойности на обобщена таблица се използва мярка. Ако искате да поставите изчисляемите резултати в друга област на обобщена таблица, вместо това използвайте изчисляема колона.

Когато дефинирате формула за изрична мярка, нищо не се случва, докато не добавите мярката в обобщена таблица. Когато добавите мярката, формулата се оценява за всяка клетка в областта Стойности на обобщената таблица. Тъй като се създава резултат за всяка комбинация от заглавки на редове и колони, резултатът за мярката може да бъде различен във всяка клетка.

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

За по-подробна информация вижте Мерки в Power Pivot.

Създаване на формули с помощта на лентата за формули

Power Pivot, като например Excel, предоставя лента за формули, за да улесни създаването и редактирането на формули и функционалността за автодовършване, за да намалите грешките при въвеждане и синтаксис.

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

За да въведете името на колона   Въведете скоба и след това изберете колоната от списъка с колони в текущата таблица. За колона от друга таблица започнете да въвеждате първите букви на името на таблицата и след това изберете колоната от падащия списък Автодовършване.

За повече подробности и подробна информация как да създавате формули, вижте Създаване на формули за изчисления в Power Pivot.

Съвети за използване на автодовършване

Можете да използвате автодовършване на формули по средата на съществуваща формула с вложени функции. Текстът непосредствено преди точката на вмъкване се използва за показване на стойности в падащия списък и целият текст след точката на вмъкване остава непроменен.

Дефинираните имена, които създавате за константи, не се показват в падащия списък Автодовършване, но все още можете да ги въведете.

Power Pivot не добавя затваряща скоба на функциите или автоматично съответства на скобите. Трябва да се уверите, че всяка функция е синтактично правилна или че не можете да запишете или използвате формулата. 

Използване на множество функции във формула

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

Много функции на DAX са предназначени да се използват само като вложени функции. Тези функции връщат таблица, която не може да бъде записана директно като резултат; тя трябва да бъде предоставена като входна информация за функция на таблица. Например функциите SUMX, AVERAGEX и MINX изискват таблица като първи аргумент.

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

Сравняване на функциите на DAX и Excel функции

Библиотеката с функции на DAX се базира Excel библиотека с функции, но библиотеките имат много разлики. Този раздел обобщава разликите и сходствата между Excel функции и DAX функции.

  • Много DAX функции имат едно и също име и същото общо поведение като функциите Excel, но са променени, за да приемат различни типове входни данни, а в някои случаи може да върнат различен тип данни. По принцип не можете да използвате функциите DAX във формула Excel или да използвате Excel формули в Power Pivot без известна промяна.

  • ФУНКЦИИТЕ НА DAX никога не приемат препратка към клетка или диапазон като препратка, но вместо това функциите DAX приемат колона или таблица като препратка.

  • DAX функциите за дата и час връщат тип данни за дата и час. За разлика Excel за дата и час връща цяло число, което представя дата като пореден номер.

  • Много от новите dax функции или връщат таблица със стойности, или правят изчисления въз основа на таблица със стойности като вход. За разлика от Excel няма функции, които връщат таблица, но някои функции могат да работят с масиви. Възможността за лесно препращане към пълни таблици и колони е нова функция в Power Pivot.

  • DAX предоставя нови функции за търсене, които са подобни на функциите за търсене на масиви и векторни Excel. Функциите DAX обаче изискват да се установи релация между таблиците.

  • Очаква се данните в колоната винаги да са от един и същ тип данни. Ако данните не са от един и същ тип, DAX променя цялата колона в типа данни, който най-добре побира всички стойности.

ТИПОВЕ ДАННИ НА DAX

Можете да импортирате данни в модел Power Pivot данни от много различни източници на данни, които може да поддържат различни типове данни. Когато импортирате или зареждате данните и след това използвате данните в изчисления или в обобщени таблици, данните се конвертират в един от типовете Power Pivot данни. За списък на типовете данни вижте Типове данни в Модели на данни.

Типът данни на таблицата е нов тип данни в DAX, който се използва като вход или изход за много нови функции. Например функцията FILTER приема таблица като входна и извежда друга таблица, която съдържа само редовете, които отговарят на условията за филтриране. Чрез комбиниране на функции на таблица с функции за агрегиране можете да извършвате сложни изчисления по динамично дефинирани набори от данни. За повече информация вижте Агрегиране в Power Pivot.

Формули и релационния модел

Прозорецът Power Pivot е област, където можете да работите с множество таблици с данни и да свържете таблиците в релационния модел. В рамките на този модел на данни таблиците са свързани помежду си чрез релации, което ви позволява да създавате корелация с колони в други таблици и да създавате по-интересни изчисления. Можете например да създадете формули, които сумират стойности за свързана таблица, и след това да запишете тази стойност в една клетка. Или, за да управлявате редовете от свързаната таблица, можете да приложите филтри към таблици и колони. За повече информация вижте Релации между таблици в модел на данни.

Тъй като можете да свързвате таблици с помощта на релации, вашите обобщени таблици могат също да включват данни от няколко колони, които са от различни таблици.

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

  • По принцип формула на DAX в колона винаги се прилага към целия набор от стойности в колоната (никога само за няколко реда или клетки).

  • Таблиците в Power Pivot трябва винаги да имат един и същ брой колони във всеки ред, а всички редове в колоната трябва да съдържат един и същ тип данни.

  • Когато таблиците са свързани чрез релация, се очаква да се уверите, че двете колони, използвани като клавиши, имат стойности, които съответстват в по-голямата си част. Тъй Power Pivot не налага целостта на връзките, е възможно в ключова колона да има стойности, които не съвпадат, и пак да създадете релация. Въпреки това наличието на празни или несъоткрити стойности може да повлияе на резултатите от формулите и появата на обобщени таблици. За повече информация вижте Справки във формули на Power Pivot.

  • Когато свързвате таблици с помощта на релации, увеличавате обхвата или cтекста, в който се оценяват формулите ви. Например формулите в обобщена таблица могат да бъдат засегнати от всякакви филтри или заглавия на колони и редове в обобщената таблица. Можете да пишете формули, които манипулират контекста, но контекстът може също да доведе до промяна на резултатите по начини, които може да не очаквате. За повече информация вижте Контекст във формули на DAX.

Актуализиране на резултатите от формулите

Данните r efresh and recalculation са две отделни, но свързани операции, които трябва да разберете, когато проектирате модел на данни, който съдържа сложни формули, големи количества данни или данни, получени от външни източници на данни.

Обновяването на данни е процесът на актуализиране на данните във вашата работна книга с нови данни от външен източник на данни. Можете да обновявате данните ръчно през определени от вас интервали. Или, ако сте публикували работната книга в SharePoint сайт, можете да планирате автоматично обновяване от външни източници.

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

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

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

Отстраняване на неизправности във формули

Грешки при писане на формули

Ако получите грешка при дефиниране на формула, формулата може да съдържа или синтактичнагрешка, семантична грешкаили грешка при изчисление.

Синтактичните грешки са най-лесните за разрешаване. Те обикновено включват липсваща скоба или запетая. За помощ относно синтаксиса на отделните функции вижте справка за функцията DAX.

Другият тип грешка възниква, когато синтаксисът е правилен, но стойността или колоната, към която има препратка, няма смисъл в контекста на формулата. Такива семантични и изчислителни грешки може да са причинени от някой от следните проблеми:

  • Формулата препраща към несъ съществуваща колона, таблица или функция.

  • Формулата изглежда правилна, но когато ядрото за данни извлича данните, той намира несъответствие на типа и повдига грешка.

  • Формулата предава неправилно число или тип параметри на функция.

  • Формулата препраща към друга колона, която има грешка, и следователно нейните стойности са невалидни.

  • Формулата препраща към колона, която не е обработена, което означава, че има метаданни, но няма действителни данни, които да се използват за изчисления.

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

Неправилни или необичайни резултати при класиране или подреждане на стойности на колони

Когато редувате или поръчвате колона, която съдържа стойност NaN (Not a Number), може да получите грешни или неочаквани резултати. Например когато изчислението раздели 0 на 0, се връща резултат на NaN.

Това е така, защото формулата извършва подреждане и класиране чрез сравняване на числовите стойности; NaN обаче не може да се сравни с други числа в колоната.

За да осигурите правилни резултати, можете да използвате условни команди, като използвате функцията IF, за да тествате за стойности на NaN и да върнете числова стойност 0.

Съвместимост с табличен режим на услугите за анализ и режим на directQuery

По принцип формулите на DAX, които създавате в Power Pivot, са напълно съвместими с табличен модел на Услугите за анализ. Ако обаче мигрирате модела на Power Pivot към екземпляр на услугите за анализ и след това разположите модела в режим DirectQuery, има някои ограничения.

  • Някои DAX формули може да връщат различни резултати, ако разположите модела в режим DirectQuery.

  • Някои формули може да доведат до грешки при проверката, когато разположите модела в режим DirectQuery, тъй като формулата съдържа DAX функция, която не се поддържа спрямо релационния източник на данни.

За повече информация вижте Документация за табличен модел на услугите за анализ в SQL Server 2012 BooksOnline.

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

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

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

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

Беше ли полезна тази информация?

Доколко сте доволни от качеството на езика?
Какво е повлияло на вашия потребителски опит?
Като натиснете „Подаване“, вашата обратна връзка ще се използва за подобряване на продуктите и услугите на Microsoft. Вашият ИТ администратор ще може да събира тези данни. Декларация за поверителност.

Благодарим ви за обратната връзка!

×