回答編集履歴

3

追記

2020/01/09 09:14

投稿

Lhankor_Mhy
Lhankor_Mhy

スコア36134

test CHANGED
@@ -61,3 +61,41 @@
61
61
  [{"DDF":{"10":[100,110,120,130,150],"20":[100,110,120,130,150],"30":[100,110,120,130,150],"40":[100,110,120,130,150],"50":[100,110,120,130,150]},"TMG":{"10":[100,110,120,130,150],"20":[100,110,120,130,150],"30":[100,110,120,130,150],"40":[100,110,120,130,150],"50":[100,110,120,130,150]},"AMB":{"10":[100,110,120,130,150],"20":[100,110,120,130,150],"30":[100,110,120,130,150],"40":[100,110,120,130,150],"50":[100,110,120,130,150]}}]
62
62
 
63
63
  ```
64
+
65
+
66
+
67
+ ### 追記
68
+
69
+ 少しコードを修正しました。
70
+
71
+ M言語はよくわからないので、変なことをしてたらすみません。
72
+
73
+ ```M
74
+
75
+ let
76
+
77
+ path = Excel.CurrentWorkbook(){[Name="path"]}[Content][path]{0},
78
+
79
+ ソース = Excel.Workbook(File.Contents(path), null, true),
80
+
81
+ Sheet1_Sheet = ソース{[Item="Sheet3",Kind="Sheet"]}[Data],
82
+
83
+ 昇格されたヘッダー数 = Table.PromoteHeaders(Sheet1_Sheet, [PromoteAllScalars=true]),
84
+
85
+ 変更された型 = Table.TransformColumnTypes(昇格されたヘッダー数,{{"モデル", type text}, {"サイズ", type text}, {"ストローク", type text}}),
86
+
87
+ グループ化された行 = Table.Group(変更された型, {"モデル", "サイズ"}, {{"ストローク", each _[ストローク], type table}}),
88
+
89
+ グループ化された行1 = Table.Group(グループ化された行, {"モデル"}, {{"サイズ", each Record.FromList( [ストローク], [サイズ] ), type table}}),
90
+
91
+ ピボットされた列 = Record.FromList(グループ化された行1[サイズ], グループ化された行1[モデル]),
92
+
93
+ カスタム1 = Json.FromValue(ピボットされた列),
94
+
95
+ インポートされたテキスト = Table.FromColumns({Lines.FromBinary(カスタム1,null,null,932)})
96
+
97
+ in
98
+
99
+ インポートされたテキスト
100
+
101
+ ```

2

追記

2020/01/09 09:14

投稿

Lhankor_Mhy
Lhankor_Mhy

スコア36134

test CHANGED
@@ -51,3 +51,13 @@
51
51
  サンプルを置いておきます。
52
52
 
53
53
  [https://yahoo.jp/box/Yya1D6](https://yahoo.jp/box/Yya1D6)
54
+
55
+
56
+
57
+ ↓作成されたJSONはこちら。
58
+
59
+ ```JSON
60
+
61
+ [{"DDF":{"10":[100,110,120,130,150],"20":[100,110,120,130,150],"30":[100,110,120,130,150],"40":[100,110,120,130,150],"50":[100,110,120,130,150]},"TMG":{"10":[100,110,120,130,150],"20":[100,110,120,130,150],"30":[100,110,120,130,150],"40":[100,110,120,130,150],"50":[100,110,120,130,150]},"AMB":{"10":[100,110,120,130,150],"20":[100,110,120,130,150],"30":[100,110,120,130,150],"40":[100,110,120,130,150],"50":[100,110,120,130,150]}}]
62
+
63
+ ```

1

追記

2020/01/09 04:29

投稿

Lhankor_Mhy
Lhankor_Mhy

スコア36134

test CHANGED
@@ -11,3 +11,43 @@
11
11
  [ExcelでPowerQueryを使ってデータを結合して出力する - Qiita](https://qiita.com/mosugi/items/b252aa9c9188e2ab2bde)
12
12
 
13
13
  [テーブルをバイナリ(JSON)化したり、テーブルに戻したり - Qiita](https://qiita.com/tanuki_phoenix/items/5f9991ac2712f91f5fda)
14
+
15
+
16
+
17
+ ### 追記
18
+
19
+ 質問を閉じたられたようですが、作ってみたのでせっかくですから挙げておきます。
20
+
21
+ ```M
22
+
23
+ let
24
+
25
+ path = Excel.CurrentWorkbook(){[Name="path"]}[Content][path]{0},
26
+
27
+ ソース = Excel.Workbook(File.Contents(path), null, true),
28
+
29
+ Sheet1_Sheet = ソース{[Item="Sheet3",Kind="Sheet"]}[Data],
30
+
31
+ 昇格されたヘッダー数 = Table.PromoteHeaders(Sheet1_Sheet, [PromoteAllScalars=true]),
32
+
33
+ 変更された型 = Table.TransformColumnTypes(昇格されたヘッダー数,{{"モデル", type text}, {"サイズ", Int64.Type}, {"ストローク", Int64.Type}}),
34
+
35
+ グループ化された行 = Table.Group(変更された型, {"モデル", "サイズ"}, {{"ストローク", each _[ストローク], type table}}),
36
+
37
+ グループ化された行1 = Table.Group(グループ化された行, {"モデル"}, {{"サイズ", each Record.FromList( [ストローク], List.Transform([サイズ], each Number.ToText(_)) ), type table}}),
38
+
39
+ ピボットされた列 = Table.Pivot(グループ化された行1, List.Distinct(グループ化された行1[モデル]), "モデル", "サイズ"),
40
+
41
+ カスタム1 = Json.FromValue(ピボットされた列),
42
+
43
+ インポートされたテキスト = Table.FromColumns({Lines.FromBinary(カスタム1,null,null,932)})
44
+
45
+ in
46
+
47
+ インポートされたテキスト
48
+
49
+ ```
50
+
51
+ サンプルを置いておきます。
52
+
53
+ [https://yahoo.jp/box/Yya1D6](https://yahoo.jp/box/Yya1D6)