在Azure Data Factory中统计含缺失类别的指定类别计数
在Azure Data Factory中实现指定类别计数(含不存在类别计0)
方法一:左连接+聚合(推荐,灵活易维护)
步骤1:创建目标类别内联源
在数据流中添加一个源,选择「内联数据集」,输入包含四个目标类别的JSON数据:[ {"target_category": "chair"}, {"target_category": "table"}, {"target_category": "bowl"}, {"target_category": "plat"} ]这个数据集用来提供所有需要统计的类别基准。
步骤2:引入原始业务数据
添加另一个源,指向你包含category列的原始业务数据集。步骤3:左连接两个数据集
添加连接转换,将目标类别源设为左表,原始业务数据源设为右表,连接条件配置为target_category == category。左连接会保留左表的所有类别,右表无匹配数据时对应字段为null。步骤4:分组统计计数
添加聚合转换,按target_category字段分组,创建聚合列(命名为category_count),使用表达式count(category)。由于count()会忽略null值,不存在的类别(bowl、plat)对应的计数会自动为0。步骤5:输出结果
添加接收器,将聚合后的结果输出到目标存储(如SQL数据库、Blob存储等),最终得到四个类别各自的计数结果。
方法二:聚合+派生列+逆透视(适合固定类别场景)
- 先对原始业务数据做聚合,按
category分组统计计数,得到chair、table的现有计数行。 - 添加派生列转换,手动新增
bowl和plat列,值均设为0。 - 添加逆透视转换,将所有类别列(chair、table、bowl、plat)转换为行级的
category和count字段,最终得到行级的计数结果。
内容的提问来源于stack exchange,提问作者Gaurav Parmar
相关产品推荐
相关产品推荐

