SSRS - 根据行数据的计算值对行进行分组
SSRS - Group set of rows based on calculated value from the row's data
我想根据对其中一个列数据的计算对一组行进行分组(显示)。
假设我的 tablix 中有 3 列。
一、说明
2.金额
3. Debit/Credit
基于 D/C 值我想总结金额(借方为 -ve,贷方为 +ve)直到总数变为零,然后将这些行分组为不同的颜色或其他行之间的一行 space。
示例输出:
说明 金额 D/C
xyz 10 D
ss 10 C
abc 15 D
vvv 5 C
ccc 5 C
abc 5 C
谢谢
卡尔提克
我已经使用您在问题中提供的数据集重新创建了您的场景。
我正在使用金额单元格 background-color
属性 对总和进行分组。
这是我创建的 tablix。所选单元格背景-属性设置为表达式(见下文):
在Report
菜单中,Report Properties...
/Code
选项卡将此功能放在文本区域。
Dim prevColor As String = "Red"
Dim accumulator As Double = 0
Public Function GetSumColor(ByVal value as Double) as String
Dim color As String
accumulator = accumulator + value
color = prevColor
If accumulator = 0 Then
If prevColor = "Red" Then
prevColor = "Yellow"
Else
prevColor = "Red"
End If
End If
Return color
End Function
此函数将根据总和为零在 Red
或 Yellow
之间更改单元格背景颜色(您可以使用您想要的任何颜色)。
在 Amount 单元格背景色中 属性 使用此表达式:
=Code.GetSumColor(
IIF(Fields!D_C.Value="C",-Fields!Amount.Value,Fields!Amount.Value)
)
它将产生以下结果:
如果这对你有帮助,请告诉我。
我想根据对其中一个列数据的计算对一组行进行分组(显示)。
假设我的 tablix 中有 3 列。 一、说明 2.金额 3. Debit/Credit
基于 D/C 值我想总结金额(借方为 -ve,贷方为 +ve)直到总数变为零,然后将这些行分组为不同的颜色或其他行之间的一行 space。
示例输出:
说明 金额 D/C
xyz 10 D
ss 10 C
abc 15 D
vvv 5 C
ccc 5 C
abc 5 C
谢谢
卡尔提克
我已经使用您在问题中提供的数据集重新创建了您的场景。
我正在使用金额单元格 background-color
属性 对总和进行分组。
这是我创建的 tablix。所选单元格背景-属性设置为表达式(见下文):
在Report
菜单中,Report Properties...
/Code
选项卡将此功能放在文本区域。
Dim prevColor As String = "Red"
Dim accumulator As Double = 0
Public Function GetSumColor(ByVal value as Double) as String
Dim color As String
accumulator = accumulator + value
color = prevColor
If accumulator = 0 Then
If prevColor = "Red" Then
prevColor = "Yellow"
Else
prevColor = "Red"
End If
End If
Return color
End Function
此函数将根据总和为零在 Red
或 Yellow
之间更改单元格背景颜色(您可以使用您想要的任何颜色)。
在 Amount 单元格背景色中 属性 使用此表达式:
=Code.GetSumColor(
IIF(Fields!D_C.Value="C",-Fields!Amount.Value,Fields!Amount.Value)
)
它将产生以下结果:
如果这对你有帮助,请告诉我。