14

「従業員名」と「年齢」を報告する必要がありますが、次のページに名前を続ける必要はありません。次のコラムに続く必要があります。

次のようになります。

_________________________________________________
| Employee Name | Age | Employee Name | Age     |
|_______________|_____|_______________|_________|

誰でもこれを管理するレポートを送信できますか? Microsoft レポート サービスを使用しています。

4

2 に答える 2

35

あなたはそれの音で複数列のレポートが必要です.

[レイアウト] タブで、レポート オブジェクトがない場所を右クリックし、[プロパティ] を選択します。[レイアウト] タブをクリックし、列数をページに必要な列数に設定します。この例では 2 になります。左側の列が繰り返される右側です。

ただし、ここにはいくつかのトリックがあります。

  • 列はページに収まる必要があります。そうしないと、列が表示されません。たとえば、レイアウト設定がデフォルトの 1cm の間隔と 2.5cm の左右余白である場合、列は A4 (幅 21cm) ページで 7.5cm 未満にする必要があります。そうしないと、2 つの列がページに収まらないため、1 つの列しか得られません。
  • デザイナーのレポート レンダラーは複数の列をサポートしていないため、デザイナーには 1 つの列しか表示されません。また、HTML レンダラーは複数の列をサポートしていないため、Reporting Services サーバーに展開して Web ページとして表示すると、レポートの 1 つの列しか表示されません。複数列レポートの列を実際に表示するには、PDF やプリンターなど、複数列をサポートするレンダラーにレポートを出力する必要があります。

更新 - テーブルを使用した偽の複数列レポート

それができない場合、レンダラーとは無関係に希望する方法で表示するには、試したように2つのテーブルでハックを使用することですが、トリックは行を交互に非表示にすることです。

このハックを実装するには、データ セットを指す 2 つのテーブルを並べて作成します。最初のテーブルの詳細行で、Visibility-Hidden プロパティに対して次の式を使用します。

=iif((RowNumber(Nothing) Mod 2) = 0, True, False)

2 番目のテーブルの詳細行で、Visibility-Hidden プロパティに対して反対の式を使用します。

=iif((RowNumber(Nothing) Mod 2) = 1, True, False)

これは、最初のテーブルがすべての奇数行を出力し、2 番目のテーブルがすべての偶数行を出力することを意味し、効果的に複数の列の出力を提供します。

3 つ以上の列が必要な場合にテーブルを表示するための一般的な解決策として、次の式を使用します。

=iif((RowNumber(Nothing) Mod TOTALCOLUMNS) = THISCOLUMN, True, False)

ここで、 TOTALCOLUMNS は列の総数です THISCOLUMN はこのテーブルが表す列番号で、0 から始まります (つまり、最初の列は 0、2 番目の列は 1 など)。

たとえば、5 列の出力の 3 列目のテーブルでは、Visibility-Hidden プロパティが次のように設定されています。

=iif((RowNumber(Nothing) Mod 5) = 2, True, False)

これは、真の複数列のように右側の列に折り返す前に、ページを下方向に読むのではなく、左から右に読み取るため、真の複数列とはわずかに異なる出力であることに注意してください。ただし、すべてのレンダラーで適切にレンダリングできるという利点があります。

InteractiveSize-Height プロパティからページに収まる行数を計算し、その数の列を左側のテーブルに表示し、残りを右側のテーブルに表示するというように、この方法を真のマルチカラムに適合させることができます。レポートに表示されますが、レンダラーやマージンなどのページ レイアウト設定の変更によっては、これが壊れやすい可能性があります。上記の方法は簡単で効果的です。

于 2012-06-05T01:11:47.237 に答える
0

EmployeeName と EmployeeTitle を実行しようとしています。上記のクリスのソリューションを実装しようとしました。各テーブルで期待値を取得しますが、それらは重複します。

もう少し調査を行ったところ、行の可視性について次のようになりました。

私が使用した偶数行の場合:

=iif(RunningValue(Fields!jobtitle.Value, CountDistinct, "EmployeesDataSet") Mod 2 = 0, True, False)

偶数奇数行の場合、次を使用しました:

=iif(RunningValue(Fields!jobtitle.Value, CountDistinct, "EmployeesDataSet") Mod 2 = 1, True, False)

行グループは役職にありました。

出典: SSRS 2005 のグループの RowNumber

于 2016-08-18T19:43:11.357 に答える