SlideShare a Scribd company logo
中嶋 翔
Senior Solution Architect, Qlik
Qlik Tips
Window関数のご紹介
2023年10月10日
2
2
ウィンドウ関数
• Qlikロードスクリプトでデータテーブルに対して複雑な計算を実行し、デー
タの粒度を失うことなく、異なるパーティションに対して集計を実行できる
ようになりました。
- この機能はSQLや多くのMLデータ準備のユースケースで一般的に使用されていま
す。
• ウィンドウ関数は、複数の行の値を使用して計算を実行し、各行の値を個別
に生成します。ウィンドウ関数は、テーブル全体が読み取られた場合にのみ
計算できます。
• ※2023年10月10日現在、ウィンドウ関数はQlik Cloudでのみサポートされて
3
3
Window - 構文
• 構文: Window(入力数式, [パーティション1, パーティション2, ...], [ソートタイプ, [ソート式]],
[フィルター式], [開始数式, 終了数式])
引数 説明
入力数式(集計) 関数によって計算される数式です。SumやAvgといった、集計に基づく式である必要があ
ります。項目名のみを指定した場合は、Only()とみなされます。
パーティション 任意の数のパーティションを定義できます。集計は各パーティション個別に適用されます。
ソートタイプ, [ソート
式]
任意で、ソートタイプとソート式を指定します。ソートタイプには、ASC(昇順)か
DESC(降順)の何れかを指定します。ソートタイプとソート式は、主に RecNo 関数と
WRank 関数でのみ必要となります。
フィルター式 必要に応じて、フィルター式を追加できます。これは、レコードを計算に含めるかどうか
を決定するブール式です。このパラメータは省略可能です。
開始数式, 終了数式 必要に応じて、スライディング ウィンドウ機能の引数を設定します。 スライディング
ウィンドウには 2 つの引数が必要です。
• 開始数式: ウィンドウに含める現在の行より前の行数。
• 終了数式: ウィンドウに含める現在の行より後の行数。
先行するすべての行、または後続のすべての行を表示するには、Unbounded() 関数を使用
できます。
4
4
Window – 処理イメージ
トランザク
ションID
日付 金額 数量 顧客ID サイズ 色
顧客IDごと
平均金額
3750 20180830 20 2 2038593 L Red 100
3752 20180916 10 1 5646471 S Blue 45
3756 20180922 60 2 2038593 M Blue 100
3758 20180924 150 14 2038593 L Red 100
3760 20180925 80 18 5646471 M Blue 45
3763 20180927 170 10 2038593 L Blue 100
計算対象のテーブル
Windowで
算出した項目
数式:Window(avg(金額),顧客ID)
5
5
Window - 制限事項
• Windowはリソースを大量に消費する機能であり、特にメモリの消費
量が大きくなります。
• WindowはQlik Sense Mobileには対応していません。
• チャート数式はWindowをサポートしていません。
• Window関数を他のWindow関数内にネストすることはできません。
• Windowは集計関数内では使用できません。
• Windowはテーブル全体をスキャンできる必要があります。
• スライディングウィンドウ機能を使用する場合、WRank()、RecNo()、
RowNo() は Window と一緒に使用できません。
6
6
WRank
• Window関数の内部でのみ使用可能な関数です。
• WRank() は、ロードスクリプトでテーブルの行を評価し、それぞれの
行に対して、ロード スクリプトで評価された項目の値の相対位置を示
します。この関数はテーブルの評価時に、結果を現在の列セグメント
に含まれるその他の行の結果と比較して、セグメント内の現在の行の
ランキングを返します。
• Window関数に、ソートタイプとソート式が含まれている必要があり
ます。ソート式にはランキングが適用されます。
7
7
WRank 構文
• 構文:
• 戻り値:Dual
WRank ([TOTAL] [, モード [, フォーマット]])
引数 説明
モード 必要に応じて、関数の結果の数値表現を指定します。
0 (デフォルト) 共有グループ内のすべての順位がランキング全体の中間値以下に入る場合、いずれの行も共有グループ内の最
低順位を取得します。共有グループ内のすべての順位が順位付け全体の中間値以上に入る場合は、いずれの行も共有グループ
内の最高順位を取得します。共有グループ内の順位がランキング全体の中間値をまたぐ場合は、いずれの行も列セグメント全
体の最高順位と最低順位の平均に相当する値を取得します。
1 すべての行における最低順位
2 すべての行における平均順位
3 すべての行における最高順位
4 最初の行における最低順位、その後は行ごとに 1 ずつ増加
フォーマット 必要に応じて、関数の結果のテキスト表現を指定します。
0 (デフォルト) すべての行における低い値 - 高い値 (例: 3 - 4)。
1 すべての行における低い値。
2 最初の行における低い値、その後のグループ内の行は空白。
TOTAL(修飾子) テーブルが1軸の場合、またはスクリプトの前にTOTAL修飾子が付加されている場合は、関数
は列全体に沿って評価されます。 テーブルまたはテーブルに相当するアイテムに複数の縦軸が
含まれる場合、現在の列セグメントには、項目ソート順の最後の軸を表示する列を除く、すべ
ての軸列の現在行と同じ値を持つ行のみが含まれます。
8
8
WRank - 制限事項
• フォーマット値が0で、二重結果のテキスト部分を WRank に使用す
る場合は、Text() と Window(WRank) を使用する必要があります。
- 例: Text(Window(WRank(0), Unit, 'DESC', Age)) as
UnitWRankedByAgeText。
9
DEMO
10
10
デモ:ロードスクリプト
Transactions:
Load
*,
// Window 例 - 集計を含む項目の追加
Window(Avg(transaction_amount),customer_id) as [customer_idごとの平均],
// Window 例 - 特定の値でフィルタリングされた集計を含む項目の追加
Window(Avg(transaction_amount),customer_id, color_code = 'Blue') as [customer_idごとの平均(color_code=Blue)],
// Window 例 - スライディング ウィンドウを使用した項目の追加
Window(Avg(transaction_amount),customer_id, 'ASC', -1, 1, 0, 1) as [customer_idごとの平均(スライディングウィンドウ)],
// WRank 例 - ランク付けされた項目の追加
Window(WRank(0),customer_id, 'Desc', transaction_amount) as [transaction_amount降順の順位(customer_idごと)],
// WRank 例 - 1 桁の結果に対して fmt を使用してランク付けされた項目を追加する
Window(WRank(0,1),customer_id, 'Desc', transaction_amount) as [transaction_amount降順の順位(テキストfmtは低い値を表示)],
// WRank 例 - 複数のパーティションを持つランク付けされた項目を追加する
Window(WRank(0,1),customer_id, size, color_code, 'Desc', transaction_amount) as [transaction_amount降順の順位(customer_id, color_codeごと)],
// 特定の軸に基づく集計の結果をカテゴリ化
If(Window(Sum(transaction_amount),customer_id)>500,'Large',
If(Window(Sum(transaction_amount),customer_id)>300,'Midium','Small')) as 顧客サイズ
;
Load * Inline [
transaction_id, transaction_date, transaction_amount, transaction_quantity, customer_id, size, color_code
3750, 20180830, 23.56, 2, 2038593, L, Red
3751, 20180907, 556.31, 6, 203521, M, Orange
3752, 20180916, 5.75, 1, 5646471, S, Blue
3753, 20180922, 125.00, 7, 3036491, L, Black
3754, 20180922, 484.21, 13, 049681, XS, Red
3756, 20180922, 59.18, 2, 2038593, M, Blue
3757, 20180923, 177.42, 21, 203521, XL, Black
3758, 20180924, 153.42, 14, 2038593, L, Red
3759, 20180925, 7.42, 5, 203521, M, Orange
3760, 20180925, 80.12, 18, 5646471, M, Blue
3761, 20180926, 3.42, 7, 3036491, XS, Black
3763, 20180926, 63.55, 12, 049681, S, Red
3763, 20180927, 177.56, 10, 2038593, L, Blue
3764, 20180927, 325.95, 8, 203521, XL, Black
];
Thank You!

