0

SSRS 2005 初心者として、私はこれを達成する方法が不明であり、ここで提供される他の回答の提案を私の特定の状況に組み込むことに失敗しました。

シナリオ: 従業員の平均年齢を部門別、性別などで計算しています。計算するものが何もない場合もあり、そのような場合はゼロを返したいと思います。現在の形式では、式は #Error を返します。

表現:

=Int(Avg(IIF(Fields!CustGender.Value = "F", CDec(Fields!Age.Value),Nothing),"ReportDataset"))

その式がその部門に女性従業員がいないという0を返すための適切な構文/ロジックは何ですか? その「Nothing」をゼロに変更すると、Avg 関数の計算が中断されませんか?

4

1 に答える 1

1

私はこれを試していませんが、手動で平均を計算すればうまくいくと思います。合計/カウント:

=Int( SUM(
    IIF(
      Fields!CustGender.Value = "F",
      CDec(Fields!Age.Value),
      0
    ),"ReportDataset")
    / IIF(COUNT(
    IIF(
      Fields!CustGender.Value = "F",
      1,
      0
    ),"ReportDataset") = 0, 1,
    COUNT(
    IIF(
      Fields!CustGender.Value = "F",
      1,
      0
    ),"ReportDataset"))
    )

もちろん、「F」レコードがゼロの場合、これはエラーをスローします。

于 2013-01-04T17:55:18.047 に答える