Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
いつもお世話になります。
QlikViewチャート数式の組み立て方について困っており教えていただきたいことがあります。
項目1 | 項目2 | 項目3 | 項目4 | 項目5 | |
---|---|---|---|---|---|
1001 | 1001-1 | 1 | 17-01-20 | 1.0 | |
1001 | 1001-1 | 2 | 17-03-17 | 1.2 | |
○ | 1001 | 1001-2 | 1 | 17-05-03 | 0.9 |
○ | 1002 | 1002-1 | 1 | 17-05-03 | 1.5 |
1003 | 1003-1 | 1 | 17-01-15 | 0.8 | |
1003 | 1003-1 | 2 | 17-02-02 | 1.3 | |
○ | 1003 | 1003-1 | 3 | 17-04-01 | 1.8 |
○ | 1004 | 1004-1 | 1 | 17-04-01 | 1.2 |
上記のようなデータがあったとして、
①項目1を軸として項目5の折れ線グラフを表示させたい。
条件としては項目1が同一で項目4が最も大きい日付のレコードが対象です。(○がついたレコード)
項目1 | 項目5 |
---|---|
1001 | 0.9 |
1002 | 1.5 |
1003 | 1.8 |
1004 | 1.2 |
②項目4を軸として項目5の平均の折れ線グラフを表示させたい。
条件としては項目1が同一で項目4が最も大きい日付のレコードが対象です。(○がついたレコード)
項目4 | 項目5 |
---|---|
17-05-03 | 1.2 |
17-04-01 | 1.5 |
お忙しいところ恐れ入りますが、
ご回答よろしくお願いします。
残念ながら、最新日付などで数式の条件結果が可変になるものは可変で結果は出てきません。
全体で最新日付が一意になる場合は表現できますが、今回のようにカテゴリごとに
最新日付が変わるものについてはスクリプトで事前にカテゴリごとの最新日付を計算しておく必要があります。
今回のデータの場合、1001、1002は17-05-03で1003,1004が17-04-01になる場合は、
それぞれに対して最新日付をつけるか、フラグ付けしてあげる必要があります。
追記:フラグなど項目を増やすことなく対処できる方法があればと考えています。
SET関数などではうまく表現できなかったので、スクリプトでフラグをたてるのが良いと思いますが、項目5の整数部分と小数部分の最大桁数が決まっているのであれば、強引ですが以下のような方法でも出来そうです。
①(数式)
Num(Mid(Max(Date(項目4,'YYMMDD')&Num(項目5,'0000000.000')),7),'###########,###')
②(数式)
Avg(Aggr(Num(Mid(Max(Date(項目4,'YYMMDD')&Num(項目5,'0000000.000')),7),'###########,###'),項目1))
ただ、QVがうける最大桁数や数式に組み込む数値部分の桁数制限の指示などを考えると、フラグを用意する方が確実だとはおもいます。
残念ながら、最新日付などで数式の条件結果が可変になるものは可変で結果は出てきません。
全体で最新日付が一意になる場合は表現できますが、今回のようにカテゴリごとに
最新日付が変わるものについてはスクリプトで事前にカテゴリごとの最新日付を計算しておく必要があります。
今回のデータの場合、1001、1002は17-05-03で1003,1004が17-04-01になる場合は、
それぞれに対して最新日付をつけるか、フラグ付けしてあげる必要があります。
若松さん、Kawahataさん
ご回答いただきありがとうございます。大変参考になりました。
QlikViewでできることできないことをよく理解できていませんでしたが、、
「数式の条件結果が可変になるものは可変で結果は出てこない」ということなのですね。
フラグを立てる方法で対処したいと思います。
ありがとうございました。