SSRS图表达式-自定义星期过滤器/表达式

时间:2019-02-20 11:25:16

标签: sql-server visual-studio reporting-services

我在SSRS中有一个图表,如下图所示,在第47周之前没有数据。为了使我的图表更具视觉吸引力,我想对其进行过滤,以确保其起点是第47周。我试图在图表上放置一个过滤器(下面的图片)。问题是,如果我将周过滤条件设置为> = 47 ,则我的图表将不会显示 2019 中的任何数据,因为2019的起点是第1周(显然少于47周)。有人知道我应该使用哪种过滤器/表达式,以确保起点是第47周而不会中断2019年的任何数据?

enter image description here

2 个答案:

答案 0 :(得分:2)

尝试将“年份”和“星期”字段保留为“ YYYYWW”格式(例如,通过直接在Reporting Services中在“数据集”中添加计算字段),然后按[Year_Week]> = 201847过滤图形。

计算出的字段[Year_Week]将是一个整数,并按下面的示例所示进行计算(假设您将整数字段[Year]和[Week]分开,因此如果不是这种情况,则该公式可能与我的不同) :

=CInt(CStr(Fields!Year.Value) & Right("00" & CStr(Fields!Week.Value), 2))

This image shows how my calendar table looks like with the new calculated field Year_Week which now can be used for filtering

答案 1 :(得分:0)

也许可以做到这一点:

[Week]>=47 OR [YEAR]>=2019