SSRS - 如何根据条件缩进行?
SSRS - How to indent row based on a condition?
在 SSRS 中,我有一个报告,例如:
Designation Type Amount
Admin1 Gift 50
Admin1 Payment 50
Admin1 Payment 50
Admin2 Gift 100
所以基本上 Admin1 可以收到 50 美元的礼物,从那时起,任何为此同一名称支付的额外款项都将被归类为付款,我想缩进与此相关的相应付款初始礼物看起来像这样:
Designation Type Amount
Admin1 Gift 50
Admin1 Payment 50
Admin1 Payment 50
Admin2 Gift 100
我的逻辑是,如果名称相同,并且名称有支付类型,那么它们必须缩进到类型为礼品的相同名称下方。
我以前从未在 SSRS 中使用过缩进,这可以吗?
您可以在 SQL 中执行此操作:
select (case when type = 'Payment' then concat(' ', designation)
else designation
end) as designation, type, amount
from t
order by designation, type;
SSRS中可能有完全不同的方法。
您需要在报告中添加一个按名称分组的行组。如果您目前只有一个 'details' 行组,那么 right-click 它并添加一个父组。如果生成了新列,可以删除,但不要删除组。
假设您在创建此行组时将其命名为 grpDes
接下来,在需要调整的文本框中,点击它,在属性面板中,找到“padding”展开,点击“left”的下拉菜单,选择“expression”。
将表达式设置为类似于
=IIF(ROWNUMBER("grpDes") >1 AND Fields!Type.Value = "Payment", "10pt", "2pt")
将 10pt
调整为任何你想要的...
请注意,组名必须用引号引起来并且区分大小写。
所以它的作用是按指定对数据进行分组,然后检查每个组中的行号。如果该行不是组中的第一组且类型为“付款”,则将填充设置为 10 点,否则将其设置为 2pt(SSRS 默认值)
在 SSRS 中,我有一个报告,例如:
Designation Type Amount
Admin1 Gift 50
Admin1 Payment 50
Admin1 Payment 50
Admin2 Gift 100
所以基本上 Admin1 可以收到 50 美元的礼物,从那时起,任何为此同一名称支付的额外款项都将被归类为付款,我想缩进与此相关的相应付款初始礼物看起来像这样:
Designation Type Amount
Admin1 Gift 50
Admin1 Payment 50
Admin1 Payment 50
Admin2 Gift 100
我的逻辑是,如果名称相同,并且名称有支付类型,那么它们必须缩进到类型为礼品的相同名称下方。
我以前从未在 SSRS 中使用过缩进,这可以吗?
您可以在 SQL 中执行此操作:
select (case when type = 'Payment' then concat(' ', designation)
else designation
end) as designation, type, amount
from t
order by designation, type;
SSRS中可能有完全不同的方法。
您需要在报告中添加一个按名称分组的行组。如果您目前只有一个 'details' 行组,那么 right-click 它并添加一个父组。如果生成了新列,可以删除,但不要删除组。
假设您在创建此行组时将其命名为 grpDes
接下来,在需要调整的文本框中,点击它,在属性面板中,找到“padding”展开,点击“left”的下拉菜单,选择“expression”。
将表达式设置为类似于
=IIF(ROWNUMBER("grpDes") >1 AND Fields!Type.Value = "Payment", "10pt", "2pt")
将 10pt
调整为任何你想要的...
请注意,组名必须用引号引起来并且区分大小写。
所以它的作用是按指定对数据进行分组,然后检查每个组中的行号。如果该行不是组中的第一组且类型为“付款”,则将填充设置为 10 点,否则将其设置为 2pt(SSRS 默认值)