QuickStart: Научете основите на DAX за 30 минути

Важно : Тази статия е преведена машинно – вижте отказа от отговорност. Английската версия на тази статия за справка можете да намерите тук .

Това ръководство за бърз старт е предназначено за потребители, които не са запознати с Power Pivot в Excel или с проектите на таблични модели, създадени с SQL Server Data Tools. Целта му е бързо и лесно да ви въведе в това как да използвате изразите за анализ на данни (DAX), за да решавате някои основни аналитични проблеми и проблеми при моделирането на данните. Тази тема включва концептуална информация, серия от задачи, които може да изпълните, и няколко теста за проверка на наученото. След като приключите тази тема, би трябвало добре да сте разбрали най-основните понятия на DAX.

Какво е DAX?

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

Защо функциите на DAX са толкова важни?

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

Необходими условия

Вероятно вече сте запознати със създаването на формули в Microsoft Excel. Тези знания ще ви помогнат да разберете DAX, но дори и ако нямате опит с формулите на Excel, понятията, обяснени тук, ще ви помогнат да направите първи стъпки в създаването на формули на DAX и в незабавното решаване на реални проблеми от областта на фирменото разузнаване.

Ние ще се фокусира специално върху разбиране DAX формули, използвани в изчисления. Би трябвало вече да са запознати с основните концепции за изчисляеми колони и мерки (известен също като изчисляеми полета), които са описани в Power Pivot помощ. Също така трябва да са запознати с Power Pivot в Excel за създаване на среда и инструменти.

Примерна работна книга

Най-добрият начин да усвоите DAX е да създадете някои основни формули, да ги използвате с реални данни и сами да видите резултатите. Примерите и задачите тук използват работната книга Contoso Sample DAX Formulas.xlsx. Може да изтеглите работната книга от http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x409. След като сте изтеглили работната книга на компютъра си, отворете я, а след това отворете прозореца на Power Pivot.

Да започваме!

Ще представим рамката на DAX на базата на три много важни понятия: Синтаксис, Функции и Контекст. Разбира се, в DAX има и други важни понятия, но вникването в тези три понятия ще ви предложи най-добрата основа, върху която да изградите уменията си относно DAX.

Синтаксис

Преди да започнете да създавате собствени формули, нека да разгледаме синтаксиса на формулите на DAX. Синтаксисът включва разнообразните елементи, които изграждат дадена формула, или казано по-просто, как се пише формула. Например да погледнем една проста формула на DAX, която се използва за създаване на нови данни (стойности) за всеки ред на изчисляемата колона "Margin" в таблицата "FactSales": (цветовете на текстовете във формулата са само за по-добра прегледност).

Формула за изчисляема колона

Синтаксисът на тази формула включва следните елементи:

  1. Операторът за знак за равенство (=) показва началото на формулата, а когато формулата е изчисляема, той връща резултат или стойност. Всички формули, които изчисляват стойност, започват със знак за равенство.

  2. Посочената колоната [SalesAmount] съдържа стойностите, от които искаме да извадим. Препратка към колона във формула е винаги заградена от квадратни скоби []. За разлика от формулите в Excel, който правят препратка към клетка, формулите на DAX винаги правят препратка към колона.

  3. Математически оператор за изваждане (-).

  4. Посочената колона [TotalCost] съдържа стойностите, които искаме да извадим от стойностите в колона [SalesAmount].

Когато се опитвате да разберете как се чете дадена формула на DAX, най-полезно е да анализирате всеки от елементите й на езика, на който мислите и говорите ежедневно. Например можете да прочетете тази формула по следния начин:

В FactSales таблица, за всеки ред на изчислената колона, изчисляване на стойност (=) като извадите (-) стойностите в [ TotalCost ] колона от стойностите в [ SalesAmount ] колона.

Нека да разгледаме друг тип формула, такава, която се използва в мярка:

Формула за изчисляема колона

