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 таблица.

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

Обърнете внимание, има няколко неща, различни за тази формула в сравнение с формулата, ние използвахме за на изчисляемата колона. По-конкретно ние въведе функцията 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

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

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

    Formula bar

    Когато курсорът в лентата за формули е активен, тези три бутона стават активни. Най-левият бутон, 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

Щракнете върху стрелката надолу до "Автосумиране"и след това щракнете върху Average (бележка за други стандартни агрегатни функции, можете да използвате, твърде).

Веднага, се създава нова мярка с името на средната ReturnQuantity: последвано от формулата = AVERAGE([ReturnQuantity]).

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

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

За синтаксис

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

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

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

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

Функции

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  5. За тази формула искате да се върнете някои данни, които вече съществува в друга таблица. За това вие ще използвате функция в категорията филтър. Продължете нататък и щракнете върху категорията филтър и след това в Изберете функция, превъртете надолу и щракнете двукратно върху СВЪРЗАНАТА функция. Щракнете върху ОК, за да затворите диалоговия прозорец Вмъкване на функция .

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

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

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

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

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

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

Както можете да видите, функции в 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. = [Единична цена] - [Едцена]

Функции:

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

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

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

Контекст:

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

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

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

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

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

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

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

×