Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hola a todos.
Tengo el siguiente set analysis en una medida por supuesto pero me genera un error de sintaxis. Agradezco sus ideas para solucionarlo:
SUM({<Count({<IDESTADO={'1'}>} IDINFRACCIONTEC)-=0>}META)
Saludos,
DiegoR
Por lo que veo en la imagen la columna META sí tiene valor, si una de las columnas tiene valor a mostrar te va a mostrar el resto.
Lo mejor creo que sería usar un If delante para calcular si la columna tiene que mostrar valor o no, no debería dar ningún problema de rendimiento.
Si estuviésemos hablando de bastantes millones de registros igual sería mejor usar un flag creado en el script pero no creo que sea necesario.
Hola, el Set analysis es como aplicar selecciones, se indica un campo y qué valores se van a filtrar en ese campo, la sintaxis básica es:
{<Campo={'ValoresCampo'}, OtroCampo={"ValoresBusquedaOtroCampo"}, ...>}
El resultado es como si seleccionases esos valores solo que se aplica únicamente a la expresión donde se incluye.
No sé si un equivalente a lo que buscas sería:
Sum({<IDESTADO={'1'}, IDINFRACCIONTEC={"*"}>} META)
Que traducido será algo como sumar los META para IDESTADO=1 y con algún valor en IDINFRACCIONTEC.
Hola Diego, la imagen no se ve.
Ese if no es tan ineficiente como si estuviese metido dentro del count, y dependiendo de las dimensiones de la tabla puede que sea una buena opción.
Si pudieses subir un ejemplo aunque sea con datos de una inline para ver lo que tienes y lo que quieres obtener sería más fácil darte una solución.
Saludos.
Hola Rubén, gracias por tu ayuda.
Mira, este es un ejemplo con INLINE de las dos tablas que necesito relacionar:
Capturas:
LOAD * Inline [
IDINFRACCIONTEC, IDUSUARIO, VELOCIDAD, CARRIL, IDESTADO, FECHAFIN
0237658,217,45,1,1,01/01/2020
0237659,217,45,1,1,01/01/2020
0237660,217,45,1,1,01/01/2020
2736590,219,63,2,1,01/01/2020
2736591,219,63,2,1,01/01/2020
9846100,230,67,3,2,01/01/2020
2536871,271,81,3,1,01/01/2020
2764891,201,62,2,1,01/01/2020
];
Proceso:
LOAD * Inline [
FECHAFIN, IDUSUARIO, META, IDESTADO
01/01/2020,217,10,1
01/01/2020,219,10,1
01/01/2020,230,10,1
01/01/2020,271,10,1
01/01/2020,256,10,1
01/01/2020,283,10,1
01/01/2020,294,10,1
01/01/2020,289,10,1
];
Ahora, el resultado que esperaría con estos datos de ejemplo es el siguiente:
IDUSUARIO COUNT(IDINFRACCIONTEC) META
Totales 8 50
217 3 10
219 2 10
230 1 10
271 1 10
201 1 10
Hola Diego, el 201 no tiene META en la 2ª tabla ¿Falta el dato en la tabla o realmente el 10 tiene que obtenerse de alguna forma con los datos que hay?
Aparte del If puedes usar esta expresión como set analysis para META:
Sum({<IDUSUARIO={"=COUNT(IDINFRACCIONTEC)<>0"}>} META)
Rubén, tu solución me funciona muy bien cuando tengo seleccionada una fecha específica. Pero cuando quiero ver varias fechas o el gráfico agregado por mes, en el campo META me sigue sumando registros que tienen la medida IMAGENES= 0.
Estas son las dos medidas que estoy utilizando con base en la solución que me propusiste:
Medida META: COUNT({<IDUSUARIO={"=COUNT({<IDESTADO={'1'}>}IDINFRACCIONTEC)>0"}>} IDINFRACCIONTEC)
Medida IMAGENES: SUM({<IDUSUARIO={"=COUNT({<IDESTADO={'1'}>}IDINFRACCIONTEC)<>0"}>} META)
Adjunto imagen.
Por lo que veo en la imagen la columna META sí tiene valor, si una de las columnas tiene valor a mostrar te va a mostrar el resto.
Lo mejor creo que sería usar un If delante para calcular si la columna tiene que mostrar valor o no, no debería dar ningún problema de rendimiento.
Si estuviésemos hablando de bastantes millones de registros igual sería mejor usar un flag creado en el script pero no creo que sea necesario.
Funciona perfecto. Muchas gracias por tu ayuda.