1

「YEAR」列を持つリストがあります。その「YEAR」列に最近の年(2010)を太字で表示したいと思います。こんな表現をしてみた

IF ( [myQuery].[YEAR] = [myQuery].[RECENT_YEAR]) THEN ( "RecentYearBold" )

ここで、[RECENT_YEAR] は次の式を持つ DataItem です。 maximum([YEAR])

これによりエラーが発生し、条件変数式で DataItem を使用できなくなります。誰でも助けることができますか?

私が得るエラー:

RSV-VAL-0002 無効な式 IF ( [myQuery].[YEAR] = [myQuery].[RECENT_YEAR] ) THEN ( "RecentYearBold" ). CRX-API-0005 位置「34」またはその周辺でエラーが発生しました。「[myQuery].[RECENT_YEAR]」という名前の変数は無効です。

4

2 に答える 2

3

問題は、Cognos 8 が、レポート オブジェクト (この場合は List オブジェクト) によって使用されていないクエリから変数を削除することです。それらを利用可能にしたい場合は、レポート オブジェクトのデータ プロパティにクエリ項目を追加する必要があります。リストにアイテムを追加できることに注意してください(ただし、非表示にする必要があります。これは見苦しいです)。不必要なギミックを避けるために、レポート オブジェクトにクエリ アイテムを含めるように Cognos に指示することをお勧めします。

このリンクでは、問題と解決策について詳しく説明しています: http://www-01.ibm.com/support/docview.wss?uid=swg21339433

于 2012-11-13T15:45:56.777 に答える
1

次のアプローチを取ることで、(同じエラーが発生した後)あなたが試みていることを達成することができました:

  1. [recent_year] 列を次のように作成しました: maximum ([cognos_test].[year] for report). (必要に応じて、別のスコープを使用できます。)
  2. recent year次の式で呼び出される条件エクスプローラーでブール変数を作成しました。[Query1].[year] = [Query1].[recent_year]
  3. 年列をリストに追加し、スタイル変数 =recent yearを設定し、条件付き太字書式を年列に適用しました。recent year = true
  4. この時点でレポートを実行すると、あなたと同じエラーを受け取りました。レポートを検証すると、もう少し情報が得られ、[Query1].[recent_year]フィールドもリストに含める必要があることがわかりました。リストに追加すると、条件付き書式が機能しました。(なぜそうなったのかはよくわかりませんが、私はそれで行きました。)
  5. [recent_year]列を (リストに残したまま)非表示にするには、recent_year 列の "List Column Body" オブジェクトと "List Column Title" オブジェクトの "Box Type" プロパティを "None" に設定します。
于 2010-02-27T03:01:58.763 に答える