質問するログイン新規登録

回答編集履歴

3

追記

2020/01/09 09:14

投稿

Lhankor_Mhy
Lhankor_Mhy

スコア37512

answer CHANGED
@@ -29,4 +29,23 @@
29
29
  ↓作成されたJSONはこちら。
30
30
  ```JSON
31
31
  [{"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]}}]
32
+ ```
33
+
34
+ ### 追記
35
+ 少しコードを修正しました。
36
+ M言語はよくわからないので、変なことをしてたらすみません。
37
+ ```M
38
+ let
39
+ path = Excel.CurrentWorkbook(){[Name="path"]}[Content][path]{0},
40
+ ソース = Excel.Workbook(File.Contents(path), null, true),
41
+ Sheet1_Sheet = ソース{[Item="Sheet3",Kind="Sheet"]}[Data],
42
+ 昇格されたヘッダー数 = Table.PromoteHeaders(Sheet1_Sheet, [PromoteAllScalars=true]),
43
+ 変更された型 = Table.TransformColumnTypes(昇格されたヘッダー数,{{"モデル", type text}, {"サイズ", type text}, {"ストローク", type text}}),
44
+ グループ化された行 = Table.Group(変更された型, {"モデル", "サイズ"}, {{"ストローク", each _[ストローク], type table}}),
45
+ グループ化された行1 = Table.Group(グループ化された行, {"モデル"}, {{"サイズ", each Record.FromList( [ストローク], [サイズ] ), type table}}),
46
+ ピボットされた列 = Record.FromList(グループ化された行1[サイズ], グループ化された行1[モデル]),
47
+ カスタム1 = Json.FromValue(ピボットされた列),
48
+ インポートされたテキスト = Table.FromColumns({Lines.FromBinary(カスタム1,null,null,932)})
49
+ in
50
+ インポートされたテキスト
32
51
  ```

2

追記

2020/01/09 09:14

投稿

Lhankor_Mhy
Lhankor_Mhy

スコア37512

answer CHANGED
@@ -24,4 +24,9 @@
24
24
  インポートされたテキスト
25
25
  ```
26
26
  サンプルを置いておきます。
27
- [https://yahoo.jp/box/Yya1D6](https://yahoo.jp/box/Yya1D6)
27
+ [https://yahoo.jp/box/Yya1D6](https://yahoo.jp/box/Yya1D6)
28
+
29
+ ↓作成されたJSONはこちら。
30
+ ```JSON
31
+ [{"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]}}]
32
+ ```

1

追記

2020/01/09 04:29

投稿

Lhankor_Mhy
Lhankor_Mhy

スコア37512

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