Започвайки с DAX в Power BI



Този блог на Edureka ви помага да започнете с Power BI DAX Basics или Data Analytics Expressions, ако сте нов в Power BI със синтаксиса и примерите.

Този блог е създаден по същество за потребители, нови за и има за цел да ви даде бърза и лесна разходка по формула, наречена език Изрази за анализ на данни (DAX) .Ако сте запознати с функциите в MS Excel или , много от формулите в това Основи на Power BI DAX статия ще изглежда подобно на вас.

Като казах това, ето концепциите, които са неразделна част от всичко , след като научите кое трябва да имате добро разбиране на най-основните понятия в DAX.





Основи на Power BI DAX: Какво е DAX?

И така, нека започнем с основите на Power BI DAX, нали?

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



Но какво, ако трябва да анализирате процента на растеж във всички продуктови категории за всички различни периоди от време? Или трябва да изчислите годишния ръст на вашата компания в сравнение с пазарните гиганти?

Изучаването на DAX ще ви помогне да извлечете максимума от вашето и решаване на реални бизнес проблеми.

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



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

Основи на Power BI DAX: Как работи?

Първо, нека ви обясня как работи това.В по-голямата си част ще формулираме разбирането си за Power BI DAX около три основни концепции: Синтаксис , Контекст , и Функции .

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

Синтаксис

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

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

Синтаксис - Power BI DAX - Edureka

I. Общо продажби е името на мярката.

II. The оператор на знак за равенство (=) обозначава началото на формулата.

III. СУММА сумира всички числа в колоната, Продажби [SalesAmount] .

IV. Има такива скоби () които обграждат израз, съдържащ един или повече аргументи. Всички функции изискват поне един аргумент.

V. Продажби е посочената таблица.

НИЕ. An аргумент предава стойност на функция. Препратената колона [Размер на продажбите] е аргумент, с който функцията SUM знае колоната, в която трябва да агрегира SUM.

Просто казано, можете да го прочетете като, ' За мярката, наречена Общи продажби, изчислете (=) СУМАТА на стойностите в колоната [SalesAmount] в таблицата Продажби. '

& пикиРедакторът Power BI DAX включва функция за предложения, която ви помага да създавате синтактично правилни формули, като ви предлага правилните елементи.

Контекст

Контекст е една от най-важните от 3-те концепции на DAX. Когато се говори за контекст, това може да се отнася за един от двата типа Ред контекст и Контекст на филтъра .

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

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

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

I. Име на мярката Магазин продажби .

II. The оператор на знак за равенство (=) обозначава началото на формулата.

III. The ИЗЧИСЛИ функция оценява израз като аргумент.

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

V. Мярка [Общо продажби] в същата таблица като израз.

НИЕ. ДА СЕ запетая (,) разделя първия аргумент на израза от аргумента на филтъра.

ИДВАШ ЛИ. Напълно квалифицираната референтна колона, Канал [ChannelName] е нашият ред-контекст. Всеки ред в тази колона посочва канал, магазин, онлайн и т.н.

VIII. Конкретната стойност, Съхранявайте се използва като филтър. Това е нашият филтър-контекст.

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

Функции

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

Основи на Power BI DAX: Изчислени колони и мерки

В този блог ще се съсредоточим върху формулите Power BI DAX, използвани при изчисленията, през Мерки и Изчислени колони .

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

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

В моделите на данни за DAX обаче всички изчислени колони заемат място в паметта и се изчисляват по време на обработката на таблицата.

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

Мерки

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

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

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

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

Следователно трябва да дефинирате изчислена колона, когато искате да направите следното

  • Поставете изчислените резултати в слайсър или вижте резултатите в редове или колони в обобщена таблица (за разлика от областта на стойностите) или в осите на диаграма или използвайте резултата като условие за филтриране в DAX заявка.
  • Дефинирайте израз, който е строго обвързан с текущия ред. Например Price * Количеството не може да работи средно или върху сума от двете колони.
  • Категоризирайте текста или числата. Например диапазон от стойности за мярка.

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

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

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

Основи на Power BI DAX: Видове функции в DAX

1. Обобщени функции

МИН

Тази функция DAX rизвежда минималната числова стойност в колона или между два скаларни израза.

Синтаксис

МИН()

Пример

=МИН([ResellerMargin])

МИНА

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

Синтаксис

