Рвав-рвав, здесь снова собака Смайл!
Данная статья появилась благодаря поступившему запросу от пользователей одного телеграмм-канала.
Шустрый собака, в качестве помощи, решил по-быстрому найти ссылку с ответом на этот вопрос, но ничего толкового нагуглить по этому поводу в короткое время не сумел. В результате пришлось на мобиле кратенько описывать данный вопрос, аж бесит (!), и где-то в планах появилось сделать собственный материал.
Вся эта ситуация еще раз подтвердила справедливоcть моего высказывания в статье Создание календаря при помощи DAX на тему того, что «Правильно гуглить — тоже труд…», поэтому — начинаем.
Таблица «Список проектов» содержит информацию по проекту, а именно данные по менеджеру проекта и дате начала проекта:

Задача:
Продемонстрировать применение параметров различного типа в качестве инструмента фильтрации данных.
Параметры бывают следующих видов:
- Любое значение — функционал будет продемонстрирован на примере столбца «Название проекта».
- Список значений — функционал будет продемонстрирован на примере столбца «Дата начала проекта».
- Запрос — функционал будет продемонстрирован на примере столбца «Руководитель проекта».
Процесс разработки:
- Создана таблица «Список проектов» — это таблица, созданная на уровне Power Query, и содержащая входящие данные в столбцах «Менеджер проекта», «Название проекта» и «Дата начала проекта».
Рвав-рвав, как вы уже, наверно, догадались, никаких дополнительных действий (например, расчетов, построения связей), нам совершать не надо.
- Создание параметров производится на уровне Power Query, с уровня DAX на него можно перейти, например, при помощи кнопки «Преобразование данных», расположенной на закладке «Главная».
- Затем следует перейти в раздел управления параметрами, данное действие можно осуществить, например, при помощи одноименной кнопки «Управление параметрами», расположенной на закладке «Главная».
- После этого откроется пустая форма создания параметра, которую необходимо наполнить определенным образом при помощи кнопки «Создать»:

- Параметр вида «Любое значение» можно настроить следующим образом:
— Поле «Описание» = «Название проекта» (задается произвольно, в дальнейшем выводится в качестве подсказки пользователю).
— Поле «Требуется» = «Нет» (регулируется при помощи соответствующего флага, смысл установки которого состоит в том, чтобы указать обязательность заполнения реквизита).
— Поле «Тип» = «Текст» (обозначение ограничения на определенный тип данных в реквизите, что может быть полезно, например, в случае, когда в качестве параметра нужно использовать любое значение, так как вариантов много, но определенного типа, для того, чтобы избежать ошибочного ввода данных со стороны пользователя).
— Поле «Предлагаемые значения» = «Любое значение№ (тип параметра).
— Поле «Текущее значение» = «Нет» (текущее значение параметра, может быть использовано в качестве значения по умолчанию):

- Для сохранения параметра необходимо нажать кнопку «ОК», после чего в области «Запросы», расположенной с левой стороны, появится созданный параметр:

- Параметр вида «Список значений» можно настроить следующим образом:
— Поле «Описание» = «Начало проекта».
— Поле «Требуется» = «Да».
— Поле «Тип» = «Дата».
— Поле «Предлагаемые значения» = «Список значений», содержащий «01.01.2019» и «01.02.2019».
— Поле «Значение по умолчанию» = «01.01.2019» (значение по умолчанию выбирается из внесенного списка).
— Поле «Текущее значение» = «01.01.2019» (указанное значение также может отличаться от значения по умолчанию):

- Для сохранения параметра необходимо нажать кнопку «ОК».
- До того, как приступить к настройке параметра вида «Запрос», необходимо предварительно создать объекты подобного типа в системе. Создание запроса можно осуществить, например, воспользовавшись контекстным меню в столбце таблицы путем выбора действия «Добавить как новый запрос». Ниже представлен предварительно обработанный запрос «Менеджеры», содержащий список руководителей проекта:

- Параметр вида «Запрос» можно настроить следующим образом:
— Поле «Описание» = «Руководитель проекта».
— Поле «Требуется» = «Нет».
— Поле «Тип» = «Текст».
— Поле «Предлагаемые значения» = «Запрос».
— Поле «Запрос» = «Менеджеры» (значение выбирается из списка запросов).
— Поле «Текущее значение» = «Нет»:

- Для использования созданных параметров в качестве фильтра их необходимо привязать к соответствующим столбцам данных. Привязка осуществляется путем наложения фильтра на столбец с данными. Возможности фильтрации зависят от типа данных столбца:

- После выбора нужного действия фильтрации, в качестве опции значения нужно выбрать параметр, и указать его название. Окно настройки фильтрации данных представлено ниже:

Рвав-рвав, важно понимать, что поскольку параметр накладывает фильтр на набор данных, то с каждым следующим параметром вы можете так уменьшить конечную выборку, что в итоге получится пустой набор значений. Поэтому для целей демонстрации функционала далее будет показан пример применения только параметра «Ответственный».
- Окончательный вид настройки в данном окне выглядит следующим образом:

- После настройки фильтра необходимо нажать кнопку «ОК», при этом таблица «Список проектов» будет отфильтрована по значению параметра «Ответственный». И, поскольку, дефолтное значение для данного параметра мы при его создании не указывали, таблица «Список проектов» не будет содержать данных:

- Чтобы исправить данную ситуацию, необходимо указать для параметра «Ответственный» любое текущее значение, например, «Морозова Ольга»:

- В результате данных действий таблица «Список проектов» будет отфильтровано по столбцу «Руководитель проекта» согласно указанному значению:

- Для сохранения внесенных изменений, а именно привязки параметра к столбцу данных, и, собственно, любых других действий на уровне Power Query, необходимо применить все изменения при помощи кнопки «Закрыть и применить».
- В целях демонстрации функционала работы параметров Power Query необходимо на основе данных таблицы «Список проектов» построить какой-либо визуальный элемент, например, аналогичную таблицу следующего вида:

Рвав-рвав, как видите, на уровне визуализации таблица «Список проектов» содержит только часть данных, поскольку работает фильтр, указанный при помощи параметра «Ответственный».
Использование функционала:
- Изменение значения параметра осуществляется по кнопке «Преобразование данных» → Изменить параметры":

Рвав-рвав, в данном окне отображается список всех параметров, присутствующих в отчете, а также всплывающие подсказки, доступные по значку «i».
- После ввода в параметр «Ответственный» значения, отличного от текущего, необходимо зафиксировать изменения при помощи кнопки «ОК»:

- В результате данных действий в окне на холсте страницы в верней ее части появится полоса с кнопкой «Применить изменения»:

- После нажатия кнопки «Применить изменения», значения, указанные пользователем через параметры, будут применены в качестве фильтра к таблице «Список проектов»:

Возможное применение:
- Параметры можно использовать в качестве нежесткого средства ограничения выборки данных, устанавливаемом пользователем самостоятельно. Это может понадобиться, если объем данных, подгружаемых при обновлении, достаточно большой, и при этом не все они нужны для текущего анализа.
- Также, параметрами не обязательно именно фильтровать исходный набор данных, а использовать их значения для визуализаций, или каких-либо расчетов.
- До появления в Power BI Desktop так называемого «инкрементного обновления», да, собственно, и после, уменьшение объема загружаемых данных можно осуществить описанным способом.
Рвав-рвав, статья подошла к концу и уморившаяся собака Смайл пошел дрыхнуть, оставив задние лапы…
Ваш Смайл