2016-05-07 59 views
2

我從'坦克世界'API獲取以下數據,並希望在Power BI中顯示它。我面臨的挑戰是我獲得的陣列損傷和刺穿能力。我想從這些數據中顯示出3行,相鄰的傷害和刺穿力量,我該怎麼做?JSON數組中的powerbi序列號

"4": { 
      "nation_i18n": "U.S.S.R.", 
      "name": "_76mm_L-11", 
      "price_gold": 0, 
      "level": 4, 
      "damage": [ 
       110, 
       110, 
       156 
      ], 
      "nation": "ussr", 
      "rate": 12.27, 
      "price_credit": 25990, 
      "tanks": [ 
       1, 
       2049 
      ], 
      "module_id": 4, 
      "name_i18n": "76 mm L-11", 
      "piercing_power": [ 
       68, 
       75, 
       38 
      ], 
      "turrets": [ 
       259, 
       3, 
       3843 
      ] 
     } 
+0

我想你的榜樣需要{}被包裹是有效的JSON。 –

回答

0

轉換成表和展開後,我將添加一列並使用Table.FromColumns函數來構造對從損傷和piercing_power列表型柱的每一行嵌套表。這是我嘗試在那:

= Table.FromColumns ({ [damage] , [piercing_power] } , { "damage" , "piercing_power" })

該表然後可以擴展,讓您所需的輸出。

這裏是我完整的腳本:

let Source = Json.Document(File.Contents("C:\Users\mikeh\Downloads\WOT.json")), #"Converted to Table" = Record.ToTable(Source), #"Expanded Value" = Table.ExpandRecordColumn(#"Converted to Table", "Value", {"nation_i18n", "name", "price_gold", "level", "damage", "nation", "rate", "price_credit", "tanks", "module_id", "name_i18n", "piercing_power", "turrets"}, {"nation_i18n", "name", "price_gold", "level", "damage", "nation", "rate", "price_credit", "tanks", "module_id", "name_i18n", "piercing_power", "turrets"}), #"Added MyTable" = Table.AddColumn(#"Expanded Value", "MyTable", each Table.FromColumns ({ [damage] , [piercing_power] } , { "damage" , "piercing_power" })), #"Expanded MyTable" = Table.ExpandTableColumn(#"Added MyTable", "MyTable", {"damage", "piercing_power"}, {"damage.1", "piercing_power.1"}), #"Renamed Columns" = Table.RenameColumns(#"Expanded MyTable",{{"name", "name.1"}}) in #"Renamed Columns"

+0

感謝邁克,請儘快嘗試一下。序列會得到保證嗎?特別是2個陣列的順序必須匹配 –

+0

也許某個來自微軟的人可以給你一個保證。我只能說我的測試是有效的。你也應該測試它。 –

+0

此解決方案只適用於導入查詢連接而不是直接查詢(實時連接)..如何在直接查詢中執行相同的操作? –