Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
Abri1
Contributor III
Contributor III

Contar datos duplicados tomando en cuenta 2 campos

Hola !

Alguien que me pueda orientar, como puedo contar datos duplicados tomando en cuenta 2 campos, anexo una parte de la tabla

Abri1_1-1610540635020.png

Necesito contar solo los datos que están con amarillo , tengo esta formula pero no me da el resultado que quiero, =IF(Count(CODIGO_COMERCIO and SERIE_ACTUAL)>1,'SI','NO')

@rubenmarin  si me pudieras ayudar..

gracias

Labels (2)
6 Replies
rubenmarin

Hola @Abri1, la idea es buena, aunque sería con & para hacer concatenación, 'and' es para comparativas.

También puede que estén afectando las dimensiones, en ese caso podrías probar con TOTAL:

=IF(Count(TOTAL CODIGO_COMERCIO & SERIE_ACTUAL)>1,'SI','NO')

 

Abri1
Contributor III
Contributor III
Author

Hola @rubenmarin !

Gracias, ya puedo verlos, pero ahora quiero hacerlo en un KPI para contar solo los datos que se repiten intento con esta formula pero me cuenta todos 

Count(if(TIPO_TRABAJO='AVERIA' AND SITUACION='OK',(PARTE_REITERADO_1)>1))

No sé que pueda tener mal.

Saludos

rubenmarin

Hola @Abri1, habría varias formas de hacerlo dependiendo de como lo quieras mostrar, si lo que quieres es identificar registros duplicados de origen lo mejor sería marcarlos en el script, así la consulta podría ser simplemente algo como:

Count(Distinct {<RegistroDuplicado={1} IdRegistro)

Con la expresión que tienes igual podría ser algo como:

Sum({<TIPO_TRABAJO={'AVERIA'}, SITUACION={'OK'}>} Aggr(If(Count({<TIPO_TRABAJO={'AVERIA'}, SITUACION={'OK'}>} CODIGO_COMERCIO & SERIE_ACTUAL)>1, 1), CODIGO_COMERCIO, SERIE_ACTUAL))

O: Sum({<TIPO_TRABAJO={'AVERIA'}, SITUACION={'OK'}>} Aggr(If(Count({<TIPO_TRABAJO={'AVERIA'}, SITUACION={'OK'}>} CODIGO_COMERCIO & SERIE_ACTUAL)>1, Count({<TIPO_TRABAJO={'AVERIA'}, SITUACION={'OK'}>} CODIGO_COMERCIO & SERIE_ACTUAL)), CODIGO_COMERCIO, SERIE_ACTUAL))

Abri1
Contributor III
Contributor III
Author

y como podría marcarlos en el script de carga?

rubenmarin

Si quieres marcarlos todos como duplicados

Left Join (TablaDatos)
LOAD
  CODIGO_COMERCIO,
  SERIE_ACTUAL,
  1 as RegistroDuplicado
Where Cont>1;
LOAD
  CODIGO_COMERCIO,
  SERIE_ACTUAL,
  Count(CODIGO_COMERCIO) as Cont
Resident TablaDatos
Group By CODIGO_COMERCIO, SERIE_ACTUAL;

Si solo quieres marcar como duplicado a partir del 2º que encuentres

TablaDatos:
LOAD
  ...
  CODIGO_COMERCIO &'_'& SERIE_ACTUAL as IdRegistro
  If(Exists('IdRegistro', CODIGO_COMERCIO &'_'& SERIE_ACTUAL), 1) as RegistroDuplicado
Abri1
Contributor III
Contributor III
Author

Gracias @rubenmarin  ya puedo ver los duplicados aplique la segunda opción, solo una duda en los campos de CODIGO_COMERCIO y SERIE_ACTUAL tengo datos 'N/A' esos como los puedo omitir, se que seria CODIGO_COMERCIO<>'N/A'  y  SERIE_ACTUAL<>'N/A' pero como los puedo introducir desde el script?