Similar presentations:
Вычисления в модели
1.
Занятие 5Вычисления в модели
Павел Козлов
2.
Цели занятия3.
Цели занятияНаучиться управлять контекстом
− Создавать текстовые меры
− Создавать меры с условиями
− Делать меры, считающие по разному для
разных столбцов
−
4.
О чём поговорим, чтосделаем
5.
План занятияПовторим про контекст
Создадим меры. Много. Хороших и разных
6.
Снова про контекст7.
Снова про контекстЭффект, когда значение формулы зависит от соседей, называется контекстом
формулы.
Контекст – это удобно, потому что позволяет написать одну формулу для разных
ситуаций.
Контекст – это неудобно, потому ненаглядно. Требуется постоянно учитывать
контекст, в котором вычисляется формула.
Есть 2 вида контекста: контекст строк и контекст фильтра.
8.
Снова про контекстКонтекст строки
Почему в разных строках разные
значения?
Ведь формула везде одна!
Формула в вычисляемом столбце
всегда вычисляется в контексте
строки
9.
Концепция контекстаКонтекст фильтра
Мера [Выручка] считается в
контексте подписей строк,
столбцов (а также фильтров и
срезов, которых на этой картинке
нет).
Это – контекст фильтров.
10.
Снова про контекстОткроем «Файл с прошлого занятия.pbix» и удивимся!
11.
Снова про контекстПочему так???
12.
Снова про контекстВ левой таблице коды взяты из
справочника. Справочник
связан с таблицами фактов,
поэтому контекст работает.
В правых таблицах коды взяты
из соответствующих таблиц
фактов. Для показателя из
«своей» таблицы все считается
правильно, в разбивке.
Для показателя из «чужой»
таблицы контекста нет, поэтому
показатель отображается
целиком, без разбивки.
13.
Снова про контекстИзмерения – это «подписи». Значения
берутся из соответствующего
столбца.
Меры – это «показатели». Значения
считаются формулами,
рассчитанными на основе аргументов
И значений измерений, возле
которых оказалась формула.
Измерения
Мера
14.
Снова про контекстТаблица
Справочники
событий
(фактов)
15.
Снова про контекстСправочники
Великие люди Сочные яблоки
Имя
Фамилия
Сорт Дата рождения
Цвет Дата смерти
Вес
Диаметр
хххххх
хххххх
хххххх хххххх
хххххх
хххххх
хххххх
хххххх
хххххх
хххххх
хххххх хххххх
хххххх
хххххх
хххххх
хххххх
хххххх
хххххх
хххххх хххххх
хххххх
хххххх
хххххх
хххххх
хххххх
хххххх
хххххх хххххх
хххххх
хххххх
хххххх
хххххх
Ньютон
4.1.1643 Красный
31.3.1727 160 г
Старк Эрлиест
12 см
Исаак
хххххх
хххххх
хххххх хххххх
хххххх
хххххх
хххххх
хххххх
хххххх
хххххх
хххххх хххххх
хххххх
хххххх
хххххх
хххххх
хххххх
хххххх
хххххх хххххх
хххххх
хххххх
хххххх
хххххх
хххххх
хххххх
хххххх хххххх
хххххх
хххххх
хххххх
хххххх
хххххх
хххххх
хххххх хххххх
хххххх
хххххх
хххххх
хххххх
хххххх
хххххх
хххххх хххххх
хххххх
хххххх
хххххх
хххххх
хххххх
хххххх
хххххх хххххх
хххххх
хххххх
хххххх
хххххх
хххххх
хххххх
хххххх хххххх
хххххх
хххххх
хххххх
хххххх
Таблица событий (фактов)
Встречи яблок и великих людей
Человек
Яблоко
Дата встречи Место встречи
хххххх
хххххх
хххххх
хххххх
хххххх
хххххх
хххххх
хххххх
хххххх
хххххх
хххххх
хххххх
хххххх
хххххх
хххххх
хххххх
4.10.1666
Линкольншир
Исаак Ньютон Старк Эрлиест
хххххх
хххххх
хххххх
хххххх
хххххх
хххххх
хххххх
хххххх
хххххх
хххххх
хххххх
хххххх
2.09.1676
3.09.1676
Девоншир
Девоншир
Исаак Ньютон Старк Эрлиест
Исаак Ньютон Старк Эрлиест
хххххх
хххххх
хххххх
хххххх
хххххх
хххххх
хххххх
хххххх
хххххх
хххххх
хххххх
хххххх
Обычно, измерения – из справочников
Обычно, меры – из таблиц событий
16.
Снова про контекстТаким образом, можно сказать, что существует 3 вида
столбцов в модели:
Измерения – обычно, в справочниках
«Сырье» для мер – обычно, в таблицах событий
Ключи – то, что связывает все остальные таблицы
«Обычно» – потому что всегда будут исключения
17.
Учебная задача18.
Учебная ситуацияМы – новые руководители отдела продаж электронной техники. Нам
нужно разобраться с продажами подотчетной техники.
У нас есть модель данных, в которой есть следующие данные:
Справочники
События
Календарь (даты, месяцы, номера месяцев)
Продажи (код покупателя, артикул, дата, кол-во шт.
проданного товара, идентификатор сделки)
Цвета (цветокод, цвет)
Планы (код подкатегории, месяц, код города, план
продаж в рублях)
Размеры (типокод, размер)
Товары (артикул, код подкатегории, цветокод, типокод, себестоимость (закупочная цена), цена продажи)
Товарные категории (код подкатегории, подкатегория, категория)
Покупатели (код покупателя, ФИО покупателя, код города, признак постоянного покупателя)
Города (код города, название города, регион, федеральный округ)
19.
Учебная ситуацияЗадача 1
Посчитать выручку.
20.
Учебная ситуацияЗадача 1
Выручка = SUMX('Продажи’;
'Продажи'[Количество]*RELATED('Товары'[Цена продажи]))
21.
Учебная ситуацияЗадача 2
1. Посчитать выручку только для постоянных клиентов.
2. Посчитать выручку только для красной техники
22.
Учебная ситуацияЗадача 2
1. Выручка от постоянных покупателей =
[Выручка]('Покупатели'[Постоянный покупатель]=TRUE())
или
Выручка от постоянных покупателей =
CALCULATE( [Выручка]; 'Покупатели'[Постоянный покупатель]=TRUE() )
2. Выручка только для красной техники =
CALCULATE([Выручка]; 'Цвета'[Цвет] = "Красный")
23.
Учебная ситуацияЗадача 3
Посчитать выполнение плана (в процентах от плана).
24.
Учебная ситуацияЗадача 3
Выполнение плана = DIVIDE([Выручка];[План продаж]; "плана нет")
25.
Учебная ситуацияЗадача 4
Посчитать на сколько недовыполнен или перевыполнен план и вывести
для каждого измерения фразу: План недовыполнен/перевыполнен на
ХХХ рублей
26.
Учебная ситуацияЗадача 4
План выполнен? =
var diff = [Выручка]-[План продаж]
var yes = "План перевыполнен на "
var no = "План недовыполнен на "
return
if (diff>=0; yes&FORMAT(diff; "# ###,"); no&FORMAT(abs(diff); "# ###,"))
27.
Учебная ситуацияЗадача 5
Посчитать число покупателей
28.
Учебная ситуацияЗадача 5
Число покупателей = DISTINCTCOUNT('Покупатели'[Код покупателя])
29.
Учебная ситуацияЗадача 6
Сделать так, чтобы для города выручка считалась как сумма, а в общем
– как среднее
30.
Учебная ситуацияЗадача 6
Сложная мера =
var OnePlace=HASONEVALUE('Города'[Город])
return
if (OnePlace;
SUMX('Продажи';'Продажи'[Количество]*RELATED('Товары'[Цена
продажи]));
AVERAGEX('Продажи';'Продажи'[Количество]*RELATED('Товары'[Цена
продажи])))
31.
Чему мы сегоднянаучились
32.
Резюме−
−
−
−
Мы узнали, как управлять контекстом в формулах;
Научились использовать переменные в формулах;
Узнали, что в мерах могут быть не только числа;
Узнали, что меры могут «узнавать» где они стоят.
33.
Полезные материалы34.
Полезные материалы− Документация по Power BI Desktop
− Сообщество (англ.)
− Блог Microsoft Power BI
− Справка по DAX
− DAX guide
35.
Про домашние задания36.
Про домашние задания1. Читайте, пожалуйста, внимательно задание. Очень внимательно;
2. Выполняйте, пожалуйста, все условия задания в точности так, как они
сформулированы. Не срезайте углы;
3. Если что-то непонятно как делать – пересмотрите материалы занятия. Для
выполнения задания не требуется ничего, чего нет в материалах занятия;
4. Домашние задания нужно делать. Это самая главная часть обучения. Можно
научиться только делая задания и не просматривая материалы. Но нельзя научиться
только просматривая материалы;
5. После задания почти всегда есть скриншот с требуемым результатом. Если Ваш
результат отличается от скриншота – доработайте свой результат;
6. Если Вы не укладываетесь в срок сдачи, можно запросить продление срока. Но
лучше укладываться в срок;
7. Срок решения – не оценивается. Качество решения – оценивается. Поэтому лучше
сдать решение позже, но качественное;
8. При поиске решения помните, что решение должно быть универсальным: оно должно
правильно работать и с другими исходными данными.
37.
Домашнее задание38.
Домашнее заданиеЗадача
В приложенном файле «Анализ продаж направления Техника (домашнее
задание).pbix» содержится та же модель данных, что и изучавшаяся на уроке.
Сделайте, пожалуйста:
1. Меру, считающую соотношение продаж в деньгах постоянных клиентов к
продажам непостоянных клиентов;
2. Меру, которая для каждого покупателя будет выводить надпись, как в
примере: «Этот покупатель покупал 7 раз, 8 товаров, на сумму 20 000
рублей». «Раз» – имеется в виду «визитов»; «товаров» – имеется в виду штук
товаров, а не число наименований;
3. Меру, считающую среднюю выручку с одного покупателя. Формула средней
выручки с одного покупателя = [Выручка]/[Число покупателей].
Все меры должны быть в таблице «Продажи».
Названия мер должны быть такими, чтобы было понятно что считает эта мера.
На следующем слайде показано что должно получиться.
39.
Домашнее задание, результатПравильно посчитанные меры будут показывать следующее при добавлении в
визуализации «Карточка»
40.
Домашнее заданиеЗамечания к домашнему заданию
1. «(Со)Отношение» A к B – это операция деления. То есть A/B;
2. Фраза «покупал Х раз» означает, что покупатель приходил Х раз в магазин. Т.е.
существует Х записей (идентификаторов) его визитов;
3. Фраза «покупал Y товаров» означает, что данным покупателем было куплено Y
единиц товаров. Например, если покупатель купил 2 телефона и один телевизор, то
им было куплено 3 товара;
4. Фраза «на сумму Z рублей» означает, что за купленные товары покупателем было
уплачено Z рублей;
5. «Средняя выручка» – это сколько в среднем приносит денег один покупатель. Чтобы
посчитать этот показатель мы должны посчитать сколько всего денег мы получили
(«выручка») и разделить на число покупателей. Это и будет средняя выручка.
41.
Спасибо за внимание!Павел Козлов