Cognos Analytics 日付プロンプトで一週間前をデフォルト指定する


日付プロンプトで一週間前をデフォルト指定する

日付のプロンプトは、実行するとデフォルトで本日の日付が入った状態で表示されます。

それは良いのだけど、こんな感じにFrom - Toで日付のプロンプトを置く場合、Fromのプロンプトのデフォルトは「一週間前の日付」をデフォルトで入れておいて欲しい、というのは良くある要件です。

実装手順

このやり方ですが、やはりJavaScriptを使います。

HTMLアイテムを使いますので、図のように「レポート」のプロパティから「完全な双方向性で実行」を「いいえ」に指定。

「日付のプロンプト」のプロパティで、「UIの選択」を「入力ボックス」、「名前」を「Dprompt」とする。

「HTMLアイテム」に以下のように記載。
赤枠の箇所を任意に変更してご使用下さい。

<script type="text/javascript">
var currentDate = new Date();
currentDate.setDate(currentDate.getDate()-7);
currentDate = currentDate.toISOString().slice(0,10);
var ocr = cognos.Report.getReport("_THIS_");
var datePrompt=ocr.prompt.getControlByName('Dprompt');
var oValue = datePrompt.getValues(true);
oValue[0].use=currentDate;
datePrompt.setValues(oValue);
</script>

以上、ご活用下さい。

参考

How to set date prompt to a previous date (yesterday)
https://www.ibm.com/support/pages/how-set-date-prompt-previous-date-yesterday