QlikViewナレッジ - INSIGHT LAB

【QlikView/Qlik Sense】のset分析でP関数とE関数を使って「~~に関連する/しない レコードを集計」する方法

作成者: duane|2020年1月21日

・Set分析のP関数の使い方を知りたい

・Set分析のE関数の使い方を知りたい

こんな疑問にお答えします。

この記事は、BIツール導入支援及びDWH構築支援を15年以上続けてきたINSIGHT LABの中の人が書いています。

今回はP関数とE関数について解説します。

P関数についてはそのとき有効な値を取得し、E関数はそのとき無効な(除外された)値を取得するもので、P関数とE関数は特定の項目を有効にしたり、set分析の中でさらにset分析を指定したりする際に使用します。

 

 

具体的には、「商品No=100の商品を買ったことのある人」の集計のようにデータの履歴を見ながら分析を行うことが可能になります。

例として年月日、会員番号、商品No、購入金額のデータを取り込むことにします。
今回は「商品No=100の商品を買ったことのある」会員番号が1, 2, 4の人の購入金額の合計を集計してみましょう。

  • 「商品No=100」の購入金額合計を集計する
    <code class="hljs stylus">=<span class="hljs-function"><span class="hljs-title">Sum</span><span class="hljs-params">({&lt;商品No={<span class="hljs-string">'100'</span>}&gt;} 購入金額)</span></span></code>

  • 「商品No=100の商品を買ったことのある人」の購入金額を集計する
    上のデータで商品No=100の商品を買ったことのある顧客は会員番号が1, 2, 4の人なので、それらの人の購入金額が集計されます。
    <code class="hljs stylus">=<span class="hljs-function"><span class="hljs-title">Sum</span><span class="hljs-params">({&lt;会員番号=P({&lt;商品No={</span></span><span class="hljs-string"><span class="hljs-function"><span class="hljs-params">'100'</span></span></span><span class="hljs-function"><span class="hljs-params">}&gt;})</span></span>&gt;} 購入金額)</code>

  • 「商品No=100の商品を買ったことのない人」の購入金額を集計する
    前の数式の逆で、会員番号が3, 5の人の購入金額が集計されます。
    <code class="hljs stylus">=<span class="hljs-function"><span class="hljs-title">Sum</span><span class="hljs-params">({&lt;会員番号=E({&lt;商品No={</span></span><span class="hljs-string"><span class="hljs-function"><span class="hljs-params">'100'</span></span></span><span class="hljs-function"><span class="hljs-params">}&gt;})</span></span>&gt;} 購入金額)</code>

 

Set分析に関連する記事は、こちら

 

Qlikで使える関数一覧は、こちら