web-dev-qa-db-ja.com

重複する行を非表示にするSSRS2008 R2

ソーステーブルに重複データがあるため、重複データがレポートに表示されます。グループを作成せずに、重複するデータ書き込み式を非表示にします。だから私がしたこと:私はテーブルの行を選択し、テーブルの行の非表示のプロパティの式を置きます。

式は=(Previous(Fields!ID.Value Fields!ID.Value))==のようでしたが、機能しませんでした...まだ重複データが表示されています。それで、グループ化することによってではなく、式を書くssrsの重複行を抑制する方法を教えてください。

6
Thomas

おそらく最初にこれらのオプションを試す必要があります。

  • ソースで重複データをクリーンアップしてみてください。
  • 重複がデータセットに表示されないように、ソースクエリを変更します。 (例:SELECT DISTINCT)

そうでない場合は、行のVisibility Hiddenプロパティで、前の関数を使用できます。

=iif(Fields!YourField.Value = Previous(Fields!YourField.Value), True, False)

それが機能するためには、YourField列でソートする必要があります。

17
xm1994

プロパティペインの「HideDuplicates」行を使い始めるまで、上記の式を入れていました。基本的には行を選択するだけで、ドロップダウンでデータセットを選択するだけです。重複はすべて非表示になります。また、特定のテキストボックスの重複を非表示にしたい場合は、行ではなくテキストボックスをクリックすることを除いて、前に述べたのと同じことを行うことができます。ちょうど別の選択肢、私はあなたが式を使用して言ったことを知っています。

10
Rodney Maspoch

セルまたは行のプロパティから式または[重複を非表示]オプションを使用してこれを行うことができます。

表現:

=IIF(Fields!YourField.Value = Previous(Fields!YourField.Value), True, False)

重複する手順を非表示にする:

  1. 行またはセルを選択します
  2. キーボードのF4キーをクリックします
  3. 「重複を隠す」を探す
  4. ドロップダウンリストからデータセットを選択します

完了しました。お役に立てば幸いです。

6
user2120121

別のオプションとして、行グループを設定することでそれを行うことができます。私が作成しようとしたレポートでは、リストコンテナで同じデータセットを複数回使用しているため、Hide Duplicatesプロパティが正しく動作しませんでした。

デフォルトの行グループの行グループプロパティを設定し(灰色の行ヘッダーを右クリックし、Row Group、次にGroup Propertiesに移動)、[General]タブにGroup expressionsを追加するだけです。 。各フィールドに必要な数だけ追加します。これは、MicrosoftExcelの重複の削除ツールのようなものです

1
laurencemadill

[重複を非表示]オプションがレポートコンテンツに適用される場合があります。セルのフィールドの周りに=Sum(Field!Field_Name.Value) sumを追加すると、前のレコードからのコピーが抑制されます。もちろん、厳密に言えば、これは、受信データセットに問題のあるセルのNULL行があるソリューションです。

0
Alan

SSRSでのPrevious関数の使用は、その前の唯一のレコードと比較されるため、繰り返されるレコードが互いに隣接していない場合、レコードの重複が引き続き表示される可能性があります。

前の関数を適用する各テーブルで並べ替えを使用すると、「互いに隣接していない」重複レコードも解決されるはずです。

0
Toshihiko