【问题标题】:Expand JSON field by name rather than number in Power BI/M在 Power BI/M 中按名称而不是数字展开 JSON 字段
【发布时间】:2018-10-16 14:22:08
【问题描述】:

我在 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 导出布局并删除了两个字段,因此所有字段编号都更改了,我不得不修复我的数据模型中的每个表 - 希望将来能避免这种情况!

【问题讨论】:

  • 您能否发布一个示例 JSON 文件,以便我们使用更具体的内容?

标签: json powerbi m


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2021-03-08
    • 1970-01-01
    • 1970-01-01
    • 2015-03-04
    • 2021-10-01
    • 2021-06-10
    • 1970-01-01
    • 1970-01-01
    • 2018-08-08
    相关资源
    最近更新 更多