More Related Content

Similar to Qlik Tips Window関数のご紹介

AWS Lambda Update
AWS Lambda UpdateAWS Lambda Update
AWS Lambda Update
Keisuke Nishitani
 
データマイニング+WEB勉強会資料第6回
データマイニング+WEB勉強会資料第6回データマイニング+WEB勉強会資料第6回
データマイニング+WEB勉強会資料第6回Naoyuki Yamada
 
Azure Machine Learning Services 概要 - 2019年3月版
Azure Machine Learning Services 概要 - 2019年3月版Azure Machine Learning Services 概要 - 2019年3月版
Azure Machine Learning Services 概要 - 2019年3月版
Daiyu Hatakeyama
 
クラウド・アプリケーション・モデリングへのアプローチ
クラウド・アプリケーション・モデリングへのアプローチクラウド・アプリケーション・モデリングへのアプローチ
クラウド・アプリケーション・モデリングへのアプローチ
Tomoharu ASAMI
 
jQuery超入門編
jQuery超入門編jQuery超入門編
jQuery超入門編
Yasuhito Yabe
 
Movable typeseminar 20120925
Movable typeseminar 20120925Movable typeseminar 20120925
Movable typeseminar 20120925Six Apart
 
02 kueri zui_shi_hua_notamenopuroziekushiyonshe_ji_
02 kueri zui_shi_hua_notamenopuroziekushiyonshe_ji_02 kueri zui_shi_hua_notamenopuroziekushiyonshe_ji_
02 kueri zui_shi_hua_notamenopuroziekushiyonshe_ji_
Kaito Tonooka
 