МИНА()

Пример

=МИНА(([Пощенски код])

MINX

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

Синтаксис

MINX(

,)

Пример

=MINX(ФИЛТЪР(InternetSales, InternetSales [SalesTerritoryKey] =5), InternetSales [Товарни] + InternetSales [TaxAmt])

МАКС

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

Синтаксис

МАКС()

Пример

=МАКС([ResellerMargin])

МАКС

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

Синтаксис

МАКС()

какво е приложение в salesforce

Пример

=МАКС(([Пощенски код])

MAXX

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

Синтаксис

MAXX(

,)

Пример

=MAXX(ФИЛТЪР(InternetSales, InternetSales [SalesTerritoryKey] =5), InternetSales [Товарни] + InternetSales [TaxAmt])

СУММА

Тази функция DAX adds всички числа в колона.

Синтаксис

СУММА()

Пример

=СУММА(Търговски офис])

СРЕДНО АРИТМЕТИЧНО

Тази функция DAX rизвежда средната аритметична стойност на стойностите в колона.

Синтаксис

СРЕДНО АРИТМЕТИЧНО()

Пример

=СРЕДНО АРИТМЕТИЧНО(InternetSales [ExtendedSalesAmount])

sumx

Тази функция DAX rизвежда сумата от израз, оценен за всеки ред в таблица.

Синтаксис

sumx(

,)

Пример

=sumx(ФИЛТЪР(InternetSales, InternetSales [SalesTerritoryID] =5), [Товарни превози])

AVERAGEX

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

Синтаксис

AVERAGEX(

,)

Пример

=AVERAGEX(InternetSales, InternetSales [товари] + InternetSales [TaxAmt])

2. Брой функции

DISTINCTCOUNT

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

Синтаксис

DISTINCTCOUNT()

Пример

=DISTINCTCOUNT(ResellerSales_USD [SalesOrderNumber])

БРОЯ

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

Синтаксис

БРОЯ()

Примери

=БРОЯ([ShipDate])

КОНТА

Това е функция DAX, използвана за връщане на броя елементи в колона, която не е празна.

Синтаксис

КОНТА()

Пример

=КОНТА('Reseller' [Телефон])

БРОЙНИ

Това е функция DAX, коятоотчита броя на редовете в посочената таблица или в таблица, дефинирана от израз.

Синтаксис

БРОЙНИ(

)

Пример

=БРОЙНИ('Поръчки')

COUNTBLANK

Това е функция DAX, коятоброи броя на празните клетки в колона.

Синтаксис

COUNTBLANK()

Пример

=COUNTBLANK(Дистрибутор [BankName])

3. Функции за дата и час

ДАТА

Тази функция DAX rизвежда посочената дата във формат Дата-Час.

Синтаксис

ДАТА(<година>,<месец>,<ден>)

Пример

=ДАТА(2019 г.,12, 17)

ЧАС

Тази функция DAX rизвежда посочения час като число от 0 до 23 (12:00 ч. до 11:00 ч.).

Синтаксис

ЧАС()

Пример

=ЧАС(„Поръчки“ [TransactionTime])

ДНЕС

Тази функция DAX rизвежда текущата дата.

Синтаксис

ДНЕС()

СЕГА

Тази функция DAX rизвежда текущата дата и час във формат Date-Time.

Синтаксис

СЕГА()

EOMONTH

Тази функция DAX rизвежда датата във формат Дата-Час на последния ден от месеца, преди или след определен брой месеци.

Синтаксис

EOMONTH(,)

Пример

=EOMONTH(„3 март 2008 г.“,1.5)

4. Математически функции

РАЗДЕЛ

Тази функция DAX rизвежда абсолютната стойност на даденото число.

Синтаксис

РАЗДЕЛ()

Пример

=ABS ([DealerPrice] - [ListPrice])

Годен до

Тази функция DAX rизвежда стойността на e, повишена в степента на дадено число.

Синтаксис

Годен до()

Пример

= Годен ([Захранване])

ФАКТ

Тази функция DAX rизвежда факториал на число.

Синтаксис

ФАКТ()

Пример

= ФАКТ ([Стойности])

LN

Тази функция DAX rизвежда естествения дневник на даденото число.

Синтаксис

LN()

Пример

= LN ([Стойности])

ЛОГ

Тази функция DAX rизвежда дневника с основата на дадения номер.

Синтаксис

ЛОГ(,)

Пример

Всички следващи връщат същия резултат, 2.

= LOG (100,10)

= LOG (100)

= LOG10 (100)

PI

Тази функция DAX rизвежда стойността на Pi.

Синтаксис

PI()

МОЩНОСТ

Тази функция DAX rизвежда стойността на първия аргумент, издигнат до степента на втория аргумент.

Синтаксис

МОЩНОСТ(,<мощност>)

Пример

= МОЩНОСТ (5,2)

КАЧЕСТВЕН

Тази функция DAX извършва разделяне rизвежда цялата част от частното.

Синтаксис

КАЧЕСТВЕН(,)

Пример

= КОЛИЧЕСТВО (5,2)

ЗНАК

Тази функция DAX връща знака на дадено число.

Синтаксис

ЗНАК()

Пример

= ПОДПИС (([Продажна цена] - [Разходна цена]))

SQRT

Тази функция DAX rизвежда квадратния корен от даденото число.

Синтаксис

SQRT()

Пример

= SQRT (25)

5. Логически функции

И

Тази функция DAX изпълнява логическо И (съвместно) върху два израза. За да върне ИСТИНАТА, трябва да бъдат изпълнени и двете посочени условия.

Синтаксис

И(,)

Пример

= АКО (И (10>9, -10 <-един),„Всичко вярно“,„Едно или повече фалшиви“

Тъй като и двете условия, предадени като аргументи, на функцията И са верни, формулата връща „Всички вярно“.

ИЛИ

Тази функция DAX изпълнява логическо ИЛИ (дизюнкция) на два израза. За ИЛИ да върне true, трябва да е изпълнено едно от двете посочени условия.

Синтаксис

ИЛИ(,)

Пример

= АКО (ИЛИ (10>9, -10> -един),'Вярно',„Невярно“

Тъй като едно от условията, предадено като аргументи, на функцията OR е вярно, формулата връща „Вярно“.

НЕ

Тази функция DAX изпълнява логически NOT (отрицание) за даден израз.

Синтаксис

НЕ()

Пример

= НЕ ([Изчислена колона1])

За всеки ред в Изчислена колона1 функцията NOT връща логическата противоположност на дадената стойност.

АКО

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

Синтаксис

АКО(logic_test> ,, value_if_false)

Пример

= IF ([Обаждания]<200,'ниско', IF ([Обаждания]<300,'среден','Високо'))

IFERROR

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

Синтаксис

IFERROR(стойност, value_if_error)

Пример

= IFERROR (25/0,9999)

6. Информационни функции

ISBLANK

Тази функция DAXвръща TRUE или FALSE след° Спроверка дали дадена стойност е празна.

Синтаксис

ISBLANK(<стойност>)

Пример

= IF (ISBLANK ('CalculatedMeasures' [PreviousYearTotalSales]), BLANK (), ('CalculatedMeasures' [Total Sales] - 'CalculatedMeasures' [PreviousYearTotalSales]) / 'CalculatedMeasures' [PreviousYearTotalSales])

БРОЙ

Тази функция DAXвръща TRUE или FALSE след° Спроверка дали дадена стойност е числова.

Синтаксис

БРОЙ(<стойност>)

Пример

= IF (ISNUMBER (0),„Е номер“,„Не е номер“)

ИСТЕКСТ

Тази функция DAXвръща TRUE или FALSE след° Спроверка дали дадена стойност е текст.

Синтаксис

ИСТЕКСТ(<стойност>)

Пример

= IF (ISTEXT ('текст'),„Текст“,„Е нетекстово“)

ИСНОНТЕКСТ

Тази функция DAXвръща TRUE или FALSE след° Спроверяване дали дадена стойност е нетекстова.

Синтаксис

ИСНОНТЕКСТ(<стойност>)

Пример

= АКО (ISNONTEXT ('текст'),„Е нетекстово“,„Текст“)

ISERROR

Тази функция DAXвръща TRUE или FALSE след° Спроверка дали дадена стойност е грешка.

Синтаксис

ИСЕРОЕ(<стойност>)

Пример

= IF (ISERROR (SUM ('ResellerSales_USD' [SalesAmount_USD]) / SUM ('InternetSales_USD' [SalesAmount_USD])), BLANK (), SUM ('ResellerSales_USD' [SalesAmount_USD]) / SUM ('InternetSalesAmd_USD] [USD]

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

КОНКАТЕНАТ

Тази функция DAX joins два текстови низа в един.

Синтаксис

КОНКАТЕНАТ(,)

Пример

= CONCATENATE („Здравей“, „Свят“)

java скрипт изскачащо съобщение -

КОНКАТЕНАТЕКС

Тази функция DAXрезултатът от израз, оценен за всеки ред в таблица.

Синтаксис

КОНКАТЕНАТЕКС(

,, [разделител])

Пример

= CONCATENATEX (Служители, [FirstName] & ““ & [LastName], “,“)

ОПРАВЕНО

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

Синтаксис

ОПРАВЕНО(,,)

Пример

= ОПРАВЕНО ([PctCost],3,един)

ЗАМЕНЕТЕ

Тази функция DAXзамества част от текстов низ, базиран на броя символи, които сте посочили, с различен текстов низ.

Синтаксис

ЗАМЕНЕТЕ(,,,)

Пример

= REPLACE ('Нови продукти' [Код на продукта],един,2,„OB“)

ТЪРСЕНЕ

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

Синтаксис

ТЪРСЕНЕ(, [, [] [,]])

Пример

= ТЪРСЕНЕ ('н','принтер')

Формулата връща 4, защото „n“ е четвъртият знак в думата „принтер“.

ГОРЕН

Тази функция DAX се връщатекстов низ с всички главни букви.

Синтаксис

ГОРЕН()

Пример

= UPPER (['Нови продукти' [Код на продукта])

Основи на Power BI DAX: Създаване на първата ви мярка

Предпоставка: Ще трябва да отворите този даден файл на Power BI Desktop .

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

  1. В списъка с полета на Преглед на отчета , щракнете с десния бутон върху Продажби таблица, последвана от Нова мярка .

  2. Сменете Мярка чрез въвеждане на ново име на мярка Продажби за предходното тримесечие, в Лента с формули .

  3. В тази формула искате да използвате ИЗЧИСЛИ функция. Така че, след знака за равенство, въведете първите няколко букви ЛКД и след това щракнете двукратно върху функцията, която искате да използвате.

  4. Функцията CALCULATE има поне два аргумента. Първият е изразът, който трябва да бъде оценен, а вторият е a Филтър .

  5. След отварянето скоби ( за ИЗЧИСЛИ функция, тип СУММА последвано от друга отваряща скоба ( да предаде аргумент на СУММА функция.

  6. Започнете да пишете Сол и след това изберете Продажби [SalesAmount] , последвано от затваряща скоба ) . Това е първият аргумент на израза за нашите ИЗЧИСЛИ функция.

  7. Въведете a запетая (,) последвано от интервал за указване на първия филтър и след това тип ПРЕДИШЕН ЧАСТ . Това ще бъде нашият филтър.

  8. Ще използвате ПРЕДИШЕН ЧАСТ функция за разузнаване на времето за филтриране СУММА резултати от предходното тримесечие.

  9. След отварящата скоба ( за функцията PREVIOUSQUARTER напишете Календар [DateKey] .

  10. The ПРЕДИШЕН ЧАСТ функция има един аргумент, колона, съдържаща непрекъснат диапазон от дати. В нашия случай това е DateKey колона в таблицата на календара.

  11. Уверете се, че и аргументите, които се предават на PREVIOUSQUARTER, и функцията CALCULATE са затворени, като въведете две затворени скоби )) .

  12. Сега вашата формула трябва да изглежда по следния начин
    Продажби за предходното тримесечие = ИЗЧИСЛЕТЕ (СУМА (Продажби [Продажби)], ПРЕДИШЕН КВАРТЪР (Календар [ДатаКей)])

  13. Щракнете отметката в лентата с формули или натиснете Enter, за да потвърдите формулата.

След като добавите това към вашия модел, voila! Току-що създадохте мярка с помощта на DAX, и то не лесна.

Това, което прави тази формула е изчислете общите продажби за предходното тримесечие в зависимост от филтрите, приложени в отчет.

Така че, нека, ако трябваше да сложим Размер на продажбите и нашите нови Продажби от предходното тримесечие измерете в диаграма и след това добавете Година и QuarterOfYear като Слайсери, бихме получили нещо по следното

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