У меня есть следующий JSON, полученный из PowerBI (с помощью функции кнопки Power Automate).
[
{
"entity": {
"Power BI values": [
{
"G-DATEMO": 4,
"G-DATEQU": 2,
"G-DATEYR": 2024,
"G-PRODUCT": "Biscuit",
"G-BAKERY": "West",
"Year Quarter Name": "2024 Q2"
},
{
"G-DATEMO": 4,
"G-DATEQU": 2,
"G-DATEYR": 2024,
"G-PRODUCT": "Bun",
"G-BAKERY": "West",
"Year Quarter Name": "2024 Q2"
},
{
"G-DATEMO": 4,
"G-DATEQU": 2,
"G-DATEYR": 2024,
"G-PRODUCT": "Bun",
"G-BAKERY": "South",
"Year Quarter Name": "2024 Q2"
},
]
}
}
]
Я хочу извлечь только УНИКАЛЬНЫЕ элементы для перечисленных G-PRODUCT и G-BAKERY, если это возможно, в отдельные массивы.
Я попытался применить «применить к каждому» внутри другого «применить к каждому», но в итоге массив был заполнен «Apply_to_each_2»
Необходимо добиться этого внутри Power Automate.
Привет. Что-то вроде: { Запад, Юг } и { Бисквит, Булочка }



Я сохранил ваши данные в переменную массива:
Следующим шагом будет создание действия синтаксического анализа json, которое будет описывать структуру предоставленного вами json. В контент я поместил образец массива данных, который создал. Схема должна выглядеть так:
{
"type": "array",
"items": {
"type": "object",
"properties": {
"entity": {
"type": "object",
"properties": {
"Power BI values": {
"type": "array",
"items": {
"type": "object",
"properties": {
"G-DATEMO": {
"type": "integer"
},
"G-DATEQU": {
"type": "integer"
},
"G-DATEYR": {
"type": "integer"
},
"G-PRODUCT": {
"type": "string"
},
"G-BAKERY": {
"type": "string"
},
"Year Quarter Name": {
"type": "string"
}
}
}
}
}
}
}
}
}
Далее вам нужно создать два действия выбора, чтобы извлечь правильные значения для каждого элемента. он должен автоматически создать цикл для вас, если вы выберете правильные входные данные:
Вместо того, чтобы инициализировать два массива в начале, сделайте это после цикла и используйте выходные данные выбора в качестве начальных значений для ваших массивов.
Последний шаг — удалить дубликаты из каждого массива. Создайте действие составления для каждого массива и используйте следующее выражение:
Спасибо, но я все еще не могу заставить это работать. Там, где у вас есть «Для каждого 1», и как только я добавляю выбор и вставляю «значения entity.power bi», он создает еще один «Для каждого». Как ты не создал его выше? Конечный результат просто: [null, null, null, null, null, null, null, null, null, null, null, null, (и т. д.)] Является ли добавление «нет» к переменным, созданным, потому что я недостаточно пьян? кофе и не понимаю, как вы помещаете их в переменные.
да, так что не ставьте для каждого действия самостоятельно. Сначала добавьте действие выбора и укажите необходимые параметры. Он автоматически обернет его в цикл for каждый
Тогда не уверен, что я делаю неправильно. Сразу после JSON я выбираю «выбрать». Как только я выбираю «Элементы Power BI» (у меня есть выбор элемента, сущности, тела, значений Power BI), он дает мне первый цикл «Для каждого». Как только я выбираю «G-Bakery» (для этого мне нужно переключиться на отображение в текстовый режим), он сразу же переводит меня в другой «Для каждого». Таким образом, я продолжаю выдавать «ноль, ноль, ноль». Какая часть Я делаю неправильно?
Кроме того, сразу после For-each (первого), если я выполняю компоновку и G-Bakery, тогда переменная просто пуста.
Я понимаю, что ты имеешь в виду, я забыл шаг. позвольте мне обновить мой ответ для вас
Я обновил его для тебя
спасибо, что придерживаетесь этого. Невозможно ссылаться на «выбрать» внутри цикла. Единственный способ получить его, так сказать, - это создать композицию внутри цикла, поместить туда результат выбора, а затем скопировать его в переменную ниже, удалив композицию. Однако вход RAW в переменную Initialize пуст. Select теперь выполняет свою работу (кто знает, что он будет чувствителен к регистру!), но я не могу вывести его из цикла. Вы не можете перенести выходные данные цикла в массив, поскольку он приводит к ошибке в области действия Foreach.
вам не нужно ссылаться на выбор внутри цикла. Вы используете выходные данные select для инициализации массивов после цикла.
Вы не можете легко ссылаться на вывод select вне цикла. В конце концов я заставил это работать для других, кто придет после меня: 1) Инициализировать переменную перед циклом 2) При добавлении выбора выберите «Значения Power BI», а затем для карты добавьте его, используя возможность выражения (в приведенном выше примере , item()?['G-Bakery]). Это остановит автоматизацию запуска еще одного добавления цикла. 2) В каждом цикле выберите «Установить переменную» и выберите результат выбора. 3) Вне цикла выполните композицию и объединение. Тогда это работает. Спасибо @IBEMeltin за помощь в этой части!
нет проблем, если мои ответы были полезны, вы можете проголосовать за меня и выбрать мой ответ :)
каков ваш ожидаемый результат?