お客様が望んでいるモダンデスクトップアプリとは?/傾向と対策 Part1
お客様が望んでいるモダンデスクトップアプリとは?/傾向と対策 Part1お客様が望んでいるモダンデスクトップアプリとは?/傾向と対策 Part1
お客様が望んでいるモダンデスクトップアプリとは?/傾向と対策 Part1
インフラジスティックス・ジャパン株式会社
 
PHP 2大 web フレームワークの徹底比較!
PHP 2大 web フレームワークの徹底比較!PHP 2大 web フレームワークの徹底比較!
PHP 2大 web フレームワークの徹底比較!
Shohei Okada
 
XPages 開発 Tips 百連発
XPages 開発 Tips 百連発XPages 開発 Tips 百連発
XPages 開発 Tips 百連発
Mitsuru Katoh
 
Ajax basic
Ajax basicAjax basic
Ajax basic
Katsuyuki Seino
 
Net advantage 2012 volume2 最新情報 xaml プラットフォーム編
Net advantage 2012 volume2 最新情報 xaml プラットフォーム編Net advantage 2012 volume2 最新情報 xaml プラットフォーム編
Net advantage 2012 volume2 最新情報 xaml プラットフォーム編
Daizen Ikehara
 
DDDモデリング勉強会 #9
DDDモデリング勉強会 #9DDDモデリング勉強会 #9
DDDモデリング勉強会 #9
株式会社Jurabi
 
