Cognos Analytics レポートでデータダウンローダー的な画面を作成する


データダウンロード用画面とは

時々「Cognosはデータダウンローダーの機能はありますか?」と聞かれる事があります。
「データダウンローダー」とは、イメージ的には、こんな感じに実行すると選択可能なデータアイテム一覧が並んでいて、ダウンロードしたいデータアイテムを選択して「ダウンロード」すると、

こんな感じに選択したアイテムがリストに配置されて、ダウンロードされてくる、という感じです。

Cognosではこれそのものの機能はありません。

「自分でレポートの自由分析モードで、データアイテムをドラッグ&ドロップでリストに配置して実行して下さい」が、一つの回答なのですが、もっと簡単なオペレーションでダウンロードしたい、という要件がある時があります。
そんな時に、以下の手順でダウンローダー風なレポートを作って対応する事も可能です。

手順

「GO データウェアハウス(クエリー)」パッケージでレポートを新規作成し、リストを配置。

クエリー1に、データアイテム「列1」を追加し、式の定義に以下を記載します。

case
when ?p1? = 0 then null
when ?p1? = 1 then [販売 (クエリー)].[製品].[製品ライン]
when ?p1? = 2 then [販売 (クエリー)].[時間].[年]
when ?p1? = 3 then [販売 (クエリー)].[販売の実状].[数量]
when ?p1? = 4 then [販売 (クエリー)].[販売の実状].[単価]
end

リストに「列1」を配置。

プロンプトページで、「値のプロンプト」を配置し、既存のパラメーターを使用で「p1」を指定し「終了」。

値のプロンプトのプロパティの「固定値の選択」で、「+」ボタンで、以下のように5行追加する。
使用「0」 表示する値「選択なし」
使用「1」 表示する値「製品ライン」
使用「2」 表示する値「年」
使用「3」 表示する値「数量」
使用「4」 表示する値「単価」

同様にクエリー1に、「列2」「列3」「列4」アイテムを追加。
各列アイテムで、パラメーター名が異なる事に注意。

リストに配置。

プロンプトページに列2~列4用の値のプロンプトを配置し、同様に「固定値の選択」を作成。

レポートを実行してみる。※列4は「選択なし」

とりあえずこんな感じで、選択したアイテムが各列に表示される。
「選択なし」にした場合は、列自体を表示しないようにしたい。

「列4」の「リスト列の本体」と「リストの列タイトル」を選択して、プロパティから「条件付きスタイル」を作成し、以下の条件でボックスのタイプを「なし」に指定。
ParamValue('p4') = '0'

列4を「選択なし」で実行すると。

この通り「列4」の表示が無くなる。

同様に列1~列3も条件付きスタイルを作成。

あと、各値のプロンプトのプロパティの「デフォルトの選択肢」を「0」にしておく。

レポートを実行すると、デフォルトでは「選択なし」が選ばれているので便利。

レポートのフォーマットを「Excel」などに設定しておけば、そのままExcel形式でダウンロード可能です。

ダウンロード完了!
※とはいえ、大量データのダウンロードは非常に高負荷になりますので、ダウンロード容量にはご注意下さい。

自己学習記事一覧

Cognos Analytics をエンドユーザーの方に自己学習して頂くためのサイト
https://qiita.com/shinyama/items/95885c7246dc413b6448