web-dev-qa-db-ja.com

SSRS 2008でマトリックスのすべての列にまたがる行を作成することは可能ですか?

マトリックスのすべての列にまたがるSSRS2008マトリックスに行を追加することは可能ですか?

この大まかな図は、私が探しているものを大まかに示しています。

visual example of the matrix layout I'm looking for

基本的な考え方は、各ラインアイテムは人であり、各列はその人のフォームのフィールドであるということです。フィールド自体は動的です(そしてマトリックス上の列グループとして実装されます)。レコードが入力された時刻や誰が入力したかなど、動的でないフォームフィールドを追加するために、追加の列グループが含まれています。各人のレコードの下にはコメントフィールドがあり、その上のすべてのフォームフィールドにまたがる必要があります。

現時点では、マトリックスを別のタブリックスに埋め込み、マトリックスの名前とフィールド、および親タブリックスのコメントを使用しています。これはデータに対しては機能しますが(マトリックスの各インスタンスは1行になります)、ヘッダーはマトリックスに添付されているため、繰り返しが多すぎます(1人に1回)。これを修正する方法について私が考えているのは、同じグループ化で親タブリックスに別のマトリックスを作成し、それを使用してヘッダーを表示することだけです...しかし、これには2つのマトリックスを維持するためにかなりの手動同期が必要になります同じ。

編集:ここでの重要な問題は、2番目の行をスパンにすることです複数の列グループ

17
AaronSieb

できることは次のとおりです。

  1. 上に追加する列グループを選択し、右クリックしてグループの追加...親グループ...を選択します。
  2. データを集約しないもので列をグループ化します。重複する列のグループ化を作成するために、グループ化するデータセットからフィールドを選択する必要があります。
  3. グループヘッダーの追加ボックスをチェックします

これで、次のようなものが表示されるはずです。

Matrix with columns

ここで、Value1フィールドとそのヘッダーを、マトリックスの仕切りを超えて右側の新しい列の下に移動する必要があります。それが完了したら、Value1をコピーしたグループ化されていない列を削除し、必ず列のみを削除チェックボックスを選択してください。

完成品は次のようになります。

enter image description here

11
user1599328

可能です-そして、上記の答えは、子行のセルをマージするという1つの重要なステップを除いた部分的な答えです。

まず、グループ化された行を右クリックし、次にInsert Row -> Inside Group - Belowを選択すると、セルが列に整列した2つの行が表示されます。

第二に、 ctrl 新しい行(つまり、データのない行)のすべてのセルをクリックし、強調表示されたセルの1つを右クリックして、Merge Cellsを選択します。

これで、好きなテーブルができました。新しい行に値を追加するには:最初に新しい(複数列の)セルを右クリックし、[Create Placeholder]を選択してから、目的のデータセットアイテムをプレースホルダーに追加します。

5
Mark

(1 = 1)のグループ化式を使用して列グループ「ヘッダー」を追加してみてください。次に、詳細フィールドを定義する必要があります。正しいデータで他のグループを定義すると、「ヘッダー」はすべての詳細列に広がります。他のオプションによっては、合併が必要になる場合があります。

5
Ross Bush

[編集]

何度か試みた後、SSRSではこれは不可能だと言います。私が思いつくのに最適なのは、列1、2、および3にまたがるグループフッターですが、ユーザー列にはありません。

[元の応答]

私は最近これに似た何かをしました。

まず、SSRSレポートの作成にどのツールを使用していますか? (SQL Server Business Intelligence Development Studioを使用しました)

  • 行グループ(Personでグループ化)を作成する必要があります

  • 「デザイン」ビューでテーブルに行を追加します(右クリックして、「行の挿入->グループ内-下」)。

  • 「コメント」列(= Fields!Comment.Value)の値を取得する式を行に追加します。

それが役立つかどうか教えてください...

5
TexasViking

これを行う最も簡単な方法は、列が1つだけのTablixを作成し、行をグループ化することです。次に、このグループ内に2つの行を作成します。グループ内の最初の行にマトリックスを挿入します。マトリックスを挿入すると、必要に応じてサブグループ化できます。

私も同様の問題を抱えていましたが、これが私の解決策でした。

問題の解決策が「セルを複数の列グループにまたがらせる」ことではなく、「セルを複数の列グループに分割すること」であることに気付くまで、私は長い間壁に頭をぶつけました。

2
Fabio Lolli

各人のサブレポートを使用して、目標を達成できます。サブレポートは従業員IDを受け取り、階層を作成します。サブレポートの列幅が親レポートの幅と一致していることを確認してください。

0
Golden Lion