#power_bi — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #power_bi, aggregated by home.social.
-
От исходных данных до аналитической витрины: что происходит между ними
В одном из проектов мне нужно было с нуля собрать аналитику платных медицинских услуг в крупной медицинской организации. На выходе должен был появиться BI-отчёт с динамикой доходов и контролем расхождений. Исходные данные при этом уже существовали, поэтому со стороны задача выглядела довольно прямолинейно: подключить Power BI, написать несколько расчётов и собрать дашборд. На практике до дашборда было ещё далеко. Между записью в рабочей системе и цифрой на экране находится целая цепочка решений. Какую дату считать отчётной? Что делать с изменившимся статусом? Какая запись является основной, если один объект встречается несколько раз? Как связать справочники, которые в разных системах ведутся по-разному? И главное - как потом объяснить конкретную цифру, если она не совпала с привычным отчётом? В итоге в проекте появились BI-витрина, модель данных и отчётность, которая использовалась для анализа динамики и поиска расхождений. Но самым важным результатом для меня стал не сам дашборд. Я на практике увидел, что аналитическая витрина начинается не с SELECT и не с выбора схемы данных. Она начинается в тот момент, когда мы решаем, во что именно должна превратиться исходная запись.
https://habr.com/ru/articles/1080488/
#аналитическая_витрина #ETL #DWH #BI #модель_данных #качество_данных #Power_BI #data_lineage
-
Темная магия IF,AND,OR [DAX]
В самом сердце тайных рун 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]
В мрачных глубинах алгебраических заклинаний, где силы чисел и таинства данных переплетаются, перед вами стоит задача разделения — испытание, которое может обречь вашу формулу на провал или вознести её к вершинам вычислительной элегантности. В этом лабиринте из символов и вычислений, вам предстоит выбрать между двумя древними артефактами: коварным оператором деления , что скрывается под зловещей маской косой черты (/) , и изящным заклинанием DIVIDE , что обещает защиту от опасности, угрожающей вашему выражению. Возьмитесь за могущественное заклинание DIVIDE , произнесите его слова и пусть оно развернется перед вами: DIVIDE(<Числитель>, <Знаменатель> [,<Альтернативное значение>]) Это заклинание было выковано магами DAX , чтобы противостоять ужасам деления на ноль, этой древней опасности, что ждет каждого, кто безрассудно осмелится разделить на ничто. В тени этого заклинания, если знаменатель оказывается равен нулю или ПУСТО, вы не столкнётесь с бездной ошибки. Вместо этого, заклинание вернёт таинственное значение BLANK — или, если вы заранее предусмотрели, предложит альтернативу [необязательный параметр], которая спасёт вашу формулу от разрушения. Обладание этим заклинанием освобождает вас от необходимости проверять, готов ли ваш знаменатель к испытанию. DIVIDE делает это за вас, с лёгкостью, сравнимой лишь с тем, как опытный маг отклоняет простейшие атаки. Его оптимизация такова, что оно превосходит по эффективности даже могучую функцию IF , которая, хоть и способна выявить угрозу, но тратит на это куда больше энергии. С каждым использованием DIVIDE вы укрепляете свою формулу, делая её сильнее и грациознее.