Как вставить записи JSON в общий объект службы данных в PowerApps?

Мне нужно вставить записи данных в сущности Common Data Service(CDS) в PowerApps. Вот как выглядит моя сущность:

Сущность в CDS

Теперь, если я попытаюсь вставить записи, импортировав таблицу Excel, как показано ниже, power query правильно интерпретирует ее в своей собственной таблице.

Таблица Excel

Шаги => "Получить данные"> "Excel"> "Обзор" (onedrive)

Соответствующая интерпретация PowerQuery

Но если я попытаюсь сделать то же самое с помощью файла 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

Что дает мне:

Другие вопросы по тегам