2012-01-18 16 views
4

免責事項:私はSSRSのN00Bよ、そうではない、あまりにも多くの腐ったトマトは、私はReporting ServicesはRecursive Parent propertyを使用して構築していた従業員と管理職の階層を持っているSSRS再帰カウント - 親ではなく、子のみの集計を得る方法?

:)をしてください。

-Jim Bob 
    Ray 
    -Steve 
    Ricky Bobby 
    Terry 

は、例えば、私はスティーブの下で人々の数を必要とするが、私はCount(Fields!EmployeeID.Value, "Details", Recursive)を呼び出すときに、私はの代わりに、2を得る:ここでは、粗な表現です。もちろん、カウントの場合は1を減算することができますが、合計が必要な場合はこれが機能しません。実際の質問はです。どのようにして、親を除外した再帰集合を得るのですか?

追加情報:デフォルトの詳細グループであるグループは1つのみです。それはthis exampleのように設定されているので、私はEmployeeIDでグループ化しており、再帰的な親はManagerIDに設定されています。更新

私は無駄にしようとしたいくつかの回避策


  • グループ内の行を追加するには - それは同じスコープなどではまだなので、同じ結果が得られもう1つの詳細行
  • 小計を追加する - 詳細グループの外にあるので機能しませんので、マネージャごとに1回ではなく1回だけレンダリングされます。

アイデア?

答えて

1

あなたはいくつか考えてみることができます。

1)あなたはあなたが繰り返しコールするレポートのコードブロックを使用することができるかもしれ)レポートを提供するSQLクエリでカウントを提供し、その後、単に

 =FIRST(Fields!FieldThatHasCount.Value). 

2使用して、各グループのためにそれを報告することがあり共有変数のカウントを上げる、または親セクションと子セクションの間で何らかの処理を行い、レポートが提示されたときのカウントを反映させる関数です。 SSRSのバージョンやレポートの複雑さ、ネスティング、サブレポートなどのレベルに応じて、私はこのアプローチで問題を抱えています。

+0

私はあなたの最初の提案をすることがあります。第2の考え方は、レポートのすべてのインスタンス間でグローバル変数が共有されている、つまり複数のユーザーが同時に実行している場合に、互いの結果に影響を及ぼす可能性があることを読んだと思って緊張しています。 –

+0

私は最終的にSQLを使うことに落ちました。私はいくつかのUDFを使用しました。なぜなら、その一部を再利用し、別の方法で要約する必要があったからです。 –

0

親を除外する再帰集計Sumを取得するにはどうすればよいですか?

これは、現在のフィールドの値にはまだアクセスしているので機能します。

=Sum(Fields!EmployeeSalary.Value, "Details", Recursive) - Fields!EmployeeSalary.Value 
関連する問題