Search
Write a publication
Pull to refresh
0
0
Никита @nv_hromov

User

Send message

Темная магия IF,AND,OR [DAX]

Reading time2 min
Views1.4K

В самом сердце тайных рун DAX, где строки данных сливаются с мраком неведомого, скрывается мощь заклинания, известного как IF().
Оно – орудие избранных, тех, кто способен узреть истину в данных и принять верные решения среди зыбких теней. Но, как и всякая магия, оно требует чётких условий, ведь одно неверное слово – и результат будет иным, чем ты ожидал…

Заклинание IF():

IF(<условие>, <результат_если_истинно>, <результат_если_ложно>)

Когда избранный произносит это заклинание, оно проверяет условие. Если условие истинно, с тёмных небес нисходит первый результат. Но если оно ложно, из глубин бездны всплывает иной исход.

IF(‘Sales’[TotalSales] > 5000, "Большая скидка", "Маленькая скидка")

Здесь IF() взыскивает по таблице продаж. Если продано больше чем на 5000 золотых монет, заклинание вознаграждает "Большой скидкой". В противном случае довольствуйся "Маленькой скидкой".

Заклинание AND():

Но иногда простое условие не может удержать силу заклинания. Тогда на помощь приходит союз тёмных условий – AND(). Это древняя связь, соединяющая два и более условий в единое мощное заклятие.

AND(<условие1>, <условие2>)

AND() требует истинности всех условий, иначе заклятие разрушится.

IF(AND(‘Sales’[TotalSales] > 5000, ‘Sales’[Profit] > 1000), "Высокая производительность", "Низкая производительность")

Если и продаж больше 5000, и прибыль больше 1000, заклинание приносит "Высокую производительность". Но если одно из условий не выполнено, результатом станет "Низкая производительность". Ибо один слабый элемент – и магия не состоится.

Развернуть свиотк

Темная магия DIVIDE[DAX]

Level of difficultyEasy
Reading time2 min
Views867

В мрачных глубинах алгебраических заклинаний, где силы чисел и таинства данных переплетаются, перед вами стоит задача разделения — испытание, которое может обречь вашу формулу на провал или вознести её к вершинам вычислительной элегантности.
В этом лабиринте из символов и вычислений, вам предстоит выбрать между двумя древними артефактами: коварным оператором деления, что скрывается под зловещей маской косой черты (/), и изящным заклинанием DIVIDE, что обещает защиту от опасности, угрожающей вашему выражению.
Возьмитесь за могущественное заклинание DIVIDE, произнесите его слова и пусть оно развернется перед вами:

DIVIDE(<Числитель>, <Знаменатель> [,<Альтернативное значение>])

Это заклинание было выковано магами DAX, чтобы противостоять ужасам деления на ноль, этой древней опасности, что ждет каждого, кто безрассудно осмелится разделить на ничто.
В тени этого заклинания, если знаменатель оказывается равен нулю или ПУСТО, вы не столкнётесь с бездной ошибки. Вместо этого, заклинание вернёт таинственное значение BLANK — или, если вы заранее предусмотрели, предложит альтернативу [необязательный параметр], которая спасёт вашу формулу от разрушения.

Обладание этим заклинанием освобождает вас от необходимости проверять, готов ли ваш знаменатель к испытанию. DIVIDE делает это за вас, с лёгкостью, сравнимой лишь с тем, как опытный маг отклоняет простейшие атаки.
Его оптимизация такова, что оно превосходит по эффективности даже могучую функцию IF, которая, хоть и способна выявить угрозу, но тратит на это куда больше энергии. С каждым использованием DIVIDE вы укрепляете свою формулу, делая её сильнее и грациознее.

Читать далее

Темная магия CALCULATE

Level of difficultyEasy
Reading time2 min
Views2.4K

Сегодня я раскрою вам мистические свойства функции CALCULATE.
Эта функция обладает удивительной силой и позволяет изменять контекст фильтрации, превращая простые заклинания в мощные артефакты анализа данных.
Позвольте мне, через древние примеры, показать вам, как и когда использовать это могущественное заклинание.

CALCULATE — это могущественное заклинание, которое принимает выражение и набор модификаторов фильтров в качестве аргументов, изменяя контекст фильтрации и возвращая результат выражения в новом контексте.

Простой пример с CALCULATE
Представьте себе таблицу Sales с колонной SalesAmount. Допустим, вы хотите вычислить сумму продаж только для определенной компании.

Произнесите заклинание:
SalesAmount_company = CALCULATE(
SUM('Sales'[SalesAmount]),
'Sales'[company] = "Magic")

Эти слова сосредоточат вашу магию на сумме продаж для компании "Magic ". Но это только начало, ведь CALCULATE может творить чудеса и более сложные.

Что, если вы хотите получить сумму продаж для компании "Magic " и только для отдела "gryffindor"?
Используйте следующее заклинание:
SalesAmount_company_gryffindor = CALCULATE(
SUM('Sales'[SalesAmount]),
'Sales'[company] = "Magic",
'Sales'[department] = "gryffindor")

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

CALCULATE также прекрасно работает в сочетании с другими функциями DAX. Например, если вы хотите узнать количество уникальных проектов для компании "Magic ", произнесите заклинание:
UniqueProject_Magic = CALCULATE(
DISTINCTCOUNT('Sales'[ProjectID]),
'Sales'[company] = " Magic")

Это заклинание сочетает мощь CALCULATE и DISTINCTCOUNT, чтобы дать вам уникальные результаты в измененном контексте фильтрации.
Как видите, функция CALCULATE — это мощное заклинание, способное изменять контекст фильтрации и давать точные результаты.
Используйте CALCULATE, когда вам нужно модифицировать контекст фильтрации и применять сложные вычисления, которые невозможно достичь простыми функциями. Это заклинание должно занять достойное место в вашем арсенале Power BI.

Развернуть свиток

Темная магия SUM и SUMX

Level of difficultyEasy
Reading time2 min
Views2.8K

Сквозь тьму и мистику я призываю вас к изучению и овладению искусством Power BI, чтобы возводить величественные визуализации и творить таинственную аналитику данных.

В этом чертоге знаний я буду делиться оккультными советами, таинственными руководствами и практическими ритуалами по темам, которые могут включать моделирование данных, заклинания DAX, проектирование отчетов и многое другое.
Мои заметки вы сможете искать по тегу #PBI_M1o

Сегодня я раскрою тайну различия между двумя древними функциями DAX: SUM и SUMX.

Вы могли бы ошибочно полагать, что они взаимозаменяемы, но на самом деле их сила различна. Позвольте мне, через древние примеры, показать вам, почему и как правильно использовать каждую из них.

Функция SUM

SUM — это простое заклинание, принимающее имя столбца в качестве аргумента и возвращающее сумму всех значений в этом столбце.

Представьте себе таблицу Sales с колонной SalesAmount.

Произнесите заклинание:
SalesAmount = SUM('Sales'[SalesAmount])
И получите общую сумму продаж в ваших данных. Легко, не так ли? Но что, если вы хотите наложить свою магию или вычисления на каждую строку перед их суммированием?

Что, если столбец SalesAmount отсутствует, и вам нужно его создать? У вас есть столбцы OrderQuantity и UnitPrice. Мы не можем просто сложить их и умножить результат, чтобы получить SalesAmount, ибо нам необходимо умножить каждый столбец в каждой строке и затем сложить результаты.

Вы могли бы создать вычисляемый столбец и использовать его в функции SUM, но я предложу более изощренное заклинание.

Развернуть свиток

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity