Qlikデータフロー入門_プロセッサー
更新日:3月9日
2025年1月に公開されたQlikのデータフローでどんな加工処理ができるか試してみました
※2025年2月時点のQlik Cloudを利用しています。
■Qlik データフローの基本操作
データフローの基本操作は「データフロー入門」をご確認ください。
■プロセッサーの基本操作
フィルター:不要なレコードを省略、複合条件も設定できデータマネージャより便利
▼「⊕」アイコンから条件式を追加します
▼条件式の設定
処理する項目:先行処理のデータ項目から選択できます
関数を適用:項目値に関数を適用できます
[絶対値に]:FAbs([項目])
[小文字に]:Lower([項目])
[大文字に]:Upper([項目])
[最初の文字を小文字に]:Lower(Left([項目],1))
[最初の文字を大文字に]:Upper(Left([項目],1))
[長さ]:Len([項目])
演算子:各種演算子が設定できます
次を使用:条件式の値を指定します
※「⊕」アイコンで複数の条件式を設定できます
▼一致する行を選択
複数の条件式を設定した際の複合ロジックを設定します
すべてのフィルター:条件式A and 条件式B
あらゆるフィルター:条件式A or 条件式B
どのフィルターでもない:Not 条件式A or 条件式B
項目を選択:一部項目のみロードしたり、重複行を削除するようなときに便利

結合: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関数を定義できます
■プロセッサーの基本操作(日付)
様々な日付に関する加工ができます
日付に変換: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