コントロールの値を動的に変更する

コントロールの値を「今月」「先月」と表示するのではなく、「2026年1月」「2026年2月」のような値として表示できますか?

この値は、来月には自動で「2026年2月」「2026年3月」と表示されていてほしいです。

選択した月のデータを元にビジュアルを表示したいです。

ご質問ありがとうございます。以下の感じでどうでしょう?

手順1:以下の計算式を作成します
名前:選択年月
式:

ifelse(
  truncDate("MM", date) = truncDate("MM", now()), 
  concat(toString(extract("YYYY", now())), "年", toString(extract("MM", now())), "月"),
  truncDate("MM", date) = truncDate("MM", addDateTime(-1, "MM", now())), 
  concat(toString(extract("YYYY", addDateTime(-1, "MM", now()))), "年", toString(extract("MM", addDateTime(-1, "MM", now()))), "月"),
  "対象外"
)

手順2:選択年月を使ったフィルターを作成します

これにより、以下のようなプルダウンのフィルタとなります

ご返信ありがとうございます。

要件としては

  • 先月または今月のどちらかのみを選択させたい
  • すべて選択、対象外は選択肢に表示させたくない

というものがあります。

この要件を満たすために、カスタムフィルターに変更してみたのですが、値が固定になってしまいます(ずっと2026年2月と等しいものだけが表示されてしまう)

動的にするためにパラメータを使用しようと、パラメータを使用したのですが、

そうすると、コントロールに追加が選択できなくなり、ユーザから選択ができなくなってしまいます。

最初から要件を明確にできておらず、申し訳ありません。

こちら解消できますでしょうか?

ここまでやるかどうかのご判断は必要かと思いますが、一応案として以下の方法をお伝えします。

手順1:以下をカスタムSQLとして定義した、ダイレクトクエリのデータセットを別途用意します(Athena、Redshfit、Aurora等、クエリーサービスが必要となります)
データセット名:month_offset

SELECT 
  date_format(current_date, '%Y年%c月') AS month_label
UNION ALL
SELECT 
  date_format(date_add('month', -1, current_date), '%Y年%c月') AS month_label

手順2:以下の計算式を作成します(前回作成した選択年月の名称変更)
名前:month_label
ifelse(
truncDate(“MM”, date) = truncDate(“MM”, now()),
concat(toString(extract(“YYYY”, now())), “年”, toString(extract(“MM”, now())), “月”),
truncDate(“MM”, date) = truncDate(“MM”, addDateTime(-1, “MM”, now())),
concat(toString(extract(“YYYY”, addDateTime(-1, “MM”, now()))), “年”, toString(extract(“MM”, addDateTime(-1, “MM”, now()))), “月”),
“対象外”
)

手順3:同一シート常にデータセットmonth_offsetを追加、表を作ります

手順4:month_labelでフィルターを作成、適用先:単一のシート、クロスデータセットを適用チェックします

手順5:シート設計をフリーフォームにし、month_labelの表に対して、ルール:このビジュアルをデフォルトで非表示にするを選択します

手順6;フィルターコントロールの形式コントールにて、コントロールオプション:一覧、コントロール値から[すべて選択] オプションを非表示にするにチェック

以上により当月、先月のみを動的に表示するフィルターとなります。

ダイレクトクエリを実行する環境が必要であり、そのリソースに別途費用がかかりますので、この案を採用すべきかはご判断頂ければと思います。

ありがとうございます。

実現可能ではあるが、費用増加等は考慮する必要があるということですね。

大変参考になりました。こちら解決案とさせていただきます!