2

私はSSRS2012を使用して、次のことを実行しようとしています。

一部の列は、コンボボックスを使用して、ユーザーの要求があった場合にのみ表示されます。列の表示は、コンボで選択した列によって異なります。これはうまくいくようです!

.csvとは異なる形式で出力をエクスポートすると、これらの列は表示されません。ただし、.csvにエクスポートすると、非表示の列が表示されます。

私はこれを見つけました:

=iif(Globals!RenderFormat.Name="CSV", True, False)

これは、非表示にしようとしている列の「非表示」プロパティに配置する必要があります。しかし、それは機能せず、式を書くとき、RenderFormatはオートコンプリートとしてのオプションではありません。

私の不器用な英語とありがとう。

4

2 に答える 2

4

SSRSからのCSV(およびXML)エクスポートは、ほとんどのエクスポート形式とは非常に異なる方法で処理されます。これら2つは、ページレンダラーではなく、データレンダラーと見なされ、通常、レイアウトオプションを無視して、レポートの基礎となるデータを取得するために作成されます。これの一部は、フィールドの可視性が同じ方法で処理されないことです。バグなのか意図的なデザインなのかはわかりませんが、.CSVは式に設定された可視性を尊重していないようです。推奨される回避策の1つはnull、基になるデータセットで値を条件付きで設定することです。(これはパラメーターに基づく可能性があります。)

于 2012-10-22T16:56:29.280 に答える
1

を使用してCSVに送信されたデータ要素を非表示にするネイティブな方法がありますDataElementOutput=NoOutput

  1. のプロパティメニュー(F4)を開きますTextBox

  2. DataElementOutputプロパティをに設定しますNoOutput

    スクリーンショット

詳細説明

SSRSがチャートをレンダリングする必要がある場合、SSRSにはいくつかの決定があります。PDFドキュメントは豊富なフォーマットでいっぱいなので、クールなフォーマットを行うのに多くの時間を費やした場合、PDFに移動するときにそれを維持しようとします。たとえば、レポートの余白を設定する場合、PDFは気になりますが、CSVにはその情報を保持する方法さえありません(また、保持する必要もありません)。

そのため、SSRSで使用されるさまざまなレンダリングエンジンがあります。

レンダリングエンジン

これらにはそれぞれ独自のプロセスがあります。たとえば、データのエクスポートでは、データフィールドからのみ情報が取得されます。たとえば、データフィールドにはヘッダーの複数のレイヤーがあり、その名前はCLS準拠の識別子を使用する場合と使用しない場合があるため、テキストボックス名自体から直接その情報を抽出する方が安全です。

データを含むTextBoxを使用して、他のデータエクスポートプロパティを設定することもできます。

この場合、DataElementOutputを使用して特定のデータフィールドを削除できます。

データポイントをデータレンダリングに表示するかどうかを示します。

参考文献

于 2014-12-18T19:19:09.020 に答える