en
Feedback

Don't get caught by a cheater! Telemetrio finds and tags such channels 👉 If you want to see the tag, subscribe

Dax Pro Solutions

Dax Pro Solutions

Open in Telegram

Dax, Power BI, Data Modelling and Architecture

Show more
2 053
Subscribers
No data24 hours
No data7 days
+3230 days

Loading data

Tags Cloud
No data
Any problems? Please refresh the page or contact our support manager.
Incoming and Outgoing Mentions
---
---
---
---
---
---
Attracting Subscribers
Oct '26
October '26
+101
in 0 channels
September '260
in 0 channels
Get PRO
August '260
in 0 channels
Get PRO
July '260
in 0 channels
Get PRO
June '260
in 0 channels
Get PRO
May '260
in 0 channels
Get PRO
April '260
in 0 channels
Get PRO
March '260
in 0 channels
Get PRO
February '260
in 0 channels
Get PRO
January '260
in 0 channels
Get PRO
December '250
in 0 channels
Get PRO
November '250
in 0 channels
Get PRO
October '250
in 0 channels
Get PRO
September '250
in 0 channels
Get PRO
August '250
in 0 channels
Get PRO
July '250
in 0 channels
Get PRO
June '250
in 0 channels
Get PRO
May '250
in 0 channels
Get PRO
April '250
in 0 channels
Get PRO
March '250
in 0 channels
Get PRO
February '250
in 0 channels
Get PRO
January '250
in 0 channels
Get PRO
December '24
+81
in 0 channels
Get PRO
November '24
+60
in 0 channels
Get PRO
October '24
+73
in 0 channels
Get PRO
September '24
+56
in 0 channels
Get PRO
August '24
+62
in 0 channels
Get PRO
July '24
+132
in 0 channels
Get PRO
June '24
+120
in 0 channels
Get PRO
May '24
+93
in 0 channels
Get PRO
April '24
+237
in 2 channels
Get PRO
March '24
+262
in 1 channels
Get PRO
February '24
+283
in 1 channels
Get PRO
January '24
+966
in 2 channels
Date
Subscriber Growth
Mentions
Channels
24 October0
23 October0
22 October0
21 October0
20 October0
19 October0
18 October0
17 October0
16 October0
15 October0
14 October0
13 October0
12 October0
11 October0
Channel Posts
Всем привет! Теперь вы сможете поддержать нас кружкой кофе с печеньками =)
Всем привет! Теперь вы сможете поддержать нас кружкой кофе с печеньками =)

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