在Power BI / M中按名称而不是数字扩展JSON字段

时间:2018-10-16 14:22:09

标签: json powerbi m

我正在使用Power BI中Trello的JSON文件,并且已经创建了数据模型,但是当我深入研究JSON字段时,Power BI生成的M使用字段号而不是名称:

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 :(得分:0)

您的#"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