Informatica中实现count(distinct)

转载 2013年12月04日 15:59:56
Thanks for your response. Here is the sample data information: 

A id1 $200 
A id1 $300 
A id2 $150 
B id3 $100 
B id4 $20 

I want the following in the output: 
Name distinct-Count Totalamt 
A 2 $650 

B 2 $120 


One way to do this is to use 2 aggregators. The First aggregator group and sum amt by Name and ID. 
On the second aggregator group by Name and count id and sum amt.

So if I remove the duplicate row in the Sorter I will get incorrect distinct-count and totalamt for "A".

There are two different ways. 

1) Suggested by Manas - to use two aggregates. 
2)Flaging the record as 1 and 0 before aggregate. For this, you should have sorted data on name and id. 
If you have sorted data coming from source, try 2nd option as given below. 
In expression transformation before aggregator. 

IN_ID 
v_ID_CNT = IIF(ISNULL(v_ID) Or IN_ID!= V_ID,1, 0) 
O_ID_CNT=V_ID_CNT 
V_ID=IN_ID 

O_ID_CNT will go in to your aggregator. 

You need to create one more port in aggregator for SUM(O_ID_CNT) which will return the distinct count of IDs. 
(No change in GROUP BY columns)

相关文章推荐

informatica 学习日记整理(转)

1. INFORMATICA CLIENT的使用 1.1 Repository Manager 的使用 1.1.1 创建Repository。 前提: a.在ODBC数据源管理器中新建一个数据...

Solr进行Distinct 获取Count

今天碰到一个问题,数据之前入solr的时候并没有计算条数,现在需要计算出某几个表中去重后的总数。 由于solr的ISearch并没有相关的Distinct功能.想到一个解决方案是用Solr的Face...

mysql(二)——select显示、where、%、排序、limit、distinct、count、max等、删和改

(十一)使用select显示 输入: select * fromsales_rep where commission>1; 显示: mysql>select * from sales_rep wher...

Oracle12c中性能优化新特性之新增APPROX_COUNT_DISTINCT 快速唯一值计数函数

Oracle11g中,为了改善DBMS_STATS包收集统计信息时的唯一值计数功能,增加了 APPROX_COUNT_DISTINCT函数,但文档中并未记载。Oracle12c文档中包括了该函数,因此...

Mysql中count(*),DISTINCT的使用方法和效率研究

在处理一个大数据量数据库的时候 突然发现mysql对于count(*)的不同处理会造成不同的结果 比如执行 SELECT count(*) FROM tablename 即使对于千万级别的数据mys...
  • zqtsx
  • zqtsx
  • 2013-10-14 18:21
  • 1101

Sql优化(二) 快速计算Distinct Count

本文介绍了distinct count的SQL优化方法,以及常用的高效近似算法及其在PostgreSQL上的实现。

hive count distinct

select count(distinct user_id) from dm_user where ds=20150701; 使用disticnt函数,所有的数据只会shuffle到一个reducer...

HIVE学习与实践(三):结合linux shell脚本按日期提取表,count,distinct,group by用法

例子下面的例子create_everyday.sh是在bash 脚本里面嵌入 hive的代码,实现在bash下 直接运行脚本 create_everyday.sh 20110101 201103...

mysql中count(*),distinct的使用方法和效率研究

在处理一个大数据量数据库的时候 突然发现mysql对于count(*)的不同处理会造成不同的结果 比如执行 SELECT count(*) FROM tablename 即使对于千万级...

Hive 处理count distinct 产生数据倾斜处理

Hive Multiple count distinct .
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)