J'ai un json
sur un site Web que je veux convertir en Excel
en utilisant l'option power query
, l'option from web
. Mais j'ai rencontré un petit problème. Ma json
ressemble à ceci:
[
{
"id" : 1,
"visitors" : 26,
"some_number" : 1,
"value" : 3500
},
{
"id" : 2,
"visitors" : 21,
"some_number" : 5,
"value" : 2000
}
]
mais quand j'utilise from web
je reçois ceci:
Je peux explorer un enregistrement, le convertir en tableau, le transposer et utiliser la première ligne comme en-tête, mais je n’obtiens qu’une seule ligne. Comment puis-je obtenir toutes mes données à la table et pas seulement une ligne?
D'abord, j'utiliserais le menu Liste Outils/Transformer (il devrait être automatiquement sélectionné), puis cliquez sur le bouton To Table . Cela vous donnera un tableau à une colonne avec 2 lignes. Ensuite, je clique sur le petit bouton Développer - il apparaîtra dans les en-têtes de colonne, juste à droite de "Column1". Décochez l'option Utiliser le nom de colonne d'origine ... et vous obtiendrez un tableau de 4 colonnes et 2 lignes.
Voici le script complet que j'ai généré:
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"
La fonction Table.FromRecords()
convient à cet exemple de données:
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
Vous devez d’abord convertir la liste en une table, puis vous pouvez développer la colonne d’enregistrement et procéder à partir de là. Si vous n’avez pas de chance, vous pouvez jeter un oeil à cette vidéo que j’ai récemment créée pour une question similaire.