PowerBI: как использовать запрос для подачи функции с несколькими параметрами

#powerbi #powerquery #m

#powerbi #powerquery #m

Вопрос:

Я работаю над созданием модели в Power BI, которая извлекает данные из стороннего API. Вызов API имеет два параметра; userId и AccountType.

У меня есть существующий запрос в моем PowerBI, который предоставляет дублированный список всех комбинаций идентификатора пользователя и типа учетной записи, которые мы храним в системе.

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

 fnMyFunction("12345", "ABCDEF")
  

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

Что я пробовал:

 fnMyFunction(myQuery[UserId], myQuery[AccountType])
  

Это приводит к следующей ошибке: 1. Ошибка: мы не можем преобразовать значение типа List в тип Text .`

 fnMyFunction(each myQuery[UserId], each myQuery[AccountType])
  

Это приводит к той же ошибке, что и выше.

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

Как я мог бы достичь своей цели вызова нашей функции, используя данные, возвращаемые существующим запросом в качестве входных данных для функции?

Спасибо.

Ответ №1:

Я бы рекомендовал вызвать вашу функцию в качестве пользовательского столбца в вашей myQuery таблице.

Добавьте пользовательский столбец myQuery с помощью

 fnMyFunction([UserId], [AccountType])
  

в качестве формулы, определяющей его.