Разверните поле JSON по имени, а не по номеру в Power BI / M - PullRequest
0 голосов
/ 16 октября 2018

Я работаю с файлами JSON из Trello в Power BI и создал модель данных, но когда я углубляюсь в поля JSON, M, сгенерированный Power BI, использует номер поля, а не имя:

let
    Source = #"Json-1-10",
    Value = Source{22}[Value], //This is the line I want to change
    #"Converted to Table" = Table.FromList(Value, Splitter.SplitByNothing(), null, null, ExtraValues.Error)
in
    #"Converted to Table"

Я хочу изменить строку «Значение» на что-то вроде этого:

    Value = Source{"cards"}[Value], //cards is the name of this field

Есть ли способ изменить этот оператор M так, чтобы он расширял поле на основе имени ине позиция?Я попытался вставить имя поля вместо номера само по себе, используя кавычки, скобки, и мне не удается получить правильный синтаксис.

Trello недавний изменил макет экспорта JSON и удалил два поля,поэтому все номера полей изменились, и мне пришлось исправить каждую таблицу в моей модели данных - в надежде избежать этого в будущем!

1 Ответ

0 голосов
/ 19 ноября 2018

Похоже, ваш запрос #"Json-1-10" был преобразован в таблицу.

Если вам нужно сохранить данные в преобразованной структуре таблицы, вы можете выполнить фильтрацию по соответствующей строке, а затем перейти к Value поле:

let
    Source = #"Json-1-10",
    Value = Table.SelectRows(Source, each ([Name] = "cards")){0}[Value]
in
    Value

В качестве альтернативы и, возможно, проще, вы можете просто ссылаться на Trello JSON напрямую, без предварительного преобразования в таблицу, и переходить непосредственно к списку:

let
    Source = Json.Document(Web.Contents("https://trello.com/b/yourboardis/yourboardname.json"))[cards]
in
     Source
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...