OLAP(分析)関数と呼ばれ,データウェアハウスにおける分析のために使用されてきた,まさに「データ分析」のための関数と言えます。関数を理解し,使いどころを極めればデータ分析の幅はこれまでの2倍以上に広まるといっても過言ではありません。概要Window関数はテーブルを区間ごとに集計する機能です。似ていますが,Window関数では複数の行がまとめられることはなく,行それぞれが返却されます。処理中の行以外の行の値を読み取ることも可能です。Window関数は以下の構文を使います。代わりに使用することで,処理を大幅に効率化できる場合もあります。関数の入門については以下の記事を参照ください。関数の中でも,利用頻度の高いランキング系の関数を紹介します。関数は,区間ごとに順序付けされたレコードに対して上から順に行番号を割り振っていきます。複数のレコードが同値であった場合も,登場順に番号が増えていくところが特徴的です。例1:ユーザーごとの直帰のアクティビティを知るために,各ユーザーの最新の10レコードを取得する。関数は区間ごとに一位の番号を割り振るために「区間ごとに先頭の10件を取得する」といった操作が容易にできます。関数は,区間ごとに順序付けされたレコードに対して上から順に行番号を割り振っていきます。複数のレコードが同値であった場合は同じ番号を付与し,次の値からは番号を飛ばします。関数は「1,1,1,4,5,6,...」という順序付けを行います。例2:カテゴリごとのマンスリートップセールス10品目を取得する。ECにおいて,各カテゴリにマンスリーでの売上品目上位を集計します。関数では複数の同値があった場合には次の値の番号を飛ばしていました。関数は同率があっても番号を飛ばしません。関数は「1,1,1,2,3,4,...」という順序付けを行います。例3:カテゴリごとのマンスリートップセールス10品目を取得する。ECにおいて,各カテゴリにマンスリーでの売上品目上位を集計します。こちらのバージョンの場合は,同率で番号を飛ばしませんので必ず1〜10までの番号があり,歯抜けはありません。いう計算をして順位の割合を出します。例4:カテゴリごとにトップセールス10%に属する品目を取得する。こちらでは,区間ごと(=カテゴリごと)の内訳数が異なる様な場合に,各々の区間で「上位10%以内の品目」といった指定をします。区間ごとに得られるレコード数が異なる(品目数が多いカテゴリは上位10%の品目数も多くなる)ところが今までと違うところです。いう計算式で相対順位を求めています。例5:カテゴリごとにトップセールス10%に属する品目を取得する。関数は行を等しい行数でバケットに分割します。10行を2バケットに分ける場合,各バケットには5行ずつとなります。例6:例2と同様にカテゴリごとのマンスリートップセールス100品目を取得し「1〜10位,11位〜20位,...,91位〜100位」という10品目ごとのバケットに分割する。キーワードは「テレマティクス」。自動車の運転ログからあらゆるマーケティングへの活用が進む(導入編)コメント0件のコメントログインしてコメントを残してください。