SSRS如何获取Dynamics 365报表经分组过滤后的有效分组数量
Dynamics 365 报表过滤后分组计数实现
问题背景
使用Dynamics 365报表时,由于FetchXML不支持NOT EXISTS条件,需在报表内部完成数据过滤:
- 原始行数据共约7000条,按account字段分组后得到约2000个分组
- 对分组应用过滤规则后仅剩余3个符合要求的account分组,结果如下:
| account | data |
|---|---|
| apple___ | some_data |
| samsung | more_data |
| lg_______ | next_data |
遇到的问题
需要统计过滤后的分组总数,尝试两种方案均未成功:
- 使用
CountDistict(Field!account.Value),返回的是未过滤的全量account数,不符合预期 - 在分组外使用
CountDistict(Field!account.Value, "filteredAccGroup"),触发报错:文本框‘Textbox145’的值表达式中聚合函数使用的scope参数无效
额外需求:若能获取分组的当前索引则更佳。
实现方案
可直接在分组外使用如下表达式完成统计:
CountDistinct(iif(min(Fields!date.Value, "account_group") >= CDate("01/01/2021"), Fields!account.Value, nothing))
表达式中iif内部的条件可替换为实际使用的分组过滤规则,即可适配不同业务场景。
内容的提问来源于stack exchange,提问作者kmish
相关产品推荐
相关产品推荐

