1

こんにちは、SSRS レポートに次のコラムがあります。

列名(タイトル)

Mehta, Natasha(18)----そのタイトル+(カウント)値
Rodriguez, Lauren(19)
Harwood, Matt(19)
Lloyd, David(19)


SSRS レポートの上記の列から Average(18+19+19+19/4) を見つけたいのですが、どうすればよいですか?

4

2 に答える 2

1

列の名前が「タイトル」であるとすると、次のように機能する可能性があります。

SQL

=SUM(CAST(LEFT(RIGHT([Title], 3), 2)) AS int) / COUNT([Title]) * 1.0

SSRS

=Sum(CDbl(Left(Right(Fields!Title.Value, 3), 2))) / CDbl(Count(Fields!Title.Value))

データの最初の行(Mehta、Natasha(18))をテスト文字列として使用してこれを実行すると、次のようになります。

  1. Sum(CDbl(Left(Right(Fields!Title.Value, 3)、2)))/ CDbl(Count(Fields!Title.Value))
    • これは、文字列'Mehta、Natasha(18)'の右端の3文字を取り、文字列'18)'を返します。
  2. Sum(CDbl(Left(Right(Fields!Title.Value, 3), 2)、2)))/ CDbl(Count(Fields!Title.Value))
    • またはSum(CDbl(Left('18)'), 2)、2)))/ CDbl(Count(Fields!Title.Value))
    • これにより、スティング「18)」から左端の2文字が取得され、文字列「18」が返されます。
  3. Sum(CDbl(Left(Right(Fields!Title.Value, 3), 2)))/ CDbl(Count(Fields!Title.Value))
    • またはSum(CDbl('18'))/ CDbl(Count(Fields!Title.Value))
    • 文字列「18」をdoubleに変換し、 18.0を返します。
    • SQLのCAST()関数(と同等の機能を実行できます)は、ここCDbl()で読むことができます。
  4. Sum(CDbl(Left(Right(Fields!Title.Value, 3), 2)))/ CDbl(Count(Fields!Title.Value))
    • これは、列に存在する変換された金額を合計します。例で言及されているすべての行が列にあると仮定すると、これは...と同等になります。
    • Sum(18.0, 19.0, 19.0, 19.0)/ CDbl(Count(Fields!Title.Value))
    • これにより、次の整数値が返されます:75
  5. Sum(CDbl(Left(Right(Fields!Title.Value、3)、2)))/CDbl(Count(Fields!Title.Value))
    • または75/CDbl(Count(Fields!Title.Value))
    • この場合、これは行数をカウントし、doubleに変換します。
    • 注:これにより、合計に強制的に変換されます。つまり、整数値4を変換し、double値4.0を返します。
  6. Sum(CDbl(Left(Right(Fields!Title.Value, 3), 2))) / CDbl(Count(Fields!Title.Value))
    • また 75 / 4.0
    • 最終結果を与える:18.75
    • 注:分母がdoubleでない場合は、数値の切り捨てが実行されます(SQLでは数値が丸められます)
于 2012-10-15T04:17:09.887 に答える
0

数値を独立した列に分離するために、データセット クエリ自体で SQL 関数を使用していたでしょう。内部でデータを修正するよりも、データをレポートに適切に取り込む方が適切です。

于 2012-08-05T06:57:59.707 に答える