Тази формула включва следните синтактични елементи:

  1. Името на мярка Sum of Sales Amount. Формули за мерки могат да включват името на мярка, последвано от двоеточие, последван от формулата за изчисление.

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

  3. Функцията SUM събира всички числа от колоната [SalesAmount]. По-нататък ще научите повече за функциите.

  4. Кръглите скоби () заграждат един или повече аргументи. Всички функции изискват поне един аргумент. Всеки аргумент подава стойност към дадена функция.

  5. Посочената таблица FactSales.

  6. Адресираната колона [SalesAmount] в таблицата FactSales. С този аргумент функцията SUM разбира в коя колона да агрегира сума (SUM).

Може да прочетете тази формула по следния начин:

За мярка наречено Sum of Sales Amount, да се изчисли (=) СУМАТА от стойностите в [ SalesAmount ] колона в FactSales таблица.

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

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

За разлика от на изчисляемата колона по-рано, ще видите колона [SalesAmount] е предхождани от таблицата FactSales, в които принадлежи колоната. Това е известно като напълно квалифицирано име на колона, че съдържа името на колоната, предхождани от името на таблицата. Колоните, използвани във една и съща таблица не изискват името на таблицата бъдат включени във формулата. Това може да направи дълги формули, които препращат много колони, по-кратък и по-лесен за четене. Въпреки това е добра практика винаги да включва името на таблицата във формулите за мярка, дори когато сте в една и съща таблица.

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

Много важно е формулите ви да имат правилен синтаксис. Ако синтаксисът е неправилен, в повечето случаи ще бъде върната синтактична грешка. В други случаи синтаксисът може да е правилен, но върнатите стойности да се различават от очакванията ви. Power Pivot (SQL Server Data Tools) включва IntelliSense - функция, която служи за създаване на синтактично правилни формули, като ви помага да изберете правилните елементи.

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

