Использование параметров

Параметр служит способом легкого хранения и управления значением, которое можно использовать повторно.

Параметры обеспечивают гибкость динамического изменения выходных данных запросов в зависимости от их значения и могут использоваться для:

  • Изменение значений аргументов для конкретных преобразований и функций источника данных.
  • Входные данные в пользовательских функциях.

Вы можете легко управлять параметрами в окне "Управление параметрами ". Чтобы открыть окно "Управление параметрами ", выберите параметр "Управление параметрами " в разделе "Управление параметрами " на вкладке "Главная ".

Manage Parameters window.

Создание параметра

Power Query предоставляет два простых способа создания параметров:

  • В существующем запросе щелкните правой кнопкой мыши запрос, значение которого является простой неструктурированной константой, например датой, текстом или числом, а затем выберите "Преобразовать в параметр".

    Convert to parameter.

    Вы также можете преобразовать параметр в запрос, щелкнув правой кнопкой мыши параметр и выбрав команду "Преобразовать в запрос".

    Convert to query.

  • В окне "Управление параметрами" выберите параметр "Новый параметр " в раскрывающемся меню "Управление параметрами " на вкладке "Главная ". Или запустите окно "Управление параметрами " и выберите "Создать " вверху, чтобы создать параметр. Заполните эту форму и нажмите кнопку "ОК ", чтобы создать новый параметр.

    Create a parameter from the Manage Parameters window.

После создания параметра всегда можно вернуться в окно "Управление параметрами ", чтобы изменить любой из параметров в любой момент.

Свойства параметра

Параметр сохраняет значение, которое можно использовать для преобразований в Power Query. Помимо имени параметра и значения, которое он сохраняет, также имеются другие свойства, предоставляющие метаданные. Свойства параметра:

  • Имя: укажите имя для этого параметра, которое позволяет легко распознавать и отличать его от других параметров, которые можно создать.

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

  • Обязательный. Флажок указывает, могут ли последующие пользователи указать, должно ли быть предоставлено значение параметра.

  • Тип: указывает тип данных параметра. Рекомендуется всегда настраивать тип данных параметра. Чтобы узнать больше о важности типов данных, перейдите к типам данных.

  • Предлагаемые значения: предоставляет пользователю предложения по выбору значения текущего значения из доступных параметров:

    • Любое значение: текущее значение может быть любым введенным вручную значением.

    • Список значений. Предоставляет простой интерфейс, подобный таблице, чтобы можно было определить список предлагаемых значений, которые позже можно выбрать для текущего значения. При выборе этого параметра будет доступен новый параметр с именем "Значение по умолчанию ". Здесь можно выбрать значение по умолчанию для этого параметра, которое является значением по умолчанию, отображаемым пользователю при ссылке на параметр. Это значение не совпадает с текущим значением, которое является значением, которое хранится в параметре и может быть передано в качестве аргумента в преобразованиях. Использование списка значений предоставляет раскрывающееся меню, которое отображается в полях "Значение по умолчанию " и "Текущее значение ", где можно выбрать одно из значений из предлагаемого списка значений.

      Parameter with a suggest list of values.

      Примечание

      Вы по-прежнему можете вручную ввести любое значение, которое требуется передать в параметр. Список предлагаемых значений служит только простыми предложениями.

    • Запрос: использует запрос списка (запрос, выходные данные которого являются списком) для предоставления списка предлагаемых значений, которые позже можно выбрать для текущего значения.

      Parameter with list query.

  • Текущее значение: значение, хранящееся в этом параметре.

Где использовать параметры

Параметр можно использовать различными способами, но чаще используется в двух сценариях:

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

В следующих разделах вы увидите пример для этих двух сценариев.

Аргумент шага

Чтобы включить эту функцию, сначала перейдите на вкладку "Вид" в редакторе Power Query и выберите параметр "Всегда разрешать" в группе "Параметры".

Always allow parameters.

Например, в следующей таблице "Заказы " содержатся поля OrderID, Units и Margin .

Sample table for Orders with margin.

В этом примере создайте новый параметр с именем Minimum Margin с типом десятичного числа и текущим значением 0,2.

Sample Parameter.

Перейдите к запросу "Заказы " и в поле "Поля" выберите параметр " Больше, чем фильтр".

Greater than filter option for Margin field.

