SSRS:通过匹配模式进行分组
SSRS: Group by matching a pattern
如何根据列中的模式进行分组以计算总数?
我的 table 包含以下列:CustomerAccount (char30)、AccountDesc varchar(200)、AccountAmount1(十进制)、AccountAmount2、.....、AccountAmount5。
CustomerAccount 采用以下格式:xxx.xxxx.xxxxx。
其中一些值是:
如何将数据分组,以便将 xxx.xxxx.31xxx、xxx.xxxx.32xxx 等任何值分组在一起,以便我可以像 SSRS 报告中的下图那样计算 AccountAmount?突出显示的部分范围从 30 到 39:
我不确定在 SQL 查询中这样做是否更容易,但不确定怎么做。
如果您的帐号始终是固定长度(或者更准确地说,如果您要分组的数字始终位于同一位置),那么您可以创建一个行组,组表达式类似于
=MID(Fields!CustomerAccount.Value, 11,2)
如果你想将之前的所有内容分组,你可以做
=LEFT(Fields!CustomerAccount.Value, 13)
数字可能会差一,因为我不记得这些是基于零还是基于 1 的函数,但您很快就会注意到这一点。
如何根据列中的模式进行分组以计算总数? 我的 table 包含以下列:CustomerAccount (char30)、AccountDesc varchar(200)、AccountAmount1(十进制)、AccountAmount2、.....、AccountAmount5。 CustomerAccount 采用以下格式:xxx.xxxx.xxxxx。 其中一些值是:
如何将数据分组,以便将 xxx.xxxx.31xxx、xxx.xxxx.32xxx 等任何值分组在一起,以便我可以像 SSRS 报告中的下图那样计算 AccountAmount?突出显示的部分范围从 30 到 39:
我不确定在 SQL 查询中这样做是否更容易,但不确定怎么做。
如果您的帐号始终是固定长度(或者更准确地说,如果您要分组的数字始终位于同一位置),那么您可以创建一个行组,组表达式类似于
=MID(Fields!CustomerAccount.Value, 11,2)
如果你想将之前的所有内容分组,你可以做
=LEFT(Fields!CustomerAccount.Value, 13)
数字可能会差一,因为我不记得这些是基于零还是基于 1 的函数,但您很快就会注意到这一点。