В ходе настройки отчета в PowerBI возникла необходимость отфильтровать (отобразить) Города только с отрицательным (условием значения "<-15000") отклонением по продажа от плана и далее если провалиться в любой из таких городов, отобразить только Пункты продаж (в каждом городе несколько пунктов продаж) которые имеют отклонение "<-2000".
Описание отчета:
В рамках городов есть план по выручке (БП), прогноз (ПРОГНОЗ) и отклонение Прогноза от плана. В источнике для отчета все показатели разбиты по месячно, в самом PowerBI уже суммируются по году. На слайде в PowerBI мне необходимо вывести с учетом иерархии Города по отклонению в Минус. 1-ым условием для вывода отклонения должно быть менее -15000 для графика городов (верхний уровень иерархии) 2-йм условием для вывода отклонения должно быть менее -2000 для графика уже Пунктов продаж (низкий уровень иерархии)
Зачем необходим второй фильтр на уровне пунктов продаж? Пунктов продаж в реальном отчете может быть пол тысячи и всех их отбражать на графике в PowerBI согласитесь не разумно и не userfriendly. Визуально, нужно выделить основные пункты продаж по отклонениям так же как и города, но со своим специальным условиям для данного уровня иерархии( отклонение пункта продаж <-2000).
Проблема в том, что при наличии иерархии - Города и далее "Пункты продаж" не понятно как создать два отдельных фильтра или настроить корректно один. Спасибо Максиму была выведена мера которая позволила корректно отображать фильтрацию для городов. - 'ДанныеBI'[Отклонение] -
Но появилась необходимость так же применять фильтр и для следующего слоя иерархии - Пунктов продаж.
Использовать текущую меру уже для данной задачи не получиться. так как если ее разместить в визуальную часть отчета и установить фильтр, к примеру показать только <=-15000, будет визуально отфильтрованы только Города, Пункты продаж будут показываться все, как именно добавить какой либо индивидуальный визуальный фильтр для Пунктов продаж не могу понять.
Рис1 - необходимое представления слоя отчета для Городов Рис2 - необходимое представление слоя отчета для Пунктов продаж.
А вообще, наверное, интересно должно быть не по абсолютным отсечкам формировать рейтинг, а по количеству - например ТОП 5 самых негативных отклонений...
vetrintsev, Спасибо!! создать колонку и меру получилось, но подскажите пожалуйста, куда инкорпорировать данную меру? Как использовать этот показатель? Если фильтровать по данному отклонению на слое пунктов продаж отражаются всеравно все пункты.
bobyjoy написал: Как использовать этот показатель?
К сожалению, не имею практики использования интерфейса Power BI, здесь лучше подскажут другие участники форума. По идее, мера сама по себе возвращает данные только в том случае - если порог соблюден. В привычном Excel в отчете остануться только строки удовлетворящие порогу. А значит для всех остальных срезов вернет BLANK() - и измерение должно скрыться с отчета/графика.
Спасибо огромное Максим Зеленский !!!!!! и vetrintsev. Коллеги если есть какие то стандартные способы установки фильтрации для разных уровней иерархии, если не сложно дайте ссылку. Конкретно данную формулу я понял, но к примеру применять в других ситуация возможно продеться сильно модифицировать. Ну не может же быть, что макрософт не предусмотрел кастомизацию фильтров на разных уровнях иерархии через панели в меню а не на уровне формул.
Коллеги, если будет возможность и время вы можете помочь еще модифицировать формулу для условия что бы можно было как раз так же выбирать TOP или BOTTOM. К примеру BOTTOM 5 пунктов продаж ил BOTTOM 3 Города (два фильтра одновременно.
vetrintsev написал: не соображу, как отрабатывает это условие для контекста строки?
если просто в контексте строки ISINSCOPE(столбец), то будет FALSE. Если в контексте строки работает перенос контекста, например, используем CALCULATE(ISINSCOPE(столбец), то будет TRUE. В общем, в контексте строки бесполезная функция, её используем для визуалов/сводных, чтобы определить, где находимся. По идее, ISINSCOPE мог бы быть шорткатом для сочетания функций типа HASONEVALUE, ISFILTERED, ISCROSSFILTERED, но нет, там идет проверка на другом уровне. Условно говоря, если при помощи фильтров оставить в столбце только одно значение, то в итоговой строке HASONEVALUE даст TRUE, но ISINSCOPE даст FALSE. Скорее всего, проверяется на уровне кода визуала при помощи ISSUBTOTAL