Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

折れ線グラフの数式について

いつもお世話になります。

QlikViewチャート数式の組み立て方について困っており教えていただきたいことがあります。

項目1項目2項目3項目4項目5
10011001-1117-01-201.0
10011001-1217-03-171.2
10011001-2117-05-030.9
10021002-1117-05-031.5
10031003-1117-01-150.8
10031003-1217-02-021.3
10031003-1317-04-011.8
10041004-1117-04-011.2

上記のようなデータがあったとして、

①項目1を軸として項目5の折れ線グラフを表示させたい。

  条件としては項目1が同一で項目4が最も大きい日付のレコードが対象です。(○がついたレコード)

項目1項目5
10010.9
10021.5
10031.8
10041.2

②項目4を軸として項目5の平均の折れ線グラフを表示させたい。

  条件としては項目1が同一で項目4が最も大きい日付のレコードが対象です。(○がついたレコード)

  

項目4項目5
17-05-031.2
17-04-01

1.5

お忙しいところ恐れ入りますが、

ご回答よろしくお願いします。

1 Solution

Accepted Solutions
hka
Employee
Employee

残念ながら、最新日付などで数式の条件結果が可変になるものは可変で結果は出てきません。

全体で最新日付が一意になる場合は表現できますが、今回のようにカテゴリごとに

最新日付が変わるものについてはスクリプトで事前にカテゴリごとの最新日付を計算しておく必要があります。

今回のデータの場合、1001、1002は17-05-03で1003,1004が17-04-01になる場合は、

それぞれに対して最新日付をつけるか、フラグ付けしてあげる必要があります。

View solution in original post

4 Replies
Anonymous
Not applicable
Author

追記:フラグなど項目を増やすことなく対処できる方法があればと考えています。

kentaroWakamatsu
Creator II
Creator II

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がうける最大桁数や数式に組み込む数値部分の桁数制限の指示などを考えると、フラグを用意する方が確実だとはおもいます。

hka
Employee
Employee

残念ながら、最新日付などで数式の条件結果が可変になるものは可変で結果は出てきません。

全体で最新日付が一意になる場合は表現できますが、今回のようにカテゴリごとに

最新日付が変わるものについてはスクリプトで事前にカテゴリごとの最新日付を計算しておく必要があります。

今回のデータの場合、1001、1002は17-05-03で1003,1004が17-04-01になる場合は、

それぞれに対して最新日付をつけるか、フラグ付けしてあげる必要があります。

Anonymous
Not applicable
Author

若松さん、Kawahataさん

ご回答いただきありがとうございます。大変参考になりました。

QlikViewでできることできないことをよく理解できていませんでしたが、、

「数式の条件結果が可変になるものは可変で結果は出てこない」ということなのですね。

フラグを立てる方法で対処したいと思います。

ありがとうございました。