1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Cognos 直近数時間・数日の結果を自動レポート保存する方法

Posted at

Cognos BI & Analyticsで、PDFやExcel,HTML形式などで、レポートの保存を行う際に、日時のプロンプトを使用していて、常に直近3時間とか、直近数日の結果を自動的に指定して、保存したいという要件が良くあります。
レポート内にフィルターを設定して、期間を固定してしまえばできますが、レポートが固定になってしまうので、今回はEvent Studioを用いた柔軟性のある方法をご紹介します。

レポートイメージ

例としてのレポートのイメージは、こんな感じです。
レポートを実行すると、日時のプロンプトで、From日時とTo日時が選択されるとします。
001.PNG

レポートの表示イメージは、こんな感じです。
002.PNG

実装方法

さてこの状態で、直近3時間のデータに絞ってレポート保存したいと思います。
つまり、To日時のプロンプトに「現在時刻」、From日時のプロンプトに「3時間前の時刻」が入れば良いわけです。

まずは、Framework Managerで、以下のように「現在」
003.PNG

「3時間前」のデータアイテムを作成します。
004.PNG

次にEvent Studioを開き、「タスクの追加」から「レポートの実行」を追加し、先ほどのレポートを指定します。
オプション:のところで、レポートをPDF保存する指定をしています。
プロンプト値:のところが本題で、pFrom(From日時)のところで、メソッドに「アイテムを使用」を選択し、値に先ほどFMで作成した[3時間前]を置いています。
pToも同様に[現在]を置いています。
005.PNG

後はこのEvent Studioのエントリーをスケジュール実行するだけです。

結果のイメージですが、2017/2/8 17:46:04に実行したレポートでは、直近3時間なので、14:47:00のデータも入っています。
006.PNG

2017/2/8 17:47:03に実行したレポートでは、以下の通り14:47:00のデータは入りません。
007.PNG

このようにEvent Studioを使用する事で、レポートの定義を変えなくても、プロンプトの時間指定が柔軟に行えます。

参考までに、以下のデータアイテムをFramework Managerで作成すれば、直近3時間以外にも、色々な指定ができますので、是非ご活用下さい。

本日の最初から
_make_timestamp (
extract ( year,localtimestamp ),
extract ( month,localtimestamp ),
extract ( day,localtimestamp )
)

本日の最後まで
_add_seconds (_make_timestamp (
extract ( year,localtimestamp ),
extract ( month,localtimestamp ),
extract ( day,localtimestamp )
),86399)

昨日の最初から
_make_timestamp (
extract ( year,_add_days ( localtimestamp, -1) ),
extract ( month,_add_days ( localtimestamp, -1) ),
extract ( day,_add_days ( localtimestamp, -1) )
)

10日前
_make_timestamp (
extract ( year,_add_days ( localtimestamp, -9) ),
extract ( month,_add_days ( localtimestamp, -9) ),
extract ( day,_add_days ( localtimestamp, -9) )
)

今月の初日
_make_timestamp (
extract ( year,_first_of_month ( localtimestamp ) ),
extract ( month,_first_of_month ( localtimestamp ) ),
extract ( day,_first_of_month ( localtimestamp ) )
)

今月の最後
_add_seconds ( _make_timestamp (
extract ( year,_last_of_month ( localtimestamp ) ),
extract ( month,_last_of_month ( localtimestamp ) ),
extract ( day,_last_of_month ( localtimestamp ) )
),86399)

先月の初日
_make_timestamp (
extract ( year,_first_of_month ( _add_months ( localtimestamp ,-1))),
extract ( month,_first_of_month ( _add_months ( localtimestamp ,-1))),
extract ( day,_first_of_month ( _add_months ( localtimestamp ,-1)) )
)

先月の最後
_add_seconds ( _make_timestamp (
extract ( year,_last_of_month ( _add_months ( localtimestamp ,-1))),
extract ( month,_last_of_month ( _add_months ( localtimestamp ,-1))),
extract ( day,_last_of_month ( _add_months ( localtimestamp ,-1)) )
), 86399)

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?