wake-up-neo.com

Json nach Excel mit Power-Abfrage

Ich habe einige json auf einer Website, die ich mit der power query-Option from web in Excel konvertieren möchte. Aber ich hatte ein kleines Problem. Mein json sieht folgendermaßen aus:

[
    {
        "id" : 1,
        "visitors" : 26,
        "some_number" : 1,
        "value" : 3500
    },
    {
        "id" : 2,
        "visitors" : 21,
        "some_number" : 5,
        "value" : 2000
    }
]

aber wenn ich from web verwende, bekomme ich folgendes:

 enter image description here

Ich kann Drilldowns in einen Datensatz ausführen, ihn in eine Tabelle konvertieren, transponieren und die erste Zeile als Kopfzeile verwenden, aber dann bekomme ich nur eine Zeile. Wie bekomme ich alle meine Daten in die Tabelle und nicht nur eine Zeile?

16
kemis

Zuerst würde ich das Menü List Tools/Transform verwenden (es sollte automatisch ausgewählt werden) und auf die Schaltfläche To Table klicken. Dadurch erhalten Sie eine einspaltige Tabelle mit 2 Zeilen. Dann würde ich auf die kleine Schaltfläche "Erweitern" klicken - sie wird in den Spaltenüberschriften rechts neben "Spalte1" angezeigt. Deaktivieren Sie die Option Use original column name ... und Sie erhalten eine Tabelle mit 4 Spalten und 2 Zeilen.

Hier ist das vollständige Skript, das ich erstellt habe:

let
    Source = Json.Document(File.Contents("C:\Users\Mike.Honey\Downloads\json2.json")),
    #"Converted to Table" = Table.FromList(Source, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    #"Expanded Column2" = Table.ExpandRecordColumn(#"Converted to Table", "Column1", {"id", "visitors", "some_number", "value"}, {"id", "visitors", "some_number", "value"})
in
    #"Expanded Column2" 
19
Mike Honey

Die Funktion Table.FromRecords() ist für diese Beispieldaten geeignet:

let 
    Source = Json.Document("[{""id"": 1, ""visitors"": 26, ""some_number"": 1, ""value"": 3500}, {""id"": 2, ""visitors"": 21, ""some_number"": 5, ""value"": 2000}]"),
    AsTable = Table.FromRecords(Source)
in
    AsTable

 Showing the example query in use in the Query Editor and Advanced Editor interfaces

10
Robert K. Bell

Sie müssen die Liste zuerst in eine Tabelle konvertieren. Anschließend können Sie die Datensatzspalte erweitern und von dort fortfahren. Wenn Sie kein Glück haben, können Sie einen Blick auf dieses Video werfen, das ich kürzlich für eine ähnliche Frage erstellt habe.

0
MarcelBeug