Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
お世話になっております。
Qlik Senseにて、Aggr と Ifを組み合わせて、以下のようなシートを作成しました。
ここで、「単数」⇒「引合データ」 と選択し、最後に「セット品なし」を選択すると、それ以前の選択が無視されてしまいます。
それぞれのAggr+Ifの式は以下のとおりです。
セット品あり/なしの式が影響していると思うのですが、原因がわかりません。
皆様のお知恵を拝借したく。よろしくお願いいたします。
(ちなみに、逆の順番で選択するとうまくいきます)
単数/複数
=if(aggr(count(distinct Mother),[Order ID])>1,'複数',if(aggr(count(distinct Mother), [Order ID])>0,'単数','無し'))
引合データ/返品データ
=IF(Aggr(Sum(Quantity),[Order ID])>0,'引合データ','返品データ')
セット品あり/セット品なし
=IF(AGGR(Count({$<[PartNumber]=-{Unknown}>}distinct [PartNumber]),[Order ID])>0,'セット品あり','セット品なし')
元データ
Order ID | Product | Mother | Quantity | PartNumber |
---|---|---|---|---|
1000 | A | 1 | 1 | unknown |
1000 | B | 1 | 1 | unknown |
1000 | C | 0 | 2 | unknown |
1001 | A | 1 | 1 | unknown |
1002 | B | 1 | 1 | unknown |
1003 | C | 0 | 1 | unknown |
1004 | B | 1 | 1 | unknown |
1004 | C | 0 | 2 | unknown |
1005 | C | 0 | 2 | unknown |
1006 | A | 1 | 1 | unknown |
1007 | A | 1 | -1 | unknown |
1008 | S | 0 | 1 | Set1 |
1008 | T | 0 | 1 | Set1 |
1009 | X | 1 | 2 | Set2 |
1009 | Y | 0 | 1 | Set2 |
軸に計算式を記述して作成した値で絞り込んでも、表示されている値(単数、引合データ、セット品なし、、、、など)を選択しているわけではないので、求められている動作は難しいと思います。
各軸の選択動作ごとに、選択時点での選択条件を確認してもらうとわかると思いますが、表示されている軸情報を選択しても、Aggrの軸になっている「Oder ID」が絞り込まれると思います。
動作を見ていると、直前に絞り込んでいる「Oder ID」の絞込は有効な状態でさらに対象となる「Oder ID」の絞り込みを実施しているようにも見えますが、 'Not' がからむ絞り込み方になってしまった(たぶんこの判断は選択個数に応じてQV側が自動で切り分けていると思います)時に、前の絞込が解除されてしまっているように見えます。
'セット品なし'から順に選択した時にきちんと表示されたのは、対象の多いほうから順に絞り込まれる流れになったからか、'Not'選択が最初の'セット品なし'の選択時のみになったためだと思います。
個人的には、取り込んだデータから、「Oder ID」に連携する、3種類の別テーブルをスクリプト内で作成してしまった方が確実だと思います。
軸に計算式を記述して作成した値で絞り込んでも、表示されている値(単数、引合データ、セット品なし、、、、など)を選択しているわけではないので、求められている動作は難しいと思います。
各軸の選択動作ごとに、選択時点での選択条件を確認してもらうとわかると思いますが、表示されている軸情報を選択しても、Aggrの軸になっている「Oder ID」が絞り込まれると思います。
動作を見ていると、直前に絞り込んでいる「Oder ID」の絞込は有効な状態でさらに対象となる「Oder ID」の絞り込みを実施しているようにも見えますが、 'Not' がからむ絞り込み方になってしまった(たぶんこの判断は選択個数に応じてQV側が自動で切り分けていると思います)時に、前の絞込が解除されてしまっているように見えます。
'セット品なし'から順に選択した時にきちんと表示されたのは、対象の多いほうから順に絞り込まれる流れになったからか、'Not'選択が最初の'セット品なし'の選択時のみになったためだと思います。
個人的には、取り込んだデータから、「Oder ID」に連携する、3種類の別テーブルをスクリプト内で作成してしまった方が確実だと思います。
wakamatsuさま
アドバイスありがとうございます。
選択条件にNotが含まれる場合の副作用だとすると、偶然うまく絞れている順番で行ったとしてもデータ次第でうまくいかなくなる可能性があるということですね。
やぱりロードスクリプトで対応するほうがすっきりしそうですので、トライしてみます。
はい、その方がファイルサイズは大きくなるとは思いますが、画面上はリストボックスを3つ増やす変わりに計算処理が走る帳票はひとつだけになりますし、軸に計算式を入れなくて済むので、おそらくデーターが増えた際の集計速度も早いと思います。
がんばってください。