#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])
в качестве формулы, определяющей его.