Qlikデータフロー入門_プロセッサー
- SENSUKE KURIYAMA
- 2月8日
- 読了時間: 10分
更新日:11 分前
2025年1月に公開されたQlikのデータフローでどんな加工処理ができるか試してみました
※2025年2月時点のQlik Cloudを利用しています。
■Qlik データフローの基本操作
データフローの基本操作は「データフロー入門」をご確認ください。
■プロセッサーの基本操作
結合:2つのテーブルを結合。データマネージャの結合よりフローが残って便利
▼結合タイプ
・左外部結合:LEFT JOIN
・内部結合:INNER JOIN
・右外部結合:RIGHT JOIN
・完全外部結合:OUTER JOIN

集合
フォーク:フローを2つに分離できます
集計:GROUP BYの集計を定義できます
▼グループ基準ー項目:集計軸となる項目を指定します。「⊕」で複数項目の追加が可能です。
▼操作ー項目:集計対象の項目を指定します。「⊕」で複数項目の追加が可能です。
▼演算 ⇒ 参考)データ分析の基本~「集計関数の使い方」
・合計:Sum()
・個数:Count()
・個別値:Count(distinct )
・最大:Max()
・最小:Min()
・平均:Avg()
・連結:Concat()

ソート:ORDER BYで明示的にソートしてロードします
項目とソート順を指定します

項目を削除:一部項目を削除します
チェックを入れた項目を削除します。

項目を分割:Subfield関数を定義できます
SubField関数を定義することができます

項目を連結:対象項目と文字列や別項目を連結することができます。プレフィックス、区切り文字、サフィックスの指定も可能です。

Qlikスクリプト:フロー途中にQlikのロードスクリプトを組み込めます
スクリプトを組み込めるので最終手段はこれを使えそうです。

ピボット解除:ピボットデータ(横持ちデータ)を行列入れ替えし出力します
■プロセッサーの基本操作(文字列)
様々な文字列関数を利用した加工ができます
大文字に変換:Upper関数を定義できます
小文字に変換:Lower関数を定義できます
単語の先頭文字を大文字に変換:Capitalize関数を定義できます
検索と置換:Match関数とIF分で文字列を置換できます
テキストの一部を削除:所定の文字列の一部を削除できます
テキストを含む:所定の文字列を含むかどうかTRUE/FALSEで判定できます
類似のテキストに一致: 所定の文字列とのファジー度(一致しない文字数)でTRUE/FALSE判定できます
インデックスで値を抽出:Mid関数を定義できます
英数字以外の文字を削除:英数字以外の文字を削除できます
数字以外の文字を削除:KeepChar関数を定義できます
末尾文字と先頭文字を削除:Trim関数を定義できます
パディングを追加:所定の文字を追加することができます
文字列に変換:Text関数を定義できます
長さを計算:Len関数を定義できます
パターンに一致:CountRegEx関数を定義できます
連続する文字を削除:ReplaceRegEx関数を定義できます
■プロセッサーの基本操作(日付)
様々な日付に関する加工ができます
日付に変換:Date#関数を定義できます
時間に変換:Time#関数を定義できます
部分からタイムスタンプを作成:個別の時系列項目からタイムスタンプを作成できます
部分から日付を作成:個別の時系列項目から年月日を作成できます
部分から時間を作成:個別の時系列項目から時刻を作成できます
日付の書式設定:Date関数を定義できます
日付の差を計算:2つのタイムスタンプの差異を計算できます
期間を追加:指定の期間を追加できます
日付を比較:日付を比較して「TRUE」「FALSE」を返します
日付部分を抽出:タイムスタンプデータから各種の日付項目が作成できて便利です
■プロセッサーの基本操作(数字)
様々な数字に関する加工ができます
四捨五入モードを使って値を丸める
※生成される数式
Round([処理する項目], 0.1)
引数の0.1は有効桁数で指定できます

シールモードを使って値を丸める
※生成される数式
Ceil([処理する項目], 0.1)
引数の0.1は有効桁数で指定できます

フロアモードを使って値を丸める
※生成される数式
Floor([処理する項目], 0.1)
引数の0.1は有効桁数で指定できます

切り捨てモードを使って値を丸める
※生成される数式
If([処理する項目] > 0,Floor([処理する項目], 0.1), Ceil([処理する項目], 0.1))
引数の0.1は有効桁数で指定できます

端数部分を削除
※生成される数式
If([処理する項目] > 0,Floor([処理する項目]), Ceil([処理する項目]))

数値を比較
※生成される数式
IF([処理する項目] >= 50, Dual('TRUE', -1), Dual('FALSE', 0))
処理する項目と指定した値/項目を比較してTRUE or FALSEを返します
▼比較タイプ:使用される演算子
・等しい:=
・等しくない:<>
・超:>
・以上:>=
・未満:<
・以下:<=
・引数の0.1は有効桁数で指定できます

負の値を削除
※生成される数式
IF([処理する項目] < 0, Null(), [処理する項目])
負の値はNullで返します

以上
Comments