В окне "Фильтр строк " есть кнопка с типом данных для выбранного поля. Выберите параметр "Параметр " в раскрывающемся меню для этой кнопки. В выделенном поле рядом с кнопкой типа данных выберите параметр, который нужно передать этому аргументу. В этом случае это параметр Minimum Margin .

Select parameter for transformation argument.

После нажатия кнопки "ОК" таблица фильтруется с помощью текущего значения параметра.

Sample parameter used as a transformation argument.

Если изменить текущее значение параметра Minimum Margin на 0,3, запрос заказов обновляется немедленно и отображает только строки, в которых поле превышает 30 %.

Updated Current Value for parameter.

Совет

Многие преобразования в Power Query позволяют выбрать параметр из раскрывающегося списка. Мы рекомендуем всегда искать его и пользоваться преимуществами доступных параметров.

Аргумент пользовательской функции

С помощью Power Query можно создать пользовательскую функцию из существующего запроса с помощью простого щелчка мыши. В предыдущем примере щелкните правой кнопкой мыши запрос Orders и выберите "Создать функцию". Это действие запускает новое окно создания функции . В этом окне назовите новую функцию и сообщите о параметрах, на которые ссылается запрос. Эти параметры используются в качестве параметров для пользовательской функции.

Create Function.

Но вы можете присвоить этой новой функции имя. В демонстрационных целях имя этой новой функции — MyFunction. После нажатия кнопки "ОК" в области запросов создается новая группа с помощью имени новой функции. В этой группе вы найдете параметры, используемые для функции, запрос, который использовался для создания функции, и саму функцию.

Function created.

Чтобы протестировать эту новую функцию, введите значение, например 0,4, в поле под меткой минимального поля . Затем нажмите кнопку "Вызвать ". При этом создается новый запрос с именем вызываемой функции, фактически передавая значение 0,4, которое будет использоваться в качестве аргумента для функции, и предоставляя только строки, в которых поле превышает 40 %.

Invoked function with value 0.4.

Дополнительные сведения о создании пользовательских функций см. в разделе "Создание настраиваемой функции".

Параметры с несколькими значениями или списками

Новый тип параметра, доступный только в Power Query Online, — это параметры с несколькими значениями или списками. В этом разделе описывается создание нового параметра списка и его использование в запросах.

В предыдущем примере измените текущее значение минимального поля с 0,3 на 0,1. Новая цель — создать параметр списка, который может содержать номера заказов, которые вас интересуют при анализе. Чтобы создать новый параметр, перейдите в диалоговое окно "Управление параметрами " и выберите " Создать ", чтобы создать новый параметр. Заполните этот новый параметр следующими сведениями:

  • Имя: Интересные заказы
  • Описание: Набор номеров заказов, интересных для определенного анализа.
  • Обязательно: Истинный
  • Тип: Список

После определения этих полей появится новая сетка, в которой можно ввести значения, которые вы хотите сохранить для параметра. В этом случае эти значения : 125, 777 и 999.

New Interesting Orders list parameter with the values 125, 777, and 999 in the values grid.

Примечание

Хотя в этом примере используются числа, вы также можете хранить другие типы данных в списке, такие как текст, даты, дата и время и многое другое. Дополнительные сведения: типы данных в Power Query

Совет

Если вы хотите более контролировать, какие значения используются в параметре списка, вы всегда можете создать список с постоянными значениями и преобразовать запрос списка в параметр, как показано ранее в этой статье.

Используя новые параметры списка интересных заказов , вернитесь к запросу "Заказы ". Выберите меню автофильтровки поля OrderID . Выберите number filtersIn>.

In option inside the Numbers filters sub-menu for the OrderID column.

После выбора этого параметра появится новое диалоговое окно "Фильтрация строк ". Здесь можно выбрать параметр списка в раскрывающемся меню.

Filter rows dialog showing the in operator where you can use the new Interesting Orders list parameter

Примечание

Параметры списка могут работать с параметрами " или "Нет". Позволяет фильтровать только по значениям из списка. Не выполняет именно наоборот и пытается отфильтровать столбец, чтобы получить все значения, которые не равны значениям, хранящимся в параметре.

После нажатия кнопки "ОК" вы вернетесь к запросу. Там запрос был отфильтрован с помощью созданного параметра списка с результатом сохранения только строк, где OrderID был равен 125, 777 или 999 .

Final table after being filtered using both the Interesting Orders list parameter and the Minimum Margin of 10%.