[英]Using a count(*) query in SSRS Report
我想在 SSRS 报告数据集中使用查询作为
Select count(*) from tablename where datefieldname<=ParameterDate
但是,SSRS 只允许对查询检索到的字段进行过滤。
谁能告诉我如何将参数过滤器应用于上述查询并在 SSRS 中使用?
谢谢
我想你想要这样的东西:
=SUM(IIF(Fields!SOME_DATE.Value <= Paramaters.ParameterDate.Value, 1, 0))
您可以使用 AND 和 OR 在 IIF 中添加其他逻辑。
IIF 会做你的逻辑检查。 如果满足您的条件,则返回 1,否则返回 0。
然后,SUM 将 IIF 中所有记录的所有值相加。
在您的数据集查询中使用以下内容。
select count(JoiningDate)
from tableName
where JoiningDate <= @parameterDate
and department = @someDepartment
and city like ('%' + @someCity + '%')
以及您需要的任何其他条件。 除非您总是想要相同的部门和城市,否则您将需要其他参数。 可以在运行时更改这些参数以获得不同的结果。
只要在数据集查询中完成计数,您就可以计算任何您喜欢的内容,SSRS 不关心您的查询是什么,只要它有效,它只关心返回的内容。
因此,假设您有 2 个参数@Date
和@Category
那么您的数据集查询可能只是
SELECT COUNT(*) AS myCount FROM myTable WHERE myDateColumn <= @Date AND myCategoryColumn = @Category
SSRS 只会看到数据集中的myCount
字段,其中包含您所需的数字。
这里的所有都是它的。
我会在原始查询中选择您的日期字段,以便它可以用于参数,然后对数据集中的计数列求和而不在 datefieldname 上分组以聚合过滤结果。
select datefieldname, count(*) as date_total
from tablename
where datefieldname<=ParameterDate
group by datefieldname
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.