3

バックグラウンド

SQL Server 2008 R2から取得したインシデント、顧客、およびエリアで構成される結合テーブルがあります。クエリは簡単で、関連するフィールドを選択し、関連性のないデータを除外しました。ResolveTimeフィールドをdatediff(...)として取得します。領域、次に領域、およびインシデント所有者によってグループ化された行でグループ化された列にデータを編成するマトリックスタブリックスがあります。

フィールドには、平均、カウント、および(ここに私の問題があります)平均を下回るパーセントが表示されます。同じ詳細が、データセット全体の2番目の基本テーブルで計算されます。混乱している場合は、次の表のスクリーンショットをご覧ください。

テーブルのセットアップ

問題

平均を下回るパーセントに使用している式は次のとおりです。

=Sum(iif(Fields!ResolveTimeMinutes.Value < avg(fields!ResolveTimeMinutes.Value), 1, 0)) / countrows()

マトリックス内でこれを使用すると、正常に機能しますが、グループ内の平均に基づいて機能します。合計と平均の両方のスコープとしてデータセットを使用しようとしましたが、ネストされた集計とスコープに関して両方ともエラーを返します。アグリゲート内にスコープを持つアグリゲートをネストできないか、スコープ付きアグリゲート内に別のアグリゲートをネストできません。

比較したい値を含む変数を作成しようとしましたが、集計内でそれを参照することは許可されていません。

=Sum(iif(Fields!ResolveTimeMinutes.Value < Variables!avgResolveTime.Value ), 1, 0)) / countrows()

これは私に次のエラーを与えますvariable values cannot be used in aggregate functions.

個別のデータセットとして平均を単独で計算し、それを比較で参照しようとしたこともありますが、ネストされた集計と実行したいことに関する別のエラーがあります。

任意の提案をいただければ幸いです。

4

1 に答える 1

0

了解しました。今朝それを理解しました。

レポートに表示されないように内部パラメーターを作成し、iff関数から直接参照しようとした「GlobalAverage」を計算したのと同じデータセットからデフォルト値を取得しました。

クエリ:

SELECT avg(datediff(minute, CreatedDateTime, ResolvedDateTime)) as AverageTTR
from incident 
where changeid is null and linkedproblem is null and count_numberoftasks = 0

表現:

=Sum(iif(Fields!ResolveTimeMinutes.Value < Parameters!GlobalAverage.Value, 1, 0)) / countrows()

チャームのように機能します。同じ問題を抱えている可能性のある他の人の助けになることを願っています!

于 2012-09-19T16:19:14.617 に答える