設計/ドメイン設計(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第25回】
設計/ドメイン設計(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第25回】設計/ドメイン設計(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第25回】
設計/ドメイン設計(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第25回】
Tomoharu ASAMI
 
設計/ドメイン設計(5) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第27回】
設計/ドメイン設計(5) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第27回】設計/ドメイン設計(5) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第27回】
設計/ドメイン設計(5) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第27回】
Tomoharu ASAMI
 
Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~
Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~
Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~Akira Inoue
 
【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(後編)
【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(後編)【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(後編)
【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(後編)
日本マイクロソフト株式会社
 

Similar to Qlik Tips Window関数のご紹介 (17)

AWS Lambda Update
AWS Lambda UpdateAWS Lambda Update
AWS Lambda Update
 
データマイニング+WEB勉強会資料第6回
データマイニング+WEB勉強会資料第6回データマイニング+WEB勉強会資料第6回
データマイニング+WEB勉強会資料第6回
 
Azure Machine Learning Services 概要 - 2019年3月版
Azure Machine Learning Services 概要 - 2019年3月版Azure Machine Learning Services 概要 - 2019年3月版
Azure Machine Learning Services 概要 - 2019年3月版
 
クラウド・アプリケーション・モデリングへのアプローチ
クラウド・アプリケーション・モデリングへのアプローチクラウド・アプリケーション・モデリングへのアプローチ
クラウド・アプリケーション・モデリングへのアプローチ
 
jQuery超入門編
jQuery超入門編jQuery超入門編
jQuery超入門編
 
Movable typeseminar 20120925
Movable typeseminar 20120925Movable typeseminar 20120925
Movable typeseminar 20120925
 
02 kueri zui_shi_hua_notamenopuroziekushiyonshe_ji_
02 kueri zui_shi_hua_notamenopuroziekushiyonshe_ji_02 kueri zui_shi_hua_notamenopuroziekushiyonshe_ji_
02 kueri zui_shi_hua_notamenopuroziekushiyonshe_ji_
 
お客様が望んでいるモダンデスクトップアプリとは?/傾向と対策 Part1
お客様が望んでいるモダンデスクトップアプリとは?/傾向と対策 Part1お客様が望んでいるモダンデスクトップアプリとは?/傾向と対策 Part1
お客様が望んでいるモダンデスクトップアプリとは?/傾向と対策 Part1
 
PHP 2大 web フレームワークの徹底比較!
PHP 2大 web フレームワークの徹底比較!PHP 2大 web フレームワークの徹底比較!
PHP 2大 web フレームワークの徹底比較!
 
XPages 開発 Tips 百連発
XPages 開発 Tips 百連発XPages 開発 Tips 百連発
XPages 開発 Tips 百連発
 
Ajax basic
Ajax basicAjax basic
Ajax basic
 
Net advantage 2012 volume2 最新情報 xaml プラットフォーム編
Net advantage 2012 volume2 最新情報 xaml プラットフォーム編Net advantage 2012 volume2 最新情報 xaml プラットフォーム編
Net advantage 2012 volume2 最新情報 xaml プラットフォーム編
 
DDDモデリング勉強会 #9
DDDモデリング勉強会 #9DDDモデリング勉強会 #9
DDDモデリング勉強会 #9
 
設計/ドメイン設計(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第25回】
設計/ドメイン設計(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第25回】設計/ドメイン設計(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第25回】
設計/ドメイン設計(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第25回】
 
設計/ドメイン設計(5) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第27回】
設計/ドメイン設計(5) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第27回】設計/ドメイン設計(5) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第27回】
設計/ドメイン設計(5) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第27回】
 
Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~
Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~
Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~
 
【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(後編)
【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(後編)【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(後編)
【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(後編)
 

More from QlikPresalesJapan

02_4_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「系列と影響分析」
02_4_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「系列と影響分析」02_4_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「系列と影響分析」
02_4_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「系列と影響分析」
QlikPresalesJapan
 
02_3_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データの管理(簡単なデータ変換)」
02_3_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データの管理(簡単なデータ変換)」02_3_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データの管理(簡単なデータ変換)」
02_3_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データの管理(簡単なデータ変換)」
QlikPresalesJapan
 
02_2_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データマートの作成」
02_2_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データマートの作成」02_2_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データマートの作成」
02_2_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データマートの作成」
QlikPresalesJapan
 
QCDI勉強会_20240604_QCDI_基本の設定とゲートウェイのインストール
QCDI勉強会_20240604_QCDI_基本の設定とゲートウェイのインストールQCDI勉強会_20240604_QCDI_基本の設定とゲートウェイのインストール
QCDI勉強会_20240604_QCDI_基本の設定とゲートウェイのインストール
QlikPresalesJapan
 
Qlik医療データ活用勉強会_第37回_令和4年度DPC「退院患者調査」データの活用(実績、救急、紹介、退院)
Qlik医療データ活用勉強会_第37回_令和4年度DPC「退院患者調査」データの活用(実績、救急、紹介、退院)Qlik医療データ活用勉強会_第37回_令和4年度DPC「退院患者調査」データの活用(実績、救急、紹介、退院)
Qlik医療データ活用勉強会_第37回_令和4年度DPC「退院患者調査」データの活用(実績、救急、紹介、退院)
QlikPresalesJapan
 
20240528_Qlik TECHTALK_Whats New May 2024
20240528_Qlik TECHTALK_Whats New May 202420240528_Qlik TECHTALK_Whats New May 2024
20240528_Qlik TECHTALK_Whats New May 2024
QlikPresalesJapan
 
2024/05/21_Qlik Web セミナー_Qlik の戦略と製品のご紹介
2024/05/21_Qlik Web セミナー_Qlik の戦略と製品のご紹介2024/05/21_Qlik Web セミナー_Qlik の戦略と製品のご紹介
2024/05/21_Qlik Web セミナー_Qlik の戦略と製品のご紹介
QlikPresalesJapan
 
2024/05/21_生成AI どう使う?ChatGPT の機能と限界と活用事例
2024/05/21_生成AI どう使う?ChatGPT の機能と限界と活用事例2024/05/21_生成AI どう使う?ChatGPT の機能と限界と活用事例
2024/05/21_生成AI どう使う?ChatGPT の機能と限界と活用事例
QlikPresalesJapan
 
2024-05-14 TECH TALK Talend Studio with SAP Integration
2024-05-14 TECH TALK Talend Studio with SAP Integration2024-05-14 TECH TALK Talend Studio with SAP Integration
2024-05-14 TECH TALK Talend Studio with SAP Integration
QlikPresalesJapan
 
2024-05-07 TECH TALK Talend Data Quality
2024-05-07 TECH TALK Talend Data Quality2024-05-07 TECH TALK Talend Data Quality
2024-05-07 TECH TALK Talend Data Quality
QlikPresalesJapan
 
Talend Studioのビッグデータ対応機能のご紹介 - Hadoop, HDFS, Hive, HBase, Spark, NoSQL
Talend Studioのビッグデータ対応機能のご紹介 - Hadoop, HDFS, Hive, HBase, Spark, NoSQLTalend Studioのビッグデータ対応機能のご紹介 - Hadoop, HDFS, Hive, HBase, Spark, NoSQL
Talend Studioのビッグデータ対応機能のご紹介 - Hadoop, HDFS, Hive, HBase, Spark, NoSQL
QlikPresalesJapan
 
2024/04/25 Qlik医療データ活用勉強会_第36回_202404.pptx
2024/04/25 Qlik医療データ活用勉強会_第36回_202404.pptx2024/04/25 Qlik医療データ活用勉強会_第36回_202404.pptx
2024/04/25 Qlik医療データ活用勉強会_第36回_202404.pptx
QlikPresalesJapan
 
Qlik TECH TALK 組織のメタデータを一元管理「Talend Data Catalog」のご紹介
Qlik TECH TALK 組織のメタデータを一元管理「Talend Data Catalog」のご紹介Qlik TECH TALK 組織のメタデータを一元管理「Talend Data Catalog」のご紹介
Qlik TECH TALK 組織のメタデータを一元管理「Talend Data Catalog」のご紹介
QlikPresalesJapan
 
Qlik Tips 20240416 Qlik Senseのトレンド線の係数の計算方法
Qlik Tips 20240416 Qlik Senseのトレンド線の係数の計算方法Qlik Tips 20240416 Qlik Senseのトレンド線の係数の計算方法
Qlik Tips 20240416 Qlik Senseのトレンド線の係数の計算方法
QlikPresalesJapan
 
Qlik Tips - 2024/04/16 Capacity データ消費の確認
Qlik Tips - 2024/04/16 Capacity データ消費の確認Qlik Tips - 2024/04/16 Capacity データ消費の確認
Qlik Tips - 2024/04/16 Capacity データ消費の確認
QlikPresalesJapan
 
Talend Studioで独自関数を実装して呼び出す - グローバルルーチンとカスタムルーチンJar
Talend Studioで独自関数を実装して呼び出す - グローバルルーチンとカスタムルーチンJarTalend Studioで独自関数を実装して呼び出す - グローバルルーチンとカスタムルーチンJar
Talend Studioで独自関数を実装して呼び出す - グローバルルーチンとカスタムルーチンJar
QlikPresalesJapan
 
Qlik TECHTALK Qlik Cloud 日本リージョン開設!テナント作成と移行方法を解説
Qlik TECHTALK Qlik Cloud 日本リージョン開設!テナント作成と移行方法を解説Qlik TECHTALK Qlik Cloud 日本リージョン開設!テナント作成と移行方法を解説
Qlik TECHTALK Qlik Cloud 日本リージョン開設!テナント作成と移行方法を解説
QlikPresalesJapan
 
Talend Cloudの管理プラットフォーム Talend Management Consoleのご紹介
Talend Cloudの管理プラットフォームTalend Management Consoleのご紹介Talend Cloudの管理プラットフォームTalend Management Consoleのご紹介
Talend Cloudの管理プラットフォーム Talend Management Consoleのご紹介
QlikPresalesJapan
 
【Qlik 医療データ活用勉強会】-速報-令和4年度DPC「退院患者調査」データの活用
【Qlik 医療データ活用勉強会】-速報-令和4年度DPC「退院患者調査」データの活用【Qlik 医療データ活用勉強会】-速報-令和4年度DPC「退院患者調査」データの活用
【Qlik 医療データ活用勉強会】-速報-令和4年度DPC「退院患者調査」データの活用
QlikPresalesJapan
 
Talend StudioでAPIを開発 - SOAP/RESTのサービス開発手法
Talend StudioでAPIを開発 - SOAP/RESTのサービス開発手法Talend StudioでAPIを開発 - SOAP/RESTのサービス開発手法
Talend StudioでAPIを開発 - SOAP/RESTのサービス開発手法
QlikPresalesJapan
 

More from QlikPresalesJapan (20)

02_4_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「系列と影響分析」
02_4_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「系列と影響分析」02_4_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「系列と影響分析」
02_4_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「系列と影響分析」
 
02_3_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データの管理(簡単なデータ変換)」
02_3_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データの管理(簡単なデータ変換)」02_3_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データの管理(簡単なデータ変換)」
02_3_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データの管理(簡単なデータ変換)」
 
02_2_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データマートの作成」
02_2_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データマートの作成」02_2_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データマートの作成」
02_2_20240611_Qlik Cloud データ統合 しっかり学ぶ勉強会 #2 - データパイプラインの作成「データマートの作成」
 
QCDI勉強会_20240604_QCDI_基本の設定とゲートウェイのインストール
QCDI勉強会_20240604_QCDI_基本の設定とゲートウェイのインストールQCDI勉強会_20240604_QCDI_基本の設定とゲートウェイのインストール
QCDI勉強会_20240604_QCDI_基本の設定とゲートウェイのインストール
 
Qlik医療データ活用勉強会_第37回_令和4年度DPC「退院患者調査」データの活用(実績、救急、紹介、退院)
Qlik医療データ活用勉強会_第37回_令和4年度DPC「退院患者調査」データの活用(実績、救急、紹介、退院)Qlik医療データ活用勉強会_第37回_令和4年度DPC「退院患者調査」データの活用(実績、救急、紹介、退院)
Qlik医療データ活用勉強会_第37回_令和4年度DPC「退院患者調査」データの活用(実績、救急、紹介、退院)
 
20240528_Qlik TECHTALK_Whats New May 2024
20240528_Qlik TECHTALK_Whats New May 202420240528_Qlik TECHTALK_Whats New May 2024
20240528_Qlik TECHTALK_Whats New May 2024
 
2024/05/21_Qlik Web セミナー_Qlik の戦略と製品のご紹介
2024/05/21_Qlik Web セミナー_Qlik の戦略と製品のご紹介2024/05/21_Qlik Web セミナー_Qlik の戦略と製品のご紹介
2024/05/21_Qlik Web セミナー_Qlik の戦略と製品のご紹介
 
2024/05/21_生成AI どう使う?ChatGPT の機能と限界と活用事例
2024/05/21_生成AI どう使う?ChatGPT の機能と限界と活用事例2024/05/21_生成AI どう使う?ChatGPT の機能と限界と活用事例
2024/05/21_生成AI どう使う?ChatGPT の機能と限界と活用事例
 
2024-05-14 TECH TALK Talend Studio with SAP Integration
2024-05-14 TECH TALK Talend Studio with SAP Integration2024-05-14 TECH TALK Talend Studio with SAP Integration
2024-05-14 TECH TALK Talend Studio with SAP Integration
 
2024-05-07 TECH TALK Talend Data Quality
2024-05-07 TECH TALK Talend Data Quality2024-05-07 TECH TALK Talend Data Quality
2024-05-07 TECH TALK Talend Data Quality
 
Talend Studioのビッグデータ対応機能のご紹介 - Hadoop, HDFS, Hive, HBase, Spark, NoSQL
Talend Studioのビッグデータ対応機能のご紹介 - Hadoop, HDFS, Hive, HBase, Spark, NoSQLTalend Studioのビッグデータ対応機能のご紹介 - Hadoop, HDFS, Hive, HBase, Spark, NoSQL
Talend Studioのビッグデータ対応機能のご紹介 - Hadoop, HDFS, Hive, HBase, Spark, NoSQL
 
2024/04/25 Qlik医療データ活用勉強会_第36回_202404.pptx
2024/04/25 Qlik医療データ活用勉強会_第36回_202404.pptx2024/04/25 Qlik医療データ活用勉強会_第36回_202404.pptx
2024/04/25 Qlik医療データ活用勉強会_第36回_202404.pptx
 
Qlik TECH TALK 組織のメタデータを一元管理「Talend Data Catalog」のご紹介
Qlik TECH TALK 組織のメタデータを一元管理「Talend Data Catalog」のご紹介Qlik TECH TALK 組織のメタデータを一元管理「Talend Data Catalog」のご紹介
Qlik TECH TALK 組織のメタデータを一元管理「Talend Data Catalog」のご紹介
 
Qlik Tips 20240416 Qlik Senseのトレンド線の係数の計算方法
Qlik Tips 20240416 Qlik Senseのトレンド線の係数の計算方法Qlik Tips 20240416 Qlik Senseのトレンド線の係数の計算方法
Qlik Tips 20240416 Qlik Senseのトレンド線の係数の計算方法
 
Qlik Tips - 2024/04/16 Capacity データ消費の確認
Qlik Tips - 2024/04/16 Capacity データ消費の確認Qlik Tips - 2024/04/16 Capacity データ消費の確認
Qlik Tips - 2024/04/16 Capacity データ消費の確認
 
Talend Studioで独自関数を実装して呼び出す - グローバルルーチンとカスタムルーチンJar
Talend Studioで独自関数を実装して呼び出す - グローバルルーチンとカスタムルーチンJarTalend Studioで独自関数を実装して呼び出す - グローバルルーチンとカスタムルーチンJar
Talend Studioで独自関数を実装して呼び出す - グローバルルーチンとカスタムルーチンJar
 
Qlik TECHTALK Qlik Cloud 日本リージョン開設!テナント作成と移行方法を解説
Qlik TECHTALK Qlik Cloud 日本リージョン開設!テナント作成と移行方法を解説Qlik TECHTALK Qlik Cloud 日本リージョン開設!テナント作成と移行方法を解説
Qlik TECHTALK Qlik Cloud 日本リージョン開設!テナント作成と移行方法を解説
 
Talend Cloudの管理プラットフォーム Talend Management Consoleのご紹介
Talend Cloudの管理プラットフォームTalend Management Consoleのご紹介Talend Cloudの管理プラットフォームTalend Management Consoleのご紹介
Talend Cloudの管理プラットフォーム Talend Management Consoleのご紹介
 
【Qlik 医療データ活用勉強会】-速報-令和4年度DPC「退院患者調査」データの活用
【Qlik 医療データ活用勉強会】-速報-令和4年度DPC「退院患者調査」データの活用【Qlik 医療データ活用勉強会】-速報-令和4年度DPC「退院患者調査」データの活用
【Qlik 医療データ活用勉強会】-速報-令和4年度DPC「退院患者調査」データの活用
 
Talend StudioでAPIを開発 - SOAP/RESTのサービス開発手法
Talend StudioでAPIを開発 - SOAP/RESTのサービス開発手法Talend StudioでAPIを開発 - SOAP/RESTのサービス開発手法
Talend StudioでAPIを開発 - SOAP/RESTのサービス開発手法
 

Qlik Tips Window関数のご紹介

  • 1. 中嶋 翔 Senior Solution Architect, Qlik Qlik Tips Window関数のご紹介 2023年10月10日
  • 2. 2 2 ウィンドウ関数 • Qlikロードスクリプトでデータテーブルに対して複雑な計算を実行し、デー タの粒度を失うことなく、異なるパーティションに対して集計を実行できる ようになりました。 - この機能はSQLや多くのMLデータ準備のユースケースで一般的に使用されていま す。 • ウィンドウ関数は、複数の行の値を使用して計算を実行し、各行の値を個別 に生成します。ウィンドウ関数は、テーブル全体が読み取られた場合にのみ 計算できます。 • ※2023年10月10日現在、ウィンドウ関数はQlik Cloudでのみサポートされて
  • 3. 3 3 Window - 構文 • 構文: Window(入力数式, [パーティション1, パーティション2, ...], [ソートタイプ, [ソート式]], [フィルター式], [開始数式, 終了数式]) 引数 説明 入力数式(集計) 関数によって計算される数式です。SumやAvgといった、集計に基づく式である必要があ ります。項目名のみを指定した場合は、Only()とみなされます。 パーティション 任意の数のパーティションを定義できます。集計は各パーティション個別に適用されます。 ソートタイプ, [ソート 式] 任意で、ソートタイプとソート式を指定します。ソートタイプには、ASC(昇順)か DESC(降順)の何れかを指定します。ソートタイプとソート式は、主に RecNo 関数と WRank 関数でのみ必要となります。 フィルター式 必要に応じて、フィルター式を追加できます。これは、レコードを計算に含めるかどうか を決定するブール式です。このパラメータは省略可能です。 開始数式, 終了数式 必要に応じて、スライディング ウィンドウ機能の引数を設定します。 スライディング ウィンドウには 2 つの引数が必要です。 • 開始数式: ウィンドウに含める現在の行より前の行数。 • 終了数式: ウィンドウに含める現在の行より後の行数。 先行するすべての行、または後続のすべての行を表示するには、Unbounded() 関数を使用 できます。
  • 4. 4 4 Window – 処理イメージ トランザク ションID 日付 金額 数量 顧客ID サイズ 色 顧客IDごと 平均金額 3750 20180830 20 2 2038593 L Red 100 3752 20180916 10 1 5646471 S Blue 45 3756 20180922 60 2 2038593 M Blue 100 3758 20180924 150 14 2038593 L Red 100 3760 20180925 80 18 5646471 M Blue 45 3763 20180927 170 10 2038593 L Blue 100 計算対象のテーブル Windowで 算出した項目 数式:Window(avg(金額),顧客ID)
  • 5. 5 5 Window - 制限事項 • Windowはリソースを大量に消費する機能であり、特にメモリの消費 量が大きくなります。 • WindowはQlik Sense Mobileには対応していません。 • チャート数式はWindowをサポートしていません。 • Window関数を他のWindow関数内にネストすることはできません。 • Windowは集計関数内では使用できません。 • Windowはテーブル全体をスキャンできる必要があります。 • スライディングウィンドウ機能を使用する場合、WRank()、RecNo()、 RowNo() は Window と一緒に使用できません。
  • 6. 6 6 WRank • Window関数の内部でのみ使用可能な関数です。 • WRank() は、ロードスクリプトでテーブルの行を評価し、それぞれの 行に対して、ロード スクリプトで評価された項目の値の相対位置を示 します。この関数はテーブルの評価時に、結果を現在の列セグメント に含まれるその他の行の結果と比較して、セグメント内の現在の行の ランキングを返します。 • Window関数に、ソートタイプとソート式が含まれている必要があり ます。ソート式にはランキングが適用されます。
  • 7. 7 7 WRank 構文 • 構文: • 戻り値:Dual WRank ([TOTAL] [, モード [, フォーマット]]) 引数 説明 モード 必要に応じて、関数の結果の数値表現を指定します。 0 (デフォルト) 共有グループ内のすべての順位がランキング全体の中間値以下に入る場合、いずれの行も共有グループ内の最 低順位を取得します。共有グループ内のすべての順位が順位付け全体の中間値以上に入る場合は、いずれの行も共有グループ 内の最高順位を取得します。共有グループ内の順位がランキング全体の中間値をまたぐ場合は、いずれの行も列セグメント全 体の最高順位と最低順位の平均に相当する値を取得します。 1 すべての行における最低順位 2 すべての行における平均順位 3 すべての行における最高順位 4 最初の行における最低順位、その後は行ごとに 1 ずつ増加 フォーマット 必要に応じて、関数の結果のテキスト表現を指定します。 0 (デフォルト) すべての行における低い値 - 高い値 (例: 3 - 4)。 1 すべての行における低い値。 2 最初の行における低い値、その後のグループ内の行は空白。 TOTAL(修飾子) テーブルが1軸の場合、またはスクリプトの前にTOTAL修飾子が付加されている場合は、関数 は列全体に沿って評価されます。 テーブルまたはテーブルに相当するアイテムに複数の縦軸が 含まれる場合、現在の列セグメントには、項目ソート順の最後の軸を表示する列を除く、すべ ての軸列の現在行と同じ値を持つ行のみが含まれます。
  • 8. 8 8 WRank - 制限事項 • フォーマット値が0で、二重結果のテキスト部分を WRank に使用す る場合は、Text() と Window(WRank) を使用する必要があります。 - 例: Text(Window(WRank(0), Unit, 'DESC', Age)) as UnitWRankedByAgeText。
  • 10. 10 10 デモ:ロードスクリプト Transactions: Load *, // Window 例 - 集計を含む項目の追加 Window(Avg(transaction_amount),customer_id) as [customer_idごとの平均], // Window 例 - 特定の値でフィルタリングされた集計を含む項目の追加 Window(Avg(transaction_amount),customer_id, color_code = 'Blue') as [customer_idごとの平均(color_code=Blue)], // Window 例 - スライディング ウィンドウを使用した項目の追加 Window(Avg(transaction_amount),customer_id, 'ASC', -1, 1, 0, 1) as [customer_idごとの平均(スライディングウィンドウ)], // WRank 例 - ランク付けされた項目の追加 Window(WRank(0),customer_id, 'Desc', transaction_amount) as [transaction_amount降順の順位(customer_idごと)], // WRank 例 - 1 桁の結果に対して fmt を使用してランク付けされた項目を追加する Window(WRank(0,1),customer_id, 'Desc', transaction_amount) as [transaction_amount降順の順位(テキストfmtは低い値を表示)], // WRank 例 - 複数のパーティションを持つランク付けされた項目を追加する Window(WRank(0,1),customer_id, size, color_code, 'Desc', transaction_amount) as [transaction_amount降順の順位(customer_id, color_codeごと)], // 特定の軸に基づく集計の結果をカテゴリ化 If(Window(Sum(transaction_amount),customer_id)>500,'Large', If(Window(Sum(transaction_amount),customer_id)>300,'Midium','Small')) as 顧客サイズ ; Load * Inline [ transaction_id, transaction_date, transaction_amount, transaction_quantity, customer_id, size, color_code 3750, 20180830, 23.56, 2, 2038593, L, Red 3751, 20180907, 556.31, 6, 203521, M, Orange 3752, 20180916, 5.75, 1, 5646471, S, Blue 3753, 20180922, 125.00, 7, 3036491, L, Black 3754, 20180922, 484.21, 13, 049681, XS, Red 3756, 20180922, 59.18, 2, 2038593, M, Blue 3757, 20180923, 177.42, 21, 203521, XL, Black 3758, 20180924, 153.42, 14, 2038593, L, Red 3759, 20180925, 7.42, 5, 203521, M, Orange 3760, 20180925, 80.12, 18, 5646471, M, Blue 3761, 20180926, 3.42, 7, 3036491, XS, Black 3763, 20180926, 63.55, 12, 049681, S, Red 3763, 20180927, 177.56, 10, 2038593, L, Blue 3764, 20180927, 325.95, 8, 203521, XL, Black ];