fa
Feedback
Dax Pro Solutions

Dax Pro Solutions

رفتن به کانال در Telegram

Dax, Power BI, Data Modelling and Architecture

نمایش بیشتر
2 053
مشترکین
اطلاعاتی وجود ندارد24 ساعت
اطلاعاتی وجود ندارد7 روز
+3230 روز

در حال بارگیری داده...

ابر برچسب‌ها
هیچ داده‌ای
مشکلی وجود دارد؟ لطفاً صفحه را تازه کنید یا با مدیر پشتیبانی ما تماس بگیرید.
اشارات ورودی و خروجی
---
---
---
---
---
---
جذب مشترکین
دسامبر '24
دسامبر '24
+81
در 0 کانال‌ها
نوامبر '24
+60
در 0 کانال‌ها
Get PRO
اکتبر '24
+73
در 0 کانال‌ها
Get PRO
سپتامبر '24
+56
در 0 کانال‌ها
Get PRO
اوت '24
+62
در 0 کانال‌ها
Get PRO
ژوئیه '24
+132
در 0 کانال‌ها
Get PRO
ژوئن '24
+120
در 0 کانال‌ها
Get PRO
مه '24
+93
در 0 کانال‌ها
Get PRO
آوریل '24
+237
در 2 کانال‌ها
Get PRO
مارس '24
+262
در 1 کانال‌ها
Get PRO
فوریه '24
+283
در 1 کانال‌ها
Get PRO
ژانویه '24
+966
در 2 کانال‌ها
تاریخ
رشد مشترکین
اشارات
کانال‌ها
21 دسامبر+1
20 دسامبر+5
19 دسامبر+5
18 دسامبر+1
17 دسامبر+35
16 دسامبر+4
15 دسامبر+1
14 دسامبر+2
13 دسامبر+2
12 دسامبر+4
11 دسامبر0
10 دسامبر0
09 دسامبر+4
08 دسامبر+11
07 دسامبر+2
06 دسامبر0
05 دسامبر0
04 دسامبر0
03 دسامبر0
02 دسامبر+2
01 دسامبر+2
پست‌های کانال
Всем привет! Теперь вы сможете поддержать нас кружкой кофе с печеньками =)
Всем привет! Теперь вы сможете поддержать нас кружкой кофе с печеньками =)

