Как вставить записи JSON в общий объект службы данных в PowerApps?
Мне нужно вставить записи данных в сущности Common Data Service(CDS) в PowerApps. Вот как выглядит моя сущность:
Теперь, если я попытаюсь вставить записи, импортировав таблицу Excel, как показано ниже, power query правильно интерпретирует ее в своей собственной таблице.
Шаги => "Получить данные"> "Excel"> "Обзор" (onedrive)
Но если я попытаюсь сделать то же самое с помощью файла JSON, он не сможет разбить его на атрибуты.
Образец JSON:
[
{
"patientID": "p1",
"phoneNumber": 9876543210,
"patientName": "Abc",
"DOB": "17/06/2006",
"Address": "Hyderabad"
},
{
"patientID": "p2",
"phoneNumber": 9976543210,
"patientName": "def",
"DOB": "17/06/2006",
"Address": "Hyderabad"
},
{
"patientID": "p3",
"phoneNumber": 9996543210,
"patientName": "ghi",
"DOB": "17/06/2006",
"Address": "Hyderabad"
}
]
Steps => 'Get Data'> 'JSON'> 'Browse' (onedrive)
Соответствующая интерпретация PowerQuery:
Тогда, если мы перейдем к первой записи:
Теперь это следует интерпретировать как таблицу из 5 столбцов, а не как таблицу из 2 столбцов с "Ключом" и "Значением" в качестве 2 столбцов.
Возможное решение этого: "Преобразовать в таблицу"> "Преобразовать таблицу - Транспонировать"> "Преобразовать таблицу - использовать первую строку в качестве заголовков"
Это дает следующий результат:
Но это всего лишь одна запись, где должно было быть 3 записи.
Как сделать так, чтобы файлы JSON преобразовывались в таблицу так же, как обрабатываются таблицы Excel? Должен ли JSON быть написан по-другому?
1 ответ
Получив список записей, передайте выражение Table.FromRecords
функция. Это даст вам ожидаемый результат.
Чтобы дать вам пример:
let
serialised = "[{""patientID"": ""p1"",""phoneNumber"": 9876543210,""patientName"": ""Abc"",""DOB"": ""17/06/2006"",""Address"": ""Hyderabad""},{""patientID"": ""p2"",""phoneNumber"": 9976543210,""patientName"": ""def"",""DOB"": ""17/06/2006"",""Address"": ""Hyderabad""},{""patientID"": ""p3"",""phoneNumber"": 9996543210,""patientName"": ""ghi"",""DOB"": ""17/06/2006"",""Address"": ""Hyderabad""}]",
json = Json.Document(serialised),
toTable = Table.FromRecords(json)
in
toTable
Что дает мне: