回答編集履歴
3
追記
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
追記
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
追記
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)
|