2
Всем привет! Теперь вы сможете поддержать нас кружкой кофе с печеньками =)
Всем привет! Теперь вы сможете поддержать нас кружкой кофе с печеньками =)
1
3
💡 Конкурс от канала DAX Pro Solution В комментариях находится датасет на 1млн чеков про пиццы =) Самостоятельная практика: З
💡 Конкурс от канала DAX Pro Solution В комментариях находится датасет на 1млн чеков про пиццы =) Самостоятельная практика: Задание ★: Попробуйте повторить расчеты из последнего поста про чеки Задание ★★★: Попробуйте придумать ваш вариант решения задачи с выводом сочетаний товаров в чеках Конкурсная работа: Задание ★★★★★: Придумайте и решите с помощью DAX любую задачу, связанную с аналитикой чеков. Жюри: Администраторы Dax Pro Сроки сдачи: pbix файл прислать до 12:00 08.05.24 Место сдачи: https://forms.gle/fYN4JMGm5jvaSegq8 Приз: Любая книга про Power BI на выбор в PDF Желаем всем удачи и готовы к вашим вопросам в нашем чате =)
8 361
4
🔍 Поиск сочетаний товаров в чеке может помочь магазину оптимизировать свой ассортимент, управлять запасами, разрабатывать ма
🔍 Поиск сочетаний товаров в чеке может помочь магазину оптимизировать свой ассортимент, управлять запасами, разрабатывать маркетинговые стратегии и повышать общую эффективность продаж. Кроме того, анализ может помочь выявить тенденции и предпочтения потребителей. Порядок анализа: Выбираем товары --> Получаем список отобранных товаров --> Выводим чеки, в которых есть такое сочетание товаров. Ход решения: 1. Создаем усеченный дубликат справочника продуктов, который будет содержать только ключ и название. Эта таблица будет служить нам фильтром-слайсером. 2. Создаем неактивную связь 1—>* к таблице продаж. 3. Пишем меру, которая будет подсчитывать сумму всех чеков (которые содержат товары, выбранные в слайсере ) и выводит общую сумму чека при помощи комбинации функций CALCULATETABLE (), FILTER (), GROUPBY(), COUNTX(), USERRELATIONSHIP(), REMOVEFILTERS () В заключение скажу, что при тестировании на средних данных (десятки миллионов строк и несколько миллионов уникальных чеков), мера отрабатывает даже в области PRO с ее ограничениями по производительности (их можно найти в документации к продукту). 🤜🏻PBIX в комментариях🤛🏻
6 395
5
🔝 Анализ изменения позиций TOPN ( ) продуктов во времени. Видеть позицию TOPN ( ) товаров в выбранном периоде здорово помога
🔝 Анализ изменения позиций TOPN ( ) продуктов во времени. Видеть позицию TOPN ( ) товаров в выбранном периоде здорово помогает в анализе текущей ассортиментной матрицы. А что, если перейти к анализу динамики изменения позиции TOPN ( ) товара? Тогда, мы сможем понять что именно делать с товаром - выводить его или продвигать дальше - на основании пула исторических данных и принимать более грамотные управленческие решения. В данном примере мы будем использовать 2 календаря для сравнения независимых периодов и отключать взаимодействия визуалов. Анализ готового решения проходит в пять этапов: 1️⃣ Настраиваем условия отбора, 2️⃣ Проверяем что именно соответствует критериям ( выделено желтым), 3️⃣ Анализируем динамику изменения суммы продаж по отобранным позициям, 4️⃣ Анализируем динамику изменения ранга отобранных позиций на фоне общей суммы продаж, 5️⃣ Проверяем в таблице помесячно изменение ранга каждой позиции. А также присутствие товаров из отсортированной таблицы №2 в столбцах [E],[F] периода сравнения. Пожалуйста, обратите внимание на цветовые обозначения столбцов, срезов и оси графика, а также пунктирную линию на графиках - это поможет вам понять контексты фильтров, которые применяются в данном расчете. Благодаря такому подходу к расчетам, мы можем: ✔️ Увидеть динамику изменения позиций Топ товаров; ✔️ Вовремя вычленять товары - аутсайдеры и прокачивать товары-лидеры; ✔️ Видеть тренды быстрорастущих Топов в разрезе рангов по соотношению к общей картине выручки предприятия, а не сравнивать динамику выручки только внутри топовых товаров. ✅RS May2022 + 🤜🏻PBIX в комментариях🤛🏻
2 464
6
🔝 Анализ изменения позиций TOPN ( ) продуктов во времени. Видеть позицию TOPN ( ) товаров в выбранном периоде здорово помога
🔝 Анализ изменения позиций TOPN ( ) продуктов во времени. Видеть позицию TOPN ( ) товаров в выбранном периоде здорово помогает в анализе текущей ассортиментной матрицы. А что, если перейти к анализу динамики изменения позиции TOPN ( ) товара? Тогда, мы сможем понять что именно делать с товаром - выводить его или продвигать дальше - на основании пула исторических данных и принимать более грамотные управленческие решения. В данном примере мы будем использовать 2 календаря для сравнения независимых периодов и отключать взаимодействия визуалов. Анализ готового решения проходит в пять этапов: 1️⃣ Настраиваем условия отбора, 2️⃣ Проверяем что именно соответствует критериям ( выделено желтым), 3️⃣ Анализируем динамику изменения суммы продаж по отобранным позициям, 4️⃣ Анализируем динамику изменения ранга отобранных позиций на фоне общей суммы продаж, 5️⃣ Проверяем в таблице помесячно изменение ранга каждой позиции. А также присутствие товаров из отсортированной таблицы №2 в столбцах [E],[F] периода сравнения. Пожалуйста, обратите внимание на цветовые обозначения столбцов, срезов и оси графика, а также пунктирную линию на графиках - это поможет вам понять контексты фильтров, которые применяются в данном расчете. Благодаря такому подходу к расчетам, мы можем: ✔️ Увидеть динамику изменения позиций Топ товаров; ✔️ Вовремя вычленять товары - аутсайдеры и прокачивать товары-лидеры; ✔️ Видеть тренды быстрорастущих Топов в разрезе рангов по соотношению к общей картине выручки предприятия, а не сравнивать динамику выручки только внутри топовых товаров. ✅RS May2022 + 🤜🏻PBIX в комментариях🤛🏻
9
7
🔝 Исследование TOPN( ) верхних, нижних и средних продуктов во времени. Основная логика расчетов вывода TOPN продуктов заключ
🔝 Исследование TOPN( ) верхних, нижних и средних продуктов во времени. Основная логика расчетов вывода TOPN продуктов заключается в выборе месяца, в котором будут оцениваться проданные продукты и выборка из них по условию в пользовательском параметре N верхних, средних или нижних. Ключевые моменты: 1. Для того, чтобы выбирать месяц и не оказывать влияния на график динамики, мы создадим таблицу для выбора периода оценки TOP продуктов и соединим с фактами неактивной связью 1—>* ; 2. Для обеспечения изменения пользователем количества продуктов, входящих в топ, мы создадим таблицу через числовой параметр; 3. Создадим таблицу-справочник с порядком TOPN - Upper, Middle, Lower для управления пользователем через функционал "Введите данные"; 4. Напишем три меры под каждый порядок TOPN - Upper, Middle, Lower, а затем объединим в одну меру [TOP] через SWITCH ( ), обращающийся к справочнику из предыдущего пункта; 5. Помещаем меру [TOP], наименование продуктов и даты из календаря в график и радуемся результатам =) ✅ RS May 2023 +, PBI service. 👉🏻PBIX в комментариях👈🏻
2 562
8
🤘 Как проверить, какие данные попали в вычисление? Довольно часто результат выполнения меры может вас удивлять или вовсе выд
🤘 Как проверить, какие данные попали в вычисление? Довольно часто результат выполнения меры может вас удивлять или вовсе выдавать пустоту там, где должны быть данные. Вы проверили связи, наличие данных в таблице ( например, с помощью COUNTROWS( ) ), но контекст запроса визуального элемента все равно "серая лошадка?" Я подготовил для вас два способа проверки данных, которые попадают в вычисление с помощью функций CONCATENATEX(), COMBINEVALUES ( ). И подробно описал работу каждого на каждом уровне иерархии дат при смещении периодов. Попробуйте проанализировать с помощью этих вариантов все, что вы делали ранее и где результат вас ставил в ступор. Такой подход поможет взглянуть иначе на расчеты, контексты вычисления и их понимание. 👉🏻PBIX во вложении👈🏻 ✅ RS May 22+, PBI Service
7 282
9
🌟 Настройка вывода недель по параметрам. Какие решения существуют? Основная задача: При выборе недели в срезе, показать в ма
🌟 Настройка вывода недель по параметрам. Какие решения существуют? Основная задача: При выборе недели в срезе, показать в матрице: · переключаемое значение за выбранную неделю, · переключаемое значение за Х недель вперед, · дать возможность выбрать значение ячеек матрицы. Я подготовил для вас 4 способа решения этой задачи при помощи: + Field Parameters ( 2 варианта ) + Calculation Groups + Field Parameters + Calculation Groups 👉🏻PBIX во вложении👈🏻 // Буду рад вашим комментариям. Кто хочет, может предложить еще способы реализации и мы оценим их оптимальность и быстродействие.
1 873
10
📈 Переключение неравных периодов с помощью Field Parameters V2 Основная задача: При выборе месяца в слайсере, показать в мат+4
📈 Переключение неравных периодов с помощью Field Parameters V2 Основная задача: При выборе месяца в слайсере, показать в матрице: · факт за весь прошлый год, · план на весь текущий год, · поквартально факт текущего года, но со сдвигом в -1 квартал от текущего выбранного и обнулением в новом году (поступление данных с запозданием в квартал). Дополнительные требования: Выбор периода осуществляется по месяцу. В заголовках столбцов матрицы должны так же автоматически меняться названия, в зависимости от выбора в календаре. Порядок решения: 1. Пишем основные меры, которые будут участвовать в расчетах Field Parameters; 2. Формируем несколько таблиц FP, так как они будут выступать в роли столбцов в матрице. Для Sales PY меняем имя параметра следующей конструкцией: Sales PY = GENERATE( ALLNOBLANKROW('Calendar'[Year]), { (FORMAT([Year]-1,"yyyy"), NAMEOF('_Measures'[Amount PY]), 0) } ) 3. Plan CY. Принцип такой же как был описан ранее; 4. Создаём последний параметр, который будет служить для расчета показателей поквартально. Для этого помещаем в FP сразу три меры : [Amount Q1], [Amount Q2], [Amount Q3]. 5. Меняем DAX последнего параметра: FC = FILTER( GENERATE( FILTER( CROSSJOIN( SELECTCOLUMNS(ALLNOBLANKROW('Calendar'[Quarter]),"CurentQuarter",[Quarter]), ALLNOBLANKROW('Calendar'[Quarter]) ), DAY([CurentQuarter])>DAY([Quarter]) &&YEAR([CurentQuarter])=YEAR([Quarter]) ), { ("FC1 "&YEAR([Quarter]), NAMEOF('_Measures'[Amount Q1]), 0), ("FC2 "&YEAR([Quarter]), NAMEOF('_Measures'[Amount Q2]), 1), ("FC3 "&YEAR([Quarter]), NAMEOF('_Measures'[Amount Q3]), 2) } ), [Value3]=INT(DAY([Quarter]))-1 ) 👉🏻Скачать PBIX👈🏻 ✅ Только для облака
1 766
11
Коллеги, нам важно вашем мнение! Как вы относитесь к контенту этого канала:
1 818
12
📈 Переключение неравных периодов с помощью Field Parameters. Довольно часто для решения UXUI задач требуется автоматически п
📈 Переключение неравных периодов с помощью Field Parameters. Довольно часто для решения UXUI задач требуется автоматически переключать оси графиков, минуя встроенный механизм Drill-down. ЗАДАЧА Автоматическое изменение гранулярности оси по условиям: 🔶 если выбран 1 месяц, то выводить ось по датам; 🔶 если выбрано несколько месяцев, изменить грануляцию оси на месяцы; 🔶 если выбрано несколько лет, изменить грануляцию оси на года. ====================================== Последовательность решения: 1. Формируем необходимую таблицу параметров через Новый параметр и выбираем поля из Календаря (Год-Месяц-Дата) 2. Помещаем поле [Month_Date_Axys] в ось нашего графика, а в Slicer поместим год и месяц из таблицы Calendar. 3. Пишем меру, которая будет проверять какой период выбран: Filter = VAR _countmonths = CALCULATE(COUNTROWS(VALUES('Calendar'[Month])),ALLSELECTED('Calendar')) VAR _filter = SWITCH( TRUE(), _countmonths=1,0, _countmonths<13,1, 2 ) RETURN COUNTROWS( FILTER( VALUES('Month_Date_Axys'[Month_Date Order]), 'Month_Date_Axys'[Month_Date Order]=_filter ) ) 4. Помещаем меру в панель фильтров на уровень визуального элемента и применяем TOPN =1 фильтрацию. 👉🏻PBIX с подробным описанием внутри👈🏻
6 054
13
📈 Имитация Field Parameters на PBI Report Server с неравными периодами. Ограничения: 1. Если в таблицах источников осей есть+4
📈 Имитация Field Parameters на PBI Report Server с неравными периодами. Ограничения: 1. Если в таблицах источников осей есть пустые строки, при создании справочника для осей методом Unpivot в PQ они будут удалены. Требуется перезаполнять пустоту на любое текстовое значение. 2. Такой подход "раздувает" модель и не рекомендуется в проектах с большим количеством уникальных в справочниках. ============================= ❓ Задача: Дать возможность выбора конечному пользователю требуемой для анализа временной гранулярности с учетом следующих условий: год – показывать все доступные годы; квартал – только кварталы 2х последних лет от текущей (сегодня) даты; месяц – последние 12 месяцев от текущей даты. ============================= 🔧 Порядок решения: 1. Создание вычисляемой таблицы с разной гранулярностью год-квартал-месяц в одном столбце. 2. Сортировка поля выбора гранулярности периодов по дополнительному целочисленному столбцу. 3. Создание связи 'Calendar' [Date] 1 <> * 'Periods For Select' [Date]. 'Calendar' на стороне 1, наша 'Periods For Select' на стороне многие, но связь двунаправленная и неактивная (чтобы избежать массы проблем с другими расчетами сдвигов во времени по основному календарю). В облачной версии можно было бы просто сделать связь многие ко многим и направление фильтра от 'Periods For Select' к 'Calendar', но версии RS не поддерживают такой тип связей в стандартной версии. 4. Написание меры для визуализаций с переключаемой осью, чтобы активировать связь: Calculate ( ...., Userelationship( 'Calendar' [Date], 'Periods For Select' [Date] ) ) 👉🏻PBIX во вложении👈🏻 ✅ RS May 2022+
1 978
14
📈 Управляемые столбцы на RS Если хочется функционала Fields Parameters или группировать измерения без написания больших SWIT+5
📈 Управляемые столбцы на RS Если хочется функционала Fields Parameters или группировать измерения без написания больших SWITCH () функций, то вы можете воспользоваться Calculation Group механизмом. ‼️ Наиболее важные ограничения и предостережения: 🔴 это Группы расчета (Calculation Groups или CG) и создание/включения их в модели автоматически отключит встроенные механизмы агрегирования по столбцам таблиц (т.е. все меры нужно будет в дальнейшем писать руками); 🔴 CG влияют на вычисления в отчетах или замещают их, если их применять/использовать в модели неверно; 🔴 В дальнейшем, после создания, вы можете использовать только 2х уровневые иерархии расчетов в своих таблицах. Не больше. 🔴 Сворачивание иерархии до верхнего уровня в матрицах и визуалах с механизмом Drill-Down в полях с Calculation Group также не будет отрабатывать. 👉🏻PBIX для разбора внутри👈🏻 ✅ Замена FP на RS may 22 +
6 656
15
📈 Как из RS или PBI Desktop отправить графики в Power Point без потери качества. Все просто: 1️⃣ Файл - экспорт - PDF 2️⃣ От
📈 Как из RS или PBI Desktop отправить графики в Power Point без потери качества. Все просто: 1️⃣ Файл - экспорт - PDF 2️⃣ Открываем PDF в Wondershare PDFelement или аналогичной программе, которая может работать с Power Point 3️⃣ Экспортируем в Power Point // да, не интерактивные графики, как в облачной версии. Но без потери качества.
6 664
16
Хотите решения вашей задачи?
549
17
Хотите решения вашей задачи?
1
18
🌠 Сравнение двух рандомных месяцев с динамическим заголовком. Для обеспечения возможности сравнения различных месяцев по выб+2
🌠 Сравнение двух рандомных месяцев с динамическим заголовком. Для обеспечения возможности сравнения различных месяцев по выбору пользователя и подсчета отклонения значений можно применять обычные функции Time Intellegence. Однако, для отображения выбранного пользователем месяца в заголовке столбца матрицы, мы будем применять функционал Fields Parameters. В PBIX файле я постарался максимально подробно и пошагово описать процесс разработки. Также, показал как работать с FP нестандартным способом - попробуйте развить это направление =) 👉🏻PBIX во вложении👈🏻 (Только для облачной версии!)
2 576
19
💡 Расчет накопительного итога со сбросом накопления, когда сумма = 0 Такой расчет часто применяется для расчета текущего кол
💡 Расчет накопительного итога со сбросом накопления, когда сумма = 0 Такой расчет часто применяется для расчета текущего количества бонусных баллов клиента, в случае "сгорания" бонусов в определенную дату и начала нового процесса накопления. ```dax Comulated From 0 = VAR _LastZerroDate = -- находим последнюю дату (относительно даты в текущем контексте), на которую значение равно 0 CALCULATE( MAX('Fact'[date]), 'Fact'[count]=0, Calendar[Date]<=MAX(Calendar[Date]) ) VAR _Dates = -- находим список дат между последней датой с 0 результатом и датой в текущем контексте DATESBETWEEN( 'Calendar'[Date], _LastZerroDate, -- последняя дата с 0 неизменна до следующего 0 MAX('Calendar'[Date]) -- дата окончания периода зависит от текущего контекста и нарастает ) VAR _Result = -- применяем список дак к нашему расчету CALCULATE( SUM('Fact'[count]), _Dates ) RETURN IF(NOT ISBLANK(SUM(Fact[count])),_Result) -- т.к. между датами с данными есть промежутки и накопительный отобразится для всех дат календаря, мы выводим результат для тех, когда есть данные 👉🏻PBIX во вложении👈🏻
2 298
20
🔤 Динамические границы АВС классов по паттерну. 1️⃣ Создаем 2 параметра: «А Class” и «C Сlass” с диапазонами чисел от 0 до 1+1
🔤 Динамические границы АВС классов по паттерну. 1️⃣ Создаем 2 параметра: «А Class” и «C Сlass” с диапазонами чисел от 0 до 100 включительно. 2️⃣ Создаем таблицу, которая в дальнейшем позволит выбирать нужные параметры без возможности выбрать их неверно, т.е. если мы выбиваем в параметре A Class значение 90, то второй параметр нам не даст выбрать значение менее 90+1 и наоборот. Filter Table = VAR gen1 = SELECTCOLUMNS( GENERATESERIES( 0, 100, 1 ), "1", [Value] ) VAR gen2 = SELECTCOLUMNS( GENERATEALL( gen1, VAR _1 = [1] RETURN GENERATESERIES( _1+1, 100 ) ), "1",[1], "2",[Value] ) RETURN gen2 Суть такой таблицы - для каждого тек значения в первом столбце есть значения от текущее+1 до 100 включительно. 3️⃣ Связываем наши параметры с данной таблицей. A Class со столбцом 1, B Class со столбцом 2. Связи 1 ->* и двунаправленная фильтрация. 4️⃣ Добавляем параметры на страницу отчета и включаем влияние одного параметра на второй и наоборот. 5️⃣ Создаем через «Ввести данные» таблицу-справочник названия классов (текст) и их ID (целочисленные значения), далее включаем сортировку для класса по столбцу ID (но это не обязательно).
1 723