Как вставить записи JSON в общий объект службы данных в PowerApps? - PullRequest
0 голосов
/ 15 июня 2019

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

Entity in CDS

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

Excel Table

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

Corresponding PowerQuery Interpretation

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

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

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

Тогда, если мы перейдем к первой записи: Second

Теперь это следует интерпретировать как таблицу из 5 столбцов, а не как таблицу из 2 столбцов с «Ключом» и «Значением» в качестве 2 столбцов.

Возможное решение этого: «Преобразовать в таблицу»> «Преобразовать таблицу - преобразовать»> «Преобразовать таблицу - использовать первую строку в качестве заголовков»

Это дает следующий результат: Third

Но это все еще одна запись, где должно было быть 3 записи.

Как сделать так, чтобы файлы JSON преобразовывались в таблицу так же, как обрабатываются таблицы Excel? Должен ли JSON быть написан по-другому?

1 Ответ

2 голосов
/ 15 июня 2019

Получив список записей, передайте выражение функции 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

Что дает мне:

Output

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...