但是在使用“Day”和“Sales(daily)”处于“详细程度”之后,我无法创建另一个更加聚合的组。如果我只是为第4列设置Group Properties,Group On to Month,那么“Day”和“Sales(daily)”也会出现汇总,每月只有1行。
有人知道如何解决这个问题吗?或者这在SSRS中是不可能的?
Month Day Sales(daily) Sales(monthly)
Feb 1 100 615
2 150
3 130
4 125
5 110
March 1 100 685
2 150
3 200
4 125
5 110
April 1 100 560
2 150
3 75
4 125
5 110
非常感谢 麦克
答案 0 :(得分:1)
在SSRS中没有本地方法可以做到这一点。
您需要使用 LookupSet 来获取当月的每日销售额,然后使用自定义函数( SumLookup )来获取总数。
然后你需要使用IIF,这样你才能在第1天显示它。
=IIF(Fields!DAY.VALUE <> 1, NOTHING,
Code.SumLookup(LookupSet(Fields!MONTH.Value, Fields!MONTH.Value, Fields!SALES.Value, "Dataset1")))
功能代码:
Function SumLookup(ByVal items As Object()) As Decimal
If items Is Nothing Then Return Nothing
Dim suma As Decimal = New Decimal()
Dim ct as Integer = New Integer()
suma = 0
ct = 0
For Each item As Object In items
suma += Convert.ToDecimal(item)
ct += 1
Next
If (ct = 0) Then return 0 else return suma
End Function
SSRS :
使用LookupSet从指定的数据集检索一组值的 对于具有1对多关系的名称 - 值对。对于 例如,对于表中的客户标识符,您可以使用LookupSet 从a检索该客户的所有关联电话号码 未绑定到数据区域的数据集。