Хорошее и полезное видео. Отличный пример для построения отчета повторяя за ведущим. И при этом автор еще и дает исходные данные для практики - супер. Хотя на текущий момент имеются отличия в интерфейсе PBI, это не сильно затрудняет. Было бы еще более отлично сделать более подробные разъяснения по ряду моментам, это можно сделать и отдельными доп. видео. Автору спасибо!
Пропустил Ваш вопрос.. В большинстве случаев для аналитических моделей данных лучше объединять такие справочники в один. Это называется денормализация) Модель становится проще, при этом ее объем практически не увеличивается
@@familyks2165 Если объединить все таблицы в одну (к Продажам привязать Магазины и товары со всеми имеющимися столбцами этих справочников), то объем данных вырастет в разы. Представим, что в таблице Продажи 1 млн. строк и 5 столбцов, количество ячеек составит 5 млн. Мы решили привязать к таблице Продажи справочник Товаров, в котором 100 товаров (100 строк) и 11 столбцов с всякими категориями товаров. Количество ячеек в Продажах после соединения будет 15 млн (1 столбец с id товара из справочника Товары я не считал, поскольку он уже есть в таблице Продажи). Поэтому таблица Товары в модели должна работать через связь
Неверный синтаксис ";" (DAX(CALENDAR( MIN('Продажи'[Дата]); TODAY () ))). Подскажите пожалуйста в чем может быть причина ? Календарь = CALENDAR( MIN('Продажи'[Дата]); TODAY () ) Спасибо
Всю голову сломал. Не понимаю, как получаются среднемесячные продажи по 1 сотруднику и на 24:50. Почему такая формула и почему такой результат у неё. Вроде же первый параметр - таблица с одним столбцом VALUES('Календарь'[Номер Год месяц]) а второй - постоянное число DIVIDE([Сумма продаж],[Кол-во сотрудников]), не зависящее от столбца таблицы из первого параметра, и если его вычислить для каждой строки таблицы и посчитать среднее, то получится это же самое число. При этом, если создать отдельную таблицу Таблица = VALUES('Календарь'[Номер Год месяц]), а потом посчитать меру AVERAGEX('Таблица',DIVIDE('Меры'[Сумма продаж],'Меры'[Кол-во сотрудников])), то так и происходит. Если предположить, что там за счёт связи таблиц календарь и продажи сумма продаж считается отдельно для каждого месяца (хотя вроде как VALUES создаёт новую таблицу), то всё равно не понятно, почему итоговое значение отличается от результата деления среднемесячных продаж на количество сотрудников. Где я ошибаюсь?
Спасибо за вопрос. В общем-то я использовал любую работающую формулу и эта подошла)) Хотя работает она и правда не совсем очевидно из-за меры [Количество сотрудников]. Попробую описать формулу более подробно: Сумма среденмес. продаж на 1 сотрудника = AVERAGEX(VALUES('Календарь'[Номер год месяц]),DIVIDE([Сумма продаж],[Количество сотрудников])) - Используем формулу AVERAGEX, а не AVERAGE, поскольку нам нужно ввести контекст строки (Месяц года) для получения именно среднемесячного значения. - VALUES('Календарь'[Номер год месяц]) как раз вводит контекст строки для расчета среднемесячного значения. - DIVIDE([Сумма продаж],[Количество сотрудников]) для каждого месяца вычисляет продажи на 1 сотрудника. Вот результат вычисления за 4 месяца prnt.sc/e1LP1nlHeDJj На скриншоте видно, что расчет итога сделан как среднее значение от средних значений за 4 месяца. На мой взгляд, такое вычисление дает более достоверный результат для данного конкретного случая. Вернемся к основному вопросу - мере [Количество сотрудников]. Как видно из скриншота выше эта мера для каждого месяца вычисляет разное количество сотрудников. Это обусловлено двухсторонней связью между справочником Магазины и таблицей фактов Продажи (Продажи также фильтруют Магазины). В каждом месяце продажи делались разным количеством магазинов и соответственно разным итоговым количеством сотрудников. Если бы данная связь была направлена только в одну сторону (от Магазинов к Продажам), то расчет меры [Количество сотрудников] давал бы одно статическое значение. Тогда бы нам пришлось дописать формулу так: [Количество сотрудников] = CALCULATE(SUM('Магазины'[Кол-во сотрудников]), CROSSFILTER('Магазины'[StoreKey], 'Продажи'[StoreKey], Both)). Т.е. внутри этой меры создать двухстороннюю связь с помощью функции CROSSFILTER. prnt.sc/RbSM2XBr0fn7
Добрый вечер, у меня есть проблема со связью между "Продажи" и "Календарь", Power BI дает только кратность многие к многим и направление двунаправленное, либо Один(Продажи фильтрует Календарь) либо Один (Календарь фильтрует продажи), из-за этого дашборд получается неккоректным в сумме продаж за каждый месяц одинаковая сумма продаж, подскажите пожалуйста в чем проблема
Здравствуйте, поле Дата в Календаре должно содержать уникальный список дат без пустых клеточек, тогда будет правильно создаваться связь. Проверьте этот момент. Может каким-то образом у вас в Календаре в поле Дата содержатся пустые значения
Супер! А данные из файла нужно каждый раз импортировать? Как вообще реализован механизм получения данных в пауэр би? Можно ли подключить БД к нему и получать актуальные данные всегда?
Данные из файла Power BI может импортировать автоматически по заданному расписанию. По умолчанию импорт - это полная перезаливка данных, но также в Power BI есть возможность настройки инкрементального импорта. И да, Power BI может импортировать данные из большинства БД
Автор, скажи пожалуйста. Изначально, сумма продаж - 49 миллионов. Когда мы начинаем добавлять график с динамикой и срез "месяц год" - появляются пустые (blank) значения. Откуда они появляются? Почему они исчезают, когда мы применяем фильтр на всю страницу по плавающему месяцу? Тем более, что сумма, после применения фильтра становится на 49 миллионов, а 44.
Приветствую! Демо данные о продажах уходят в будущее (до конца 2023 года), а Календарь ограничен плавающей текущей датой (формула TODAY()). Поэтому со стороны Календаря в фильтре нет дат, которые старше плавающего сегодня. Поэтому там blank. prnt.sc/KiWj9No-IAj6
@@addreport видос очень крутой и инофрмативный. Было бы круто, если бы разжевывалось до мелких деталей - почему, зачем, как, и тд. Новые видео где-то выходят?
@@АлексейПоляков-ъ9ф3ч спасибо. Согласен с вами, детали важны. Но лучше детализировать все же какую-то узкую тему. Пока регулярно видео не выходят, но я обдумываю сейчас, как сделать так, чтобы они начали выходить регулярно))
Здравствуйте, когда перекидываю данные с exel в power bi, то даты меняются на непонятные числа (в exel даты хорошо стоят) В чем может быть проблема? Как это изменить?
Здравствуйте. Попробуйте преобразовать столбец дат в виде чисел сначала в тип Целое число, а затем в тип Дата (обязательно следующим шагом). gifyu.com/image/SnV3N
Доброго времени суток. Не могу скачать данные по отчету. При входе на ссылку с исходными данными дает ошибку Код ошибки: PR_END_OF_FILE_ERROR. Зашел через свой Google account.
@@addreport Доброе время суток. Видимо, я чайник 🙂. Не могу загрузить эти таблицы в свой Google аккаунт. Объясните подробно, как это сделать. У меня есть аккаунт в Google. Я открыл пустую страницу. А дальше открыть вашу таблицу не могу. Помогите, пожалуйста, как действовать? Спаси-бо.
Да, отчет можно опубликовать в Мою рабочую область в облаке Power BI. Для смартфона скачать приложение Power BI. У вас должна быть учетная запись Майкрософт для организации (можно создать ее в т.ч. при регистрации Power BI)
@@ainaakishova3576 ссылки активные, возможно у вас что-то блокирует сам сервис bitly.com Гугл таблица docs.google.com/spreadsheets/d/1NGwgGXdreOs5arZchgWBr_WFCQS57ywyTSq5CVzEVqw Отчет app.powerbi.com/view?r=eyJrIjoiMDBmYjczOTQtNDQyYy00ZDExLTkxZGYtZjAxMDg1YzU1ZGM1IiwidCI6IjEyZTlkMTlmLWFiZDAtNDdiMi05ZmRiLTk2NTVmY2E0MzRjYiIsImMiOjl9& Фоновая картинка drive.google.com/uc?export=download&confirm=no_antivirus&id=1mpQ36mGBBL3beT0PBaioI7EiGy7LHZzw&
Хорошее и полезное видео. Отличный пример для построения отчета повторяя за ведущим. И при этом автор еще и дает исходные данные для практики - супер. Хотя на текущий момент имеются отличия в интерфейсе PBI, это не сильно затрудняет. Было бы еще более отлично сделать более подробные разъяснения по ряду моментам, это можно сделать и отдельными доп. видео. Автору спасибо!
спасибо большое. именно по созданию визуализации в BI не хватает контента в интернете, очень хотелось бы по-больше таких видео.
Спасибо огромное! Ты самая крутая находка по Power BI 🤩
Спасибо! Отличный урок. Всё очень хорошо пояснено. Продолжайте!!!
Спасибо большое, не часто могу найти в открытом доступе разбор дашборда ещё и с открытыми данными
Спасибо большое за видео, очень полезное для меня. Но ссылка на файлы в описании не работает, поправьте, пожалуйста, хочу попрактиковаться. Спасибо!
брат пример готового отчета можешь скинут не могу открыть в гугл
Не понял, зачем объединять запросы, если можно связать таблицы в модели данных?
Уважаемый автор, подскажите, почему тогда не объединили все до конца? Оставили три таблицы. Можно же было также объединить.
Пропустил Ваш вопрос.. В большинстве случаев для аналитических моделей данных лучше объединять такие справочники в один. Это называется денормализация) Модель становится проще, при этом ее объем практически не увеличивается
@@familyks2165 Если объединить все таблицы в одну (к Продажам привязать Магазины и товары со всеми имеющимися столбцами этих справочников), то объем данных вырастет в разы. Представим, что в таблице Продажи 1 млн. строк и 5 столбцов, количество ячеек составит 5 млн. Мы решили привязать к таблице Продажи справочник Товаров, в котором 100 товаров (100 строк) и 11 столбцов с всякими категориями товаров. Количество ячеек в Продажах после соединения будет 15 млн (1 столбец с id товара из справочника Товары я не считал, поскольку он уже есть в таблице Продажи). Поэтому таблица Товары в модели должна работать через связь
Неверный синтаксис ";" (DAX(CALENDAR( MIN('Продажи'[Дата]); TODAY () ))).
Подскажите пожалуйста в чем может быть причина ?
Календарь = CALENDAR( MIN('Продажи'[Дата]); TODAY () )
Спасибо
Попробуйте заменить ; на ,
@@addreport spasibo
Всю голову сломал. Не понимаю, как получаются среднемесячные продажи по 1 сотруднику и на 24:50. Почему такая формула и почему такой результат у неё. Вроде же первый параметр - таблица с одним столбцом VALUES('Календарь'[Номер Год месяц]) а второй - постоянное число DIVIDE([Сумма продаж],[Кол-во сотрудников]), не зависящее от столбца таблицы из первого параметра, и если его вычислить для каждой строки таблицы и посчитать среднее, то получится это же самое число. При этом, если создать отдельную таблицу Таблица = VALUES('Календарь'[Номер Год месяц]), а потом посчитать меру AVERAGEX('Таблица',DIVIDE('Меры'[Сумма продаж],'Меры'[Кол-во сотрудников])), то так и происходит.
Если предположить, что там за счёт связи таблиц календарь и продажи сумма продаж считается отдельно для каждого месяца (хотя вроде как VALUES создаёт новую таблицу), то всё равно не понятно, почему итоговое значение отличается от результата деления среднемесячных продаж на количество сотрудников.
Где я ошибаюсь?
Спасибо за вопрос. В общем-то я использовал любую работающую формулу и эта подошла)) Хотя работает она и правда не совсем очевидно из-за меры [Количество сотрудников]. Попробую описать формулу более подробно:
Сумма среденмес. продаж на 1 сотрудника = AVERAGEX(VALUES('Календарь'[Номер год месяц]),DIVIDE([Сумма продаж],[Количество сотрудников]))
- Используем формулу AVERAGEX, а не AVERAGE, поскольку нам нужно ввести контекст строки (Месяц года) для получения именно среднемесячного значения.
- VALUES('Календарь'[Номер год месяц]) как раз вводит контекст строки для расчета среднемесячного значения.
- DIVIDE([Сумма продаж],[Количество сотрудников]) для каждого месяца вычисляет продажи на 1 сотрудника.
Вот результат вычисления за 4 месяца prnt.sc/e1LP1nlHeDJj
На скриншоте видно, что расчет итога сделан как среднее значение от средних значений за 4 месяца. На мой взгляд, такое вычисление дает более достоверный результат для данного конкретного случая.
Вернемся к основному вопросу - мере [Количество сотрудников]. Как видно из скриншота выше эта мера для каждого месяца вычисляет разное количество сотрудников. Это обусловлено двухсторонней связью между справочником Магазины и таблицей фактов Продажи (Продажи также фильтруют Магазины). В каждом месяце продажи делались разным количеством магазинов и соответственно разным итоговым количеством сотрудников.
Если бы данная связь была направлена только в одну сторону (от Магазинов к Продажам), то расчет меры [Количество сотрудников] давал бы одно статическое значение. Тогда бы нам пришлось дописать формулу так: [Количество сотрудников] = CALCULATE(SUM('Магазины'[Кол-во сотрудников]), CROSSFILTER('Магазины'[StoreKey], 'Продажи'[StoreKey], Both)). Т.е. внутри этой меры создать двухстороннюю связь с помощью функции CROSSFILTER. prnt.sc/RbSM2XBr0fn7
Добрый вечер, у меня есть проблема со связью между "Продажи" и "Календарь", Power BI дает только кратность многие к многим и направление двунаправленное, либо Один(Продажи фильтрует Календарь) либо Один (Календарь фильтрует продажи), из-за этого дашборд получается неккоректным в сумме продаж за каждый месяц одинаковая сумма продаж, подскажите пожалуйста в чем проблема
Здравствуйте, поле Дата в Календаре должно содержать уникальный список дат без пустых клеточек, тогда будет правильно создаваться связь. Проверьте этот момент. Может каким-то образом у вас в Календаре в поле Дата содержатся пустые значения
Спасибо!
Супер!
А данные из файла нужно каждый раз импортировать?
Как вообще реализован механизм получения данных в пауэр би? Можно ли подключить БД к нему и получать актуальные данные всегда?
Данные из файла Power BI может импортировать автоматически по заданному расписанию. По умолчанию импорт - это полная перезаливка данных, но также в Power BI есть возможность настройки инкрементального импорта.
И да, Power BI может импортировать данные из большинства БД
Автор, скажи пожалуйста. Изначально, сумма продаж - 49 миллионов. Когда мы начинаем добавлять график с динамикой и срез "месяц год" - появляются пустые (blank) значения. Откуда они появляются? Почему они исчезают, когда мы применяем фильтр на всю страницу по плавающему месяцу? Тем более, что сумма, после применения фильтра становится на 49 миллионов, а 44.
Приветствую! Демо данные о продажах уходят в будущее (до конца 2023 года), а Календарь ограничен плавающей текущей датой (формула TODAY()). Поэтому со стороны Календаря в фильтре нет дат, которые старше плавающего сегодня. Поэтому там blank.
prnt.sc/KiWj9No-IAj6
@@addreport видос очень крутой и инофрмативный. Было бы круто, если бы разжевывалось до мелких деталей - почему, зачем, как, и тд. Новые видео где-то выходят?
@@АлексейПоляков-ъ9ф3ч спасибо. Согласен с вами, детали важны. Но лучше детализировать все же какую-то узкую тему. Пока регулярно видео не выходят, но я обдумываю сейчас, как сделать так, чтобы они начали выходить регулярно))
@@addreport Поскорее бы! Было бы очень круто - верим надеемся ждём! Приступайте как можно скорее
BC круто ❤️
Круто
Ссылки не работают. Можете отправить excel файл. Спасибо!
Здравствуйте, когда перекидываю данные с exel в power bi, то даты меняются на непонятные числа (в exel даты хорошо стоят) В чем может быть проблема? Как это изменить?
Здравствуйте. Попробуйте преобразовать столбец дат в виде чисел сначала в тип Целое число, а затем в тип Дата (обязательно следующим шагом).
gifyu.com/image/SnV3N
Спасибо!
Доброго времени суток. Не могу скачать данные по отчету. При входе на ссылку с исходными данными дает ошибку Код ошибки: PR_END_OF_FILE_ERROR. Зашел через свой Google account.
Добрый день. Сначала создайте копию этого файла в свой гугл аккаунт prnt.sc/fw0AGTgqfAJj. Затем опубликуйте его в интернет prnt.sc/my_hOcBe4bYW
@@addreport Доброе время суток. Видимо, я чайник 🙂. Не могу загрузить эти таблицы в свой Google аккаунт. Объясните подробно, как это сделать.
У меня есть аккаунт в Google. Я открыл пустую страницу. А дальше открыть вашу таблицу не могу. Помогите, пожалуйста, как действовать? Спаси-бо.
@@Melonph таблица должна открываться в браузере в режиме чтения при переходе по ссылке в описании к видео. Таблица у вас открывается?
нет@@addreport
Это все можно вывести на смартфон бесплатно?
Да, отчет можно опубликовать в Мою рабочую область в облаке Power BI. Для смартфона скачать приложение Power BI. У вас должна быть учетная запись Майкрософт для организации (можно создать ее в т.ч. при регистрации Power BI)
Добрый день ! Есть ли в общем доступе тестовые таблицы для закрепления информации по урокам?
Приветствую Гаря! Добавил ссылку в описание к видео
@@addreport спасибо большое
Приветствую, все описано четко и внятно! А можно исходный файл выложить для практики?
Приветствую Daniyar! Добавил ссылку в описание к видео
@@addreportответь, пожалуйста, на новый вопрос в теме 😊
@@addreport ссылки не активны
@@ainaakishova3576 ссылки активные, возможно у вас что-то блокирует сам сервис bitly.com
Гугл таблица
docs.google.com/spreadsheets/d/1NGwgGXdreOs5arZchgWBr_WFCQS57ywyTSq5CVzEVqw
Отчет
app.powerbi.com/view?r=eyJrIjoiMDBmYjczOTQtNDQyYy00ZDExLTkxZGYtZjAxMDg1YzU1ZGM1IiwidCI6IjEyZTlkMTlmLWFiZDAtNDdiMi05ZmRiLTk2NTVmY2E0MzRjYiIsImMiOjl9&
Фоновая картинка
drive.google.com/uc?export=download&confirm=no_antivirus&id=1mpQ36mGBBL3beT0PBaioI7EiGy7LHZzw&
здравствуйте, ссылка на гугл таблицу не работает. Помогите пожалуйста
Здравствуйте, проверил ссылка работает. Чтобы скопировать ее, вам нужно сначала войти в аккаунт в свой Google
The link does not work in the description :(
Hello Panto Mima! Thanks for your comment. Changed the description of the video. Added a link to the source file for creating a report
@@addreport Thank you so much. Keep up the good work.
Как отменить действие в этой проге?
Ctrl+Z на Windows
Почему-то в некоторых моментах у меня выходило чуть по-другому