Skip to main content

いつもありがとうございます。​

年月を入力して該当年月をまず表示させます。

データは2021/03-2021/05まであります。​

Mainダッシュボードで​

2021/05を指定

指定した年月から会計年度の初め(4月)を算出してその範囲内の情報を算出したい、シート:工数詳細 (2)では

2021/05から会計年度のはじまり(4月はじまり)を算出します。

そして算出した年月(2021/04)から​指定した年月(2021/05)までの範囲のデータを表示したく思います。

スクリーンショット 2022-05-28 141435会計年度のはじまりを下記のように算出

スクリーンショット 2022-05-28 141606​既定のプロパティ>会計年度の開始 4月に指定

2021/05の場合、会計年度のはじまり2021/04を算出するのにスクリーンショット 2022-05-28 141843​#引数が3と考えていましたが15で2021/04が算出できました。

なぜ3で算出できないのかわかりませんでした。

表示範囲を判断するためにsetで範囲指定の判定をしました

スクリーンショット 2022-05-28 142134​シート:年月計算では下記のように範囲がもとめられています

2021/04-2021/05

スクリーンショット 2022-05-28 142333-----------------------

しかし

2021/04と​

​Mainダッシュボードで​指定した場合

スクリーンショット 2022-05-28 1425172021/04の情報が表示され問題ありません

​--------

しかし

年月(2021/04)と入力した2021/04​の場合

会計年度でのはじまりの年月は2021/04となり

シート:工数詳細 (2)では

​2021/04の情報のみ表示されるべきですが2021/05のデータも表示されます。

スクリーンショット 2022-05-28 142804

しかし、算出したシート:年月計算では的確に計算されています。

スクリーンショット 2022-05-28 143018

計算上はうまくいっているような感じですが

工数詳細 (2)での表示に反映されず苦慮しています。

また、2021/03とした場合

​シート:年月計算では

スクリーンショット 2022-05-28 1442312021/04となり2020/04となりません

しかし

年度初め年月の引数を15から3にした場合

2020/04となります。

#どのように範囲を定めフィルタに反映させるべきかご教示いただければと思います。

よろしくお願いいたします。

3 answers
  1. May 29, 2022, 10:36 PM

    お疲れさまです。

    アップロードファイルを拝見させていただきました。

    まず、工数詳細 (2) にフィルターが連動しない件ですが、

    現状では、Mainダッシュボードの年月フィルターは工数詳細 (2) に連動されていないため、

    年月を指定しても工数詳細 (2) の表示は変化しません。

    現在かけられている年月範囲 = 真 は、行ごとに年月が年度初め年月より大きいもので絞っているだけですので、Mainダッシュボード上のフィルターに連動させることはできないようになっています。

    年度初め年月から Main ダッシュボードで指定した年月までが表示されるように工数詳細 (2) の挙動を設定したい場合は、少々フィルターの構成を変更する必要があります。

    例えば、Main ダッシュボードの年月指定方法を、カスタムフィルターではなくパラメーターとしておき、年度初め年月からパラメーターで指定した年月までを絞るワークシートには [年度初め年月] <= [年月] AND [年月] <= (作成したパラメーター年月)、パラメーター年月のみで絞るワークシートには [年月] = (作成したパラメーター年月)といったフィールドを作った上で、各ワークシートにフィルターで真でかけておくことで実現可能です。

    もう一点、年度初め年月の計算についてですが、以下の計算フィールドの挙動について確認する必要があります。

    DATEPARSE ( "yyyy", STR(YEAR([一年ずらし日付])) )

    一度この計算フィールドを作成して簡単な表を作っていただけるとわかりやすいですが、これは[一年ずらし日付]の年部分だけをとってきて、その1月1日をもってくるような挙動となっています。

    すなわち、[一年ずらし日付] が 2020/X/X であれば、2020/1/1 となります。

    そのため、[一年ずらし日付] が 4月でも3月でも同じ結果が帰ってきてしまうため、[年度初め年月] を想定どおりに計算することができていないようです。

    こちらを想定どおりに計算するには、おそらく4月以降か3月以前かで分岐をかける必要があるでしょう。

    たとえば、以下のように IIF 関数で条件分岐をかけてはいかがでしょうか。

    DATE(dateadd("month",IIF(MONTH([年月])>=4,3,-9)

    ,DATEPARSE ( "yyyy", STR(YEAR([年月])) )))

    ([一年ずらし日付] は不要かとおもいましたので、使わない例を記載していますが、もちろん [一年ずらし日付] を利用しても計算は可能です)

    以上、ご確認よろしくお願いします。

0/9000