1

まずはっきりさせてください。Cognos BI で条件付き書式設定を行う方法について質問しているわけではありません。値の範囲に基づいて、単純な赤/琥珀/緑の配色があれば、それを行うことができます。それが決して変わらない色の静的なリストであれば、それも可能です。

私が求めているのは、データベースに保存されている 16 進数のカラー コードにアクセスすることです。その色をテーブル セルの背景色として使用したいと考えています。これは、私が SSRS レポートでよく行うことですが、Cognos BI には方法がありません。

これは可能ですか?

4

2 に答える 2

1

これは、Cognos の HTML オブジェクトを介して行うことができます。

HTML オブジェクトは、次の 3 つの主な方法のいずれかからその定義を取得できます。

1) ハードコードされたテキスト
2) データ項目値
3) レポート式

明らかに、最初の方法では値を動的に設定する方法がありません。2番目のものをまったく機能させることができませんでした。理由はまだわかりません。ただし、3 番目のタイプを使用して、ビジュアル スタイルを動的に設定できるようにすることができました。

解決策として、CSS で使用される標準の 16 進形式でデータベースから文字列値を取得する [Color] というデータ項目があると仮定します: #xxxxxx (例: #CCCCCC)。この例では、クエリ Query1 にあると仮定します。次の手順では、セットアップ方法について説明します。

1) リストのすぐ上に HTML アイテムを追加します
2) リストの一番下に別の HTML アイテムを追加します
3) 一番上の HTML アイテムに、次のような一意の ID を持つスパン タグを追加します。

<span id="list">

4) 下部の HTML アイテムに、終了スパン タグを追加します。

</span>

5) 他のすべての HTML アイテムの前に 3 番目の HTML アイテムを追加します。
6) HTML アイテムの「ソース タイプ」プロパティを「レポート式」に設定します。
7) レポート式に次のコードを入力します。

'<style>
#list td {
 background-color: ' + [Query1].[Color] + '
}
</style>'

8) Page オブジェクトを選択し、Query プロパティを Query1 に設定し
ます。 9) Properties プロパティをクリックします。[色] 列を確認して、そのクエリ ソースの値へのページ アクセスを許可します。

データベースが提供する値に基づいて列の色を動的に設定できるようになりました。スパンを使用して、操作したい表のセルだけを分離する方法を提供しました。

テクニックは完璧ではありません。たとえば、ヘッダー セルの背景も問題の色に変更されますが、これは望ましい場合と望ましくない場合があります。これは、Cognos がヘッダーに th タグを使用せず、代わりに通常のセル (td) としてレンダリングするためです。

于 2014-08-22T18:14:05.347 に答える
0

私はそれがかなり古い投稿であることを知っていますが、完全を期すために、これをhtml、pdf、およびExcelで機能させるための参照を追加します。

これを html だけでなく pdf や Excel でも機能させるには、html アイテムの代わりにリッチ テキスト アイテムを使用します。

たとえば、クエリ項目で次のコードを使用できます。

<span style="display:block; background-color:' + [Query Subject].[Query Item] + '"> </span>

rgb(255,0,0)クエリ アイテムには、データ ソースによって定義された有効な色 (例: ) などが含まれている必要があります。

リスト内のリッチ テキスト アイテムをドラッグしてデータ アイテムの値に変更し、クエリ アイテムを選択すると機能します。

スパンを使用すると、Excel でも機能しますが、スタイルが必要な階層 (リスト列やテーブルなど) の上位オブジェクトのサイズに従うようにしますdisplay:block

間のスペースの代わりに、> <テキストとして表示する他のクエリ アイテムを使用できます。

于 2015-10-13T12:56:22.287 に答える