SQL Server Reporting Servicesのレポートモデルで数値の合計を回避する方法
-
05-07-2019 - |
質問
レポートモデルには、整数(整数データ型に設定)の属性を持つエンティティがありますが、何らかの方法で集計または集計しないでください。 例のID。 しかし、ウィザードを使用してレポートを作成すると、IDを合計する意味がなくても、レポートビルダーが値を合計しようとすることがあります。 たとえば、1か月に販売された車のリストがあるとします。 1月に2台の車を販売しました。1台はID 101、もう1台はID 210です。レポートビルダーでは、ウィザードを使用して、合計値の311を取得します。後で削除できますが、これがまったく発生しないようにしたいです(エンドユーザーが混乱するため)
レポートモデルに言う方法が必要です。これは整数ですが、実際には合計する必要のある数値ではありません
解決
まあ、あなたが知っているように、ウィザードは完璧ではありません。何をすべきかを理解しようとするのが最善です。実際にできることは、= Sum(carID.value、<!> quot; datasetname <!> quot;)をそこに自動的に配置するときに削除することだけです。または、何も合計する必要がない場合は、テーブルのフッターを削除します。回避策は、SQLでConvertを実行してIDをvarcharにすることです。
他のヒント
整数フィールドをテーブルにドラッグすると、デフォルトで合計が生成されます。これは必ずしもあなたが望むものではありません-例えばフィールドが、表示されているすべての行で同じIDまたはステータスコードである場合。
<!> quot; <<Expr>>
<!> quot;を右クリックします。 <!> quot; Expression ... <!> quot;を表示します。ダイアログ。置換<!> quot; Sum <!> quot; with <!> quot; First <!> quot; -例=Sum(carID.value, "datasetname")
は=First(carID.value, "datasetname")
になります。値がすべての行で同じである場合、最初の値が同じです。そうでない場合は、Last、Min、Maxなどの他の関数もあります。
これはちょっと面倒ですが、私にはうまくいきます。テキストエディターを使用してRDL(XML)ファイルを編集し、<!> quot; Sum(<!> quot;を<!> quot; <!> quot;に置き換えて、<!> quotを(慎重に)検索しました;)<!> quot; <!> quot; <!> quot;に置き換えられます。 ...内でのみこれを置き換えました。問題なくレポートビルダーで再度開きます。