【问题标题】:Format JSON in PowerBI在 PowerBI 中格式化 JSON
【发布时间】:2018-09-13 13:00:46
【问题描述】:

我想通过 HTTP API 端点在 PowerBI 上显示来自 influxDB 的数据。 以下是我在点击 url 时从 Influx 获得的 JSON

     {
        "results": [
            {
                "statement_id": 0,
                "series": [
                    {
                        "name": "cpu",
                        "columns": [
                            "time",
                            "value"
                        ],
                        "values": [
                            [
                                "2018-09-13T11:03:57.1175792Z",
                                0.64
                            ],
                            [
                                "2018-09-13T11:09:58.2259457Z",
                                100
                            ]
                        ]
                    }
                ]
            }
        ]
    }

当我尝试在 PowerBI 中从它创建表时。它显示一行中的所有列。here is the image that i got so far

PS:我无法更改 JSON

【问题讨论】:

    标签: json influxdb powerbi-desktop


    【解决方案1】:

    从 Power bi 社区获得了答案。这是link

    这个是查询。

    let
    Source = Json.Document(File.Contents("C:\Users\xxxx\Desktop\generated.json")),
    #"Converted to Table" = Record.ToTable(Source),
    #"Expanded Value" = Table.ExpandListColumn(#"Converted to Table", "Value"),
    #"Expanded Value2" = Table.ExpandRecordColumn(#"Expanded Value", "Value", {"statement_id", "series"}, {"Value.statement_id", "Value.series"}),
    #"Expanded Value.series" = Table.ExpandListColumn(#"Expanded Value2", "Value.series"),
    #"Expanded Value.series1" = Table.ExpandRecordColumn(#"Expanded Value.series", "Value.series", {"name", "columns", "values"}, {"Value.series.name", "Value.series.columns", "Value.series.values"}),
    #"Expanded Value.series.columns" = Table.ExpandListColumn(#"Expanded Value.series1", "Value.series.columns"),
    #"Expanded Value.series.values" = Table.ExpandListColumn(#"Expanded Value.series.columns", "Value.series.values"),
    #"Expanded Value.series.values1" = Table.ExpandListColumn(#"Expanded Value.series.values", "Value.series.values"),
    #"Removed Columns" = Table.RemoveColumns(#"Expanded Value.series.values1",{"Value.series.name", "Value.statement_id", "Name"}),
    #"Split Column by Delimiter" = Table.SplitColumn(#"Removed Columns", "Value.series.columns", Splitter.SplitTextByDelimiter(",", QuoteStyle.Csv), {"Value.series.columns.1", "Value.series.columns.2"}),
    #"Removed Columns1" = Table.RemoveColumns(#"Split Column by Delimiter",{"Value.series.columns.2"}),
    #"Added Custom" = Table.AddColumn(#"Removed Columns1", "Value.custom", each if [Value.series.columns.1]="time" and Value.Is([Value.series.values],Int64.Type) then null else if [Value.series.columns.1]="value" and not Value.Is([Value.series.values],Int64.Type) then null else [Value.series.values]),
    #"Filtered Rows" = Table.SelectRows(#"Added Custom", each [Value.custom] <> null),
    #"Removed Columns2" = Table.RemoveColumns(#"Filtered Rows",{"Value.series.values"}),
    #"Grouped Rows" = Table.Group(#"Removed Columns2", {"Value.series.columns.1"}, {{"all data", each Table.AddIndexColumn(_, "Index",1,1),type table}}),
    #"Expanded all data" = Table.ExpandTableColumn(#"Grouped Rows", "all data", {"Value.custom", "Index"}, {"all data.Value.custom", "all data.Index"}),
    #"Pivoted Column" = Table.Pivot(#"Expanded all data", List.Distinct(#"Expanded all data"[Value.series.columns.1]), "Value.series.columns.1", "all data.Value.custom"),
    #"Renamed Columns" = Table.RenameColumns(#"Pivoted Column",{{"all data.Index", "Index"}})
    in
        #"Renamed Columns"
    

    【讨论】:

      猜你喜欢
      • 2020-07-24
      • 2013-04-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-05
      • 1970-01-01
      • 2013-01-16
      相关资源
      最近更新 更多