Skip to main content

Japan

Announcements
CUSTOMERS ONLY: Now accepting customer applications for the 2023 Luminary Program: SUBMIT NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
Ochanoko
Contributor III
Contributor III

Qlik Sense Max() Min()が期待通りの値を返さない件について

お世話になります。

バージョン:Qlik Sense May2022 Patch-2 

YYYYMMの形式で値を持った「年月」という軸に対して最大値と最小値を取得する為に

Max()とMin()を使用したのですが、思った通りの値を取得できません。

↓図では左側にはフィルターパネルチャートを用いて「年月」の一覧を表示し、

右側では、KPIチャートを用いてラベルに表示されている数式の結果を表示しています。

Ochanoko_0-1657762954174.png

 

私が予想していた結果(理想)は↓図の通りです。

Ochanoko_1-1657763148538.png

 

何故理想の通りの値が取得できないのか?

何故MAX(年月&'01')のみ値を取得できているのか?

ご教授いただければ幸いです。

 

1 Solution

Accepted Solutions
hka
Employee
Employee

YYYYMMの年月を日付型に変換することで、Max、Minが利用可能です。

データロードエディタで年月を下記のようにして日付型に変換します。

date(date#(年月,’YYYYMM’),'YYYYMM') as 年月

この場合、202206であれば2022/06/01として値を持っています。

これを使用した場合、max、minは数値を返すのでYYYYMMで表示したい場合

数式ではDate(max(年月),'YYYYMM')と記述する必要があります。
maxstringの方が表示するには簡単ですが、日付型にしておくと
Addmonths関数が使えるので年またぎで何カ月前などを計算するのが簡単になります。

用途に応じて使い分けて頂ければと思います。

View solution in original post

3 Replies
Ochanoko
Contributor III
Contributor III
Author

自己解決しました。

年月が文字列だったのが原因でした。

Max() Min()を使用するのではなく、

MaxString() MinString()を使用するか

Ochanoko_0-1657772527063.png

Max(Num#(年月)) Min(Num#(年月))の様に数字に変換すれば問題ありませんでした。

Ochanoko_1-1657772655694.png

 

hka
Employee
Employee

YYYYMMの年月を日付型に変換することで、Max、Minが利用可能です。

データロードエディタで年月を下記のようにして日付型に変換します。

date(date#(年月,’YYYYMM’),'YYYYMM') as 年月

この場合、202206であれば2022/06/01として値を持っています。

これを使用した場合、max、minは数値を返すのでYYYYMMで表示したい場合

数式ではDate(max(年月),'YYYYMM')と記述する必要があります。
maxstringの方が表示するには簡単ですが、日付型にしておくと
Addmonths関数が使えるので年またぎで何カ月前などを計算するのが簡単になります。

用途に応じて使い分けて頂ければと思います。

Ochanoko
Contributor III
Contributor III
Author

返答頂きありがとうございます。

おっしゃられている通り、数値に変換するより日付け型の方が使い勝手がよさそうですね。