Задача: Създаване на проста формула за изчисляема колона

  1. Ако не сте вече в прозореца на Power Pivot в Excel, в Power Pivot лентата, щракнете върху Power Pivot прозорец.

  2. В прозореца на Power Pivot щракнете върху таблицата (раздела) FactSales.

  3. Превъртете до най-дясната колона, а след това върху заглавката на колоната, щракнете върху Добавяне на колона.

  4. Щракнете върху лентата за формули най-отгоре на прозореца за проектиране на модел.

    Лента за формули на Power Pivot

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

    Сега да разгледаме трите бутона отляво на лентата за формули.

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

    Когато курсорът в лентата за формули е активен, тези три бутона стават активни. Най-левият бутон, X, е обикновен бутон за отказ. Може спокойно да го натиснете. Курсорът вече не се вижда в лентата за формули, а бутоните за отказ и отметка не се появяват. Щракнете отново върху лентата за формули. Бутоните за отказ и за отметка ще се появят отново. Това означава, че сте готови да започнете да въвеждате формула.

    Бутонът за отметка е бутонът за проверка на формулата. Той не върши нищо особено, докато не въведете формула. Ще се върнем на това по-късно.

    Щракнете върху бутона Fx . Ще видите, че нов диалогов прозорец се появява; диалоговия прозорец Вмъкване на функция. Диалоговият прозорец Вмъкване на функция е най-лесният начин да започнете да въвеждате формула DAX. Ще добавим функция към формула, когато създаваме мярка е малко по-късно, но за сега, не трябва да добавите функция за вашата формула в изчисляема колона. Продължете нататък и Затворете диалоговия прозорец Вмъкване на функция.

  5. В лентата за формули въведете знак за равенство =, след което отворете квадратна скоба [. Ще се появи малък прозорец с всички колони в таблицата FactSales. Това е функцията IntelliSense в действие.

    Тъй като изчисляемите колони винаги се създават в активната таблица, в която се намирате, не е необходимо преди името на колоната да въведете името на таблицата. Продължете, като превъртите надолу и щракнете два пъти върху [SalesQuantity]. Може също да превъртите до името на желаната колона, след което да натиснете Tab.

    Курсорът е вече активен отдясно на [SalesQuantity].

  6. Въведете интервал, след това въведете оператор за изваждане - (знак минус), а след това въведете още един интервал.

  7. Сега, въведете друга кръгла скоба [. Този път, изберете [ReturnQuantity] колоната и след това натиснете клавиша Enter.

    Ако получите грешка, вгледайте се внимателно в синтаксиса. Ако е необходимо, сравнете го с формулата в изчисляемата колона Margin, която описахме по-рано.

    След като натиснете Enter, за да завършите формулата, думата Изчисляване се появява в лентата на състоянието в долната част на прозореца на Power Pivot. Става бързо, макар че току-що изчислихте новите стойности за повече от три милиона реда.

  8. Щракнете с десния бутон върху заглавката на колоната и преименувайте колоната на "NetSales".

Готово! Току-що създадохте проста, но изключително функционална формула на DAX. За всеки ред в таблицата FactSales формулата NetSales изчислява стойност, като изважда стойността в колона [ReturnQuantity] от стойността в колона [SalesQuantity]. Забележете, че казваме "За всеки ред”. Това ви дава известна представа за друго важно понятие в DAX; контекст на реда. По-нататък ще научите повече за контекста на реда.

Съвет : 

Нещо наистина важно да разберат, когато пишете оператор в DAX формула е типа на данните в аргументите, които използвате. Например, ако ви се налага да въведете следната формула, = 1 и 2, стойността, върната ще бъде текстова стойност на "12". Това е защото амперсанд (&) оператор за обединение на текст. DAX интерпретира тази формула за четене: изчисляване на резултат, като преминете стойността 1 като текст и добавяне на стойност 2 като текст. Сега, ако сте въвели = 1 + 2, DAX чете тази формула като: изчисляване на резултат като числова стойност 1 и добавяне на числова стойност 2. Резултатът е "3", числова стойност. DAX изчислява получения стойности в зависимост от оператора във формула, не се базира на типа на данните на колоните, използвани в аргумент. Типове данни в DAX са много важно, но извън обхвата на това бързо стартиране. За да научите повече за типовете данни и оператори във формули на DAX, вижте DAX препратката (http://go.microsoft.com/fwlink/?LinkId=239769 & clcid = 0x409) в книги онлайн.

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

Задача: Създаване на формула за мярка

  1. В таблицата FactSales щракнете върху която и да е празна клетка в областта за изчисляване. Това е областта с празни клетки точно под всяка таблица в прозореца на Power Pivot.

Област за изчисляване на Power Pivot

  1. В лентата за формули въведете името "Previous Quarter Sales:".

  2. Въведете знака за равенство =, за да започнете формулата за изчисление.

  3. Въведете първите няколко букви "CAL", след което щракнете два пъти върху функцията, която искате да използвате. В тази формула искате да използвате функцията CALCULATE.

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

    Забележете, че след като отворите скобата, IntelliSense ви показва аргументите, необходими за функцията CALCULATE. Ще научите повече за аргументите малко по-нататък.

  5. Въведете първите няколко букви на таблицата FactSales и след това в падащия списък, щракнете двукратно върху FactSales[продажби].

  6. Въведете запетая (,), за да укажете първия филтър, след това въведете PRE и щракнете два пъти върху функцията PREVIOUSQUARTER.

    След като сте избрали функцията PREVIOUSQUARTER, се появява друга кръгла скоба за начало, която указва, че е необходим друг аргумент; този път за функцията "PREVIOUSQUARTER".

  7. Въведете първите няколко букви Dim и след това щракнете двукратно върху DimDate[DateKey].

  8. Затворете и двата аргумента, които са подадени към функцията PREVIOUSQUARTER и функцията CALCULATE, като въведете две затварящи кръгли скоби )).

    Вашата формула би трябвало да изглежда така:

    Previous Quarter Sales:=CALCULATE(FactSales[Sales], PREVIOUSQUARTER(DimDate[DateKey]))

  9. Щракнете върху бутона за проверка на формула в лентата за формули, за да потвърдите валидността на формулата. Ако получите грешка, проверете всеки елемент на синтаксиса.

Вие го направихте! Току-що създадохте мярка с помощта на DAX и не лесно при това. Какво ще направи тази формула се изчислява общата сума на продажбите за предходното тримесечие, в зависимост от филтри, приложени в обобщена таблица или обобщена диаграма.

Току-що се запознахте с някои важни аспекти на формулите на DAX. Първо, тази формула включва две функции. Забележете, че функцията PREVIOUSQUARTER е вложена като аргумент, който се предава към функцията CALCULATE. Формулите на DAX може да съдържат до 64 вложени функции. Малко вероятно е формула да съдържа толкова много вложени функции. В действителност ще е много трудно да се създаде подобна формула и да се отстранят грешките, а и най-вероятно няма да работи особено бързо.

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

Накрая използвахте функцията CALCULATE. Това е една от най-функционалните функции в DAX. Докато създавате модели на данни и по-сложни формули, има голяма вероятност често да използвате тази функция. Представянето на функцията CALCULATE е извън обхвата на това ръководство за бърз старт, но докато разширявате познанията си за DAX, обърнете й специално внимание.

Забележка : Обикновено, за да използвате функциите за интелигентно време във формули на DAX, трябва да посочите уникална колона за дата, като използвате диалоговия прозорец "Маркиране като таблица с дати". В работната книга Contoso DAX Formula Samples.xlsx колоната DateKey в таблицата DimDate се избира като уникална колона с дати.

Бонус

Можете да се питат: "Какво е простият DAX формула да създадете?" Отговор на това е, "формулата не е нужно да". И това е точно това, което можете да направите с помощта на стандартни обединения функция в мярка. Почти всеки модел на данни трябва да филтрирате и изчисляване на обобщени данни. Например функцията SUM в Sum of Sales Amount мярка сте видели по-рано се използва за добавяне на всички числа в определена колона. DAX включва няколко други функции, че сумарните стойности също. Можете автоматично да създадете формули, които използват стандартни обединения с помощта на функцията за Автосумиране.

Бонус задача: Създаване на мярка формула с помощта на функцията за Автосумиране

  1. В таблицата FactSales превъртете до колоната ReturnQuantity, а след това щракнете върху заглавката на колоната, за да изберете цялата колона.

  2. В раздела Начало, в лентата, в групата изчисления щракнете върху бутона "Автосумиране".

Автосумиране в Power Pivot

  1. Щракнете върху стрелката надолу до "Автосумиране" и след това щракнете върху средно (бележка за други стандартни агрегатни функции, можете да използвате, твърде).
    Веднага, се създава нова мярка с името на средната ReturnQuantity: последвано от формулата = AVERAGE([ReturnQuantity]).

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

От това следва да сте придобили сравнително добра представа за синтаксиса, който се използва във формулите на DAX. Освен това ви въведохме и в някои наистина "хитри" функции като IntelliSense и "Автосумиране", за да ви помогнем да създавате бързи, лесни и правилни формули. Естествено, има още много неща, които може да научите за синтаксиса. Добра възможност да научите повече ви предоставят справочника на DAX или онлайн книгите на SQL.

Бърз тест за синтаксис

  1. Какво прави този бутон на лентата за формули?
    бутон за функция

  2. От какво е винаги заградено името на колона във формула на DAX?

  3. Как да напишете формула за следното:
    в DimProduct таблица, за всеки ред в UnitMargin изчисляема колона, изчисляване на стойност, като извадите стойностите в Едцена колона от стойностите в UnitPrice колона?

Отговорите може да видите в края на тази тема.

Функции

Функциите са предварително зададени формули, които извършват изчисления, като използват специфични стойности, наречени аргументи, в конкретна подредба или структура. Аргументите могат да бъдат други функции, друга формула, препратки към колона, числа, текст, логически стойности като TRUE или FALSE или константи.

DAX включва следните категории от функции: дата и час, информационни, логически, математически, статистически, текстови и функции за интелигентно време. Ако сте запознати с функциите във формулите на Excel, много от функциите на DAX ще ви се сторят познати; но функциите на DAX са уникални по следните начини:

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

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

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

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

Понякога е трудно да определите кои функции трябва да използвате в дадена формула. Power Pivot и конструкторът на таблични модели в SQL Server Data Tools включват функцията "Вмъкване на функция" – диалогов прозорец, който ви помага да избирате функциите по категория и предоставя кратко описание на всяка функция.

Вмъкване на функция

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

Задача: Добавете функция към формула, като използвате "Вмъкване на функция".

  1. В таблицата FactSales превъртете до най-дясната колона, след това върху заглавката на колоната щракнете върху "Добавяне на колона".

  2. В лентата за формули въведете знака за равенство =.

  3. Щракнете върху бутона за вмъкване на функция. Вмъкване на функция Това отваря диалоговия прозорец за вмъкване на функция.

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

  5. За тази формула искате да върнете някои данни, които вече съществуват в друга таблица. Затова ще използвате функция от категория Филтър. Продължете, като щракнете върху категорията Филтър, а след това в Избор на функция превъртете надолу и щракнете два пъти върху функцията RELATED. Щракнете върху OK, за да затворите диалоговия прозорец "Вмъкване на функция".

  6. Използвайте IntelliSense, за да намерите и изберете колоната DimChannel[ChannelName].

  7. Затворете формулата, след което натиснете Enter.

  8. След като натиснете Enter, за да завършите формулата, думата Изчисляване се появява в лентата на състоянието долната част на прозореца на Power Pivot. Както виждате, току-що създадохте нова колона в таблицата FactSales с информация за канал от таблицата DimChannel.

  9. Преименувайте колоната на Channel.

    Формулата ви би трябвало да изглежда така: =RELATED(DimChannel[ChannelName])

Току-що бяхте запознати с друга много важна функция в DAX – функцията RELATED. Функцията RELATED връща стойности от друга таблица. Може да използвате RELATED при положение, че е налице релация между таблицата, в която сте в момента, и таблицата, която съдържа стойностите, които искате да получите. Разбира се, функцията RELATED предлага огромни възможности. В този случай може да включите канала за продажби за всяка от продажбите в таблица FactSales. Сега може да скриете таблицата DimChannel от списъка с полета на обобщената таблица, като така улеснявате навигацията и виждате само най-важната информация, която наистина ви е необходима. Подобно на функцията CALCULATE, описана по-рано, функцията RELATED е много важна и вероятно ще я използвате доста често.

Както виждате, функциите на DAX ще ви помогнат да създавате изключително функционални формули. А всъщност ние само се докоснахме до основните положения, свързани с функциите. С усъвършенстване на уменията ви в DAX ще започнете да създавате формули, като използвате множество различни функции. Една от най-добрите възможности за повече информация относно всички функции на DAX е Справочникът за изрази за анализ на данни (DAX).

Бърз тест за функции

  1. Към какво препраща винаги дадена функция?

  2. Може ли формула да съдържа повече от една функция?

  3. Каква категория функции бихте използвали, за да съедините два текстови низа в един низ?

Отговорите може да видите в края на тази тема.

Контекст

Контекстът е едно от най-важните понятия в DAX, което трябва да разберете. Има два типа контекст в DAX: контекст на реда и контекст на филтъра. Първо ще се спрем на контекста на реда.

Контекст на реда

Контекстът на реда най-лесно се разбира, като на него се погледне като текущ ред. Например спомняте ли си изчисляемата колона Margin, която разгледахме по-рано, когато ви въвеждахме в синтаксиса? Формулата "=[SalesAmount] - [TotalCost]" изчислява стойност в колона Margin за всеки ред в таблицата. Стойностите за всеки ред се изчисляват от стойности в две други колони, [SalesAmount] и [TotalCost] на същия ред. DAX може да изчисли стойностите за всеки ред в колоната Margin, тъй като има контекст: за всеки ред се вземат стойностите в колона [TotalCost] и се изваждат от стойностите в колона [SalesAmount].

В избраните клетки, показани по-долу, стойността, $49,54 в текущия ред е изчислена чрез изваждане на стойността $51,54 в колона [TotalCost] от стойността $101,08 в колона [SalesAmount].

Контекст на реда в Power Pivot

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

Контекст на филтъра

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

Контекстът на филтъра не съществува вместо контекста на реда; по-точно той се прилага в допълнение към контекста на реда. Например за да стесните още повече стойностите, като се включват в дадено изчисление, може да приложите контекст на филтър, който не само указва контекста на реда, но също така указва конкретна стойност (филтър) в този контекст на реда.

Контекстът на филтъра може лесно да се види в обобщените таблици. Например когато добавите TotalCost към областта "Стойности", а след това добавите Year и Region към "Редове" или "Колони", вие дефинирате контекст на филтъра, който избира поднабор от данни на базата на дадена година или регион.

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

Формула

Ясно е, че тази формула е по-сложна от някои от другите формули, които разгледахме. Но за да бъде разбрана по-добре, тази формула може да бъде сведена до това, което правихме и с другите формули.

Тази формула включва следните синтактични елементи:

  1. Името на мярка StoreSales, последвано от двоеточие:.

  2. Операторът за знак за равенство (=) показва началото на формулата.

  3. Функцията CALCULATE оценява израз като аргумент в контекст, който е променен от указаните филтри.

  4. Кръглите скоби () заграждат един или повече аргументи.

  5. Мярка [продажби] в същата таблица, като израз. Мярка продажби има формулата: = SUM(FactSales[SalesAmount]).

  6. Запетая (,) отделя различните филтри.

  7. Посочената колона и конкретна стойност, DimChannel[ChannelName] =”Store”, като филтър.

Тази формула ще осигури само продажбите стойности, определени от мярка за продажби, като филтър, се изчисляват само за редове в колоната DimChannel [ChannelName] със стойност "Store", като филтър.

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

Бърз тест за контекст

  1. Кои са двата типа контекст?

  2. Какво е контекст на филтъра?

  3. Какво е контекст на реда?

Отговорите може да видите в края на тази тема.

Обобщение

Сега, когато имате основно разбиране на най-важните понятия в DAX, можете да започнете създаването на DAX формули за изчисляеми колони и мерки на собствени. DAX наистина може да е малко сложен, за да научите, но има много ресурси, достъпни за вас. След прочитането на тази тема няколко пъти и изпробвате някои от вашите собствени формули, можете да научите повече за други DAX понятия и формули, които могат да ви помогне да решите проблемите си собствен бизнес. Има много ресурси на DAX, достъпни за вас в Power Pivot помощ, SQL Server книги онлайн, документи и Блогове от Microsoft и водещи BI професионалисти. DAX Wiki Ресурсен център (http://social.technet.microsoft.com/wiki/contents/articles/dax-resource-center.aspx) е чудесно място да започнете. Изрази за анализ на данни (DAX) препратка също е чудесен ресурс. Не забравяйте да го запишете във вашите "Предпочитани".

DAX, както е представен в техническата документация "Табличен модел за бизнес разузнаване" и който може да се свали от (http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x409), предоставя по-подробна информация за понятията, които представихме тук, както и много други понятия и формули за напреднали. Тази техническа документация използва същата работна книга Contoso DAX Sample Formulas.xlsx, която вече имате.

Отговори на бързите тестове

Синтаксис:

  1. Отваря "Вмъкване на функция".

  2. Квадратни скоби [].

  3. =[UnitPrice] - [UnitCost]

Функции:

  1. Таблица и колона.

  2. Да. Една формула може да съдържа до 64 вложени функции.

  3. Текстови функции.

Контекст:

  1. Контекст на реда и контекст на филтъра.

  2. Един или повече филтри в изчисление, което определя една-единствена стойност.

  3. Текущият ред.

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

Разширете уменията си
Преглед на обучението
Получавайте първи новите функции
Присъединете се към участниците в Office Insider

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

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

Благодарим ви за вашата обратна връзка. Изглежда, че ще бъде полезно да ви свържем с един от нашите агенти по поддръжката на Office.

×