More Related Content
Similar to GCPUG-FUKUOKA Dataprep補足資料
Similar to GCPUG-FUKUOKA Dataprep補足資料 (6)
GCPUG-FUKUOKA Dataprep補足資料
- 5. 5
縦持ち⇔横持ち
店舗 年代 人数
博多店 20代 10
博多店 30代 20
博多店 40代 30
天神店 20代 5
天神店 30代 6
天神店 40代 7
店舗 20代 30代 40代
博多店 10 20 30
天神店 5 6 7
Pivot
Unpivot
- 6. 6
複数列をまとめて置換
Col1 Col2 Col3 Col4
001 002 003 004
011 012 013 014
■全カラム指定(replace col: * with: 'X' on: `0` global: true)
Col1 Col2 Col3 Col4
XX1 XX2 XX3 XX4
X11 X12 X13 X14
■複数カラム指定(replace col: Col1,Col3 with: 'X' on: `0` global: true)
■複数カラム範囲指定(replace col: Col1~Col3 with: 'X' on: `0` global: true)
Col1 Col2 Col3 Col4
001 002 003 004
011 012 013 014
Col1 Col2 Col3 Col4
001 002 003 004
011 012 013 014
Col1 Col2 Col3 Col4
XX1 002 XX3 004
X11 012 X13 014
Col1 Col2 Col3 Col4
XX1 XX2 XX3 004
X11 X12 X13 014
- 7. 7
集計
コード 名称 日付 金額
001 店舗A 17/01/00 1,000
001 店舗A 17/02/00 1,100
002 店舗B 17/01/00 2,000
002 店舗B 17/02/00 2,100
003 店舗C 17/01/00 3,000
003 店舗C 17/02/00 3,100
名称 金額
店舗A 2,100
店舗B 4,100
店舗C 6,100
- 8. 8
書式を統一
氏名 誕生日
A太郎 1984年1月23日
B太郎 1976/08/21
C太郎 1979年9月10日
D太郎 1967-09-01
E太郎 西暦1990年02月15日
F太郎 19750209
氏名 誕生日
A太郎 1984/01/23
B太郎 1976/08/21
C太郎 1979/09/10
D太郎 1967/09/01
E太郎 1990/02/15
F太郎 1975/02/09
- 9. 9
固定長ファイルを分割
split col: column1 positions: 3,16,26
column1 column2 column3 column4
010 NAMEAAAAAA 1979/09/01 FUKUOKA
020 NAMEBBBBBB 1970/02/03 SAGA
030 NAMECCCCCC 1992/12/31 KAGOSHIM
- 10. 10
複数ファイルを簡単に統合
コード 名称 日付 金額
001 店舗A 17/01/00 1,000
001 店舗A 17/02/00 1,100
002 店舗B 17/01/00 2,000
002 店舗B 17/02/00 2,100
003 店舗C 17/01/00 3,000
003 店舗C 17/02/00 3,100
コード,名称,日付,金額
001,店舗A,17/01/01,1000
001,店舗A,17/02/01,1100
コード,名称,日付,金額
002,店舗B,17/01/01,2000
002,店舗B,17/02/01,2100
コード,名称,日付,金額
003,店舗C,17/01/01,3000
003,店舗C,17/02/01,3100
売上データ001.csv
売上データ002.csv
売上データ003.csv
ファイル取込時、GCS上のフォルダを指定するとフォルダ内に存
在する全てのファイルが対象となる。
- 14. 14
ダミー変数
氏名 年代
Aさん 20代
Bさん 30代
Cさん 40代
Dさん 20代
Eさん 30代
Fさん 40代
氏名 20代 30代 40代
Aさん 1 0 0
Bさん 0 1 0
Cさん 0 0 1
Dさん 1 0 0
Eさん 0 1 0
Fさん 0 0 1
valuestocols
- 16. 16
■Transform一覧
# Transform 概要 SQL
1 Aggregate 集計 GROUP BY+集約関数
2 Countpattern 指定パターンの件数 LENGTH関数+計算式
3 Deduplicate 重複の削除 GROUP BY又はDISTINCT
4 Delete 行の削除 DELETE
5 Derive 数式より新規列追加 SELECTで数式指定
6 Drop 列の削除 SELECTで列指定
7 Extract 指定パターンの抽出 REGEXP_EXTRACT_ALL
8 Extractkv Key-Valueのペア作成 ARRAY_AGG,STRUCT
9 Extractlist 指定パターンで配列作成 REGEXP_EXTRACT_ALL
10 Flatten 配列を縦持ち UNNEST
SQLはBigQueryのStandard SQLを想定
- 17. 17
# Transform 概要 SQL
11 Header 指定行を列ヘッダに設定 なし
12 Join 別のデータセットと結合 JOIN
13 Keep 条件で行の絞り込み WHERE
14 Merge 列を結合後、新規列作成 CONCAT関数
15 Move 列の移動 SELECTで列場所指定
16 Nest 列リストよりKV/配列作成 ARRAY_AGG,STRUCT
17 Pivot 縦持ち→横持ち GROUP BYとCASE式
18 Rename 列名変更 ASで別名指定
19 Replace 指定パターンを置換 REPLACE関数
20 Set 値を数式の結果で上書き SELECT
SQLはBigQueryのStandard SQLを想定
■Transform一覧
- 18. 18
# Transform 概要 SQL
21 Settype 列のデータ型指定 CAST関数
22 Sort 並び替え ORDER BY
23 Split 列の分割 SPLIT関数
24 Union データセットの追加 UNION,UNION ALL
25 Unnest KV,JSONより列作成 JSON_EXTRACT_SCALAR関数等
26 Unpivot 横持ち→縦持ち UNION ALL,CROSS JOIN
27 Valuestocols 値よりバイナリ列作成
(ダミー変数)
CASE式
28 Window 関連データセット内の
行セットに関して計算
OVER句+PARTITION+FRAME
※11/11時点でSort未対応か?SQLはBigQueryのStandard SQLを想定
■Transform一覧