
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Qlik Sense Max() Min()が期待通りの値を返さない件について
お世話になります。
バージョン:Qlik Sense May2022 Patch-2
YYYYMMの形式で値を持った「年月」という軸に対して最大値と最小値を取得する為に
Max()とMin()を使用したのですが、思った通りの値を取得できません。
↓図では左側にはフィルターパネルチャートを用いて「年月」の一覧を表示し、
右側では、KPIチャートを用いてラベルに表示されている数式の結果を表示しています。
私が予想していた結果(理想)は↓図の通りです。
何故理想の通りの値が取得できないのか?
何故MAX(年月&'01')のみ値を取得できているのか?
ご教授いただければ幸いです。
Accepted Solutions


- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
YYYYMMの年月を日付型に変換することで、Max、Minが利用可能です。
データロードエディタで年月を下記のようにして日付型に変換します。
date(date#(年月,’YYYYMM’),'YYYYMM') as 年月
この場合、202206であれば2022/06/01として値を持っています。
これを使用した場合、max、minは数値を返すのでYYYYMMで表示したい場合
数式ではDate(max(年月),'YYYYMM')と記述する必要があります。
maxstringの方が表示するには簡単ですが、日付型にしておくと
Addmonths関数が使えるので年またぎで何カ月前などを計算するのが簡単になります。
用途に応じて使い分けて頂ければと思います。

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
自己解決しました。
年月が文字列だったのが原因でした。
Max() Min()を使用するのではなく、
MaxString() MinString()を使用するか
Max(Num#(年月)) Min(Num#(年月))の様に数字に変換すれば問題ありませんでした。


- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
YYYYMMの年月を日付型に変換することで、Max、Minが利用可能です。
データロードエディタで年月を下記のようにして日付型に変換します。
date(date#(年月,’YYYYMM’),'YYYYMM') as 年月
この場合、202206であれば2022/06/01として値を持っています。
これを使用した場合、max、minは数値を返すのでYYYYMMで表示したい場合
数式ではDate(max(年月),'YYYYMM')と記述する必要があります。
maxstringの方が表示するには簡単ですが、日付型にしておくと
Addmonths関数が使えるので年またぎで何カ月前などを計算するのが簡単になります。
用途に応じて使い分けて頂ければと思います。

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
返答頂きありがとうございます。
おっしゃられている通り、数値に変換するより日付け型の方が使い勝手がよさそうですね。
