SSRS图表合并重复/唯一记录数据集的实现求助
解决方案
第一步:合并查询得到统一数据集
你可以用CTE(公共表表达式)先统计每个(Name, CIType)组合的记录数,再按CIType汇总重复/非重复的条目数,这样得到的结果直接适配图表需求:
WITH ci_group_stats AS ( SELECT Name, CIType, COUNT(*) AS record_count FROM CI GROUP BY Name, CIType ) SELECT CIType, -- 统计重复的(Name,CIType)组合数量 SUM(CASE WHEN record_count > 1 THEN 1 ELSE 0 END) AS duplicate_groups, -- 统计唯一的(Name,CIType)组合数量 SUM(CASE WHEN record_count = 1 THEN 1 ELSE 0 END) AS unique_groups, -- 可选:统计重复的总记录数(如果需要看重复的具体条数而非组数) SUM(CASE WHEN record_count > 1 THEN record_count ELSE 0 END) AS duplicate_total_records, -- 可选:统计唯一的总记录数 SUM(CASE WHEN record_count = 1 THEN record_count ELSE 0 END) AS unique_total_records FROM ci_group_stats GROUP BY CIType;
如果需要保留每个(Name,CIType)组合的明细并标记类型,用UNION ALL合并两个查询:
SELECT Name, CIType, COUNT(*) AS entry_count, 'Duplicate' AS entry_category FROM CI GROUP BY Name, CIType HAVING COUNT(*) > 1 UNION ALL SELECT Name, CIType, COUNT(*) AS entry_count, 'Unique' AS entry_category FROM CI GROUP BY Name, CIType HAVING COUNT(*) = 1;
第二步:制作图表
拿到合并后的数据集后,不管是用Excel、Tableau还是Power BI,都可以按以下思路生成图表:
- X轴:选择
CIType作为分类维度 - Y轴:选择
duplicate_groups/unique_groups(或对应的总记录数字段)作为数值 - 系列:将重复、非重复的字段设置为不同系列,生成分组柱状图或堆叠柱状图,就能直观对比每个CI类型下的重复/非重复条目数。
内容的提问来源于stack exchange,提问作者Paul
相关产品推荐
相关产品推荐

