Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hola,
Tengo una duda "sencilla", pero que no consigo saber como resolver. Hago un count y quiero que sea igual a un valor, en un rango de valores o superior a un valor. La idea es la siguiente:
Count (id ) = 1
Count (id) > 2 and < 5
count (id) > 5
No se si hay que usar aggr o no, y cual seria la sintaxis correcta. Ya que es algo que creo que nunca he tenido que usar
Un saludo
Hola Jonay, si lo he entendido bien estas expresiones podrían funcionar:
1: Sum(Aggr(If(Count(ID)=1, 1, 0), ID))
2: Sum(Aggr(If(Count(ID)>1 and Count(ID)<=5, 1, 0), ID))
3: Sum(Aggr(If(Count(ID)>5, 1, 0), ID))
Hola Jonay, esto puede variar bastante dependiendo de donde quieras usarlo. Que es lo que quieres visualizar y en donde?
Buenas Juan,
En principio quiero hacerlo en una tabla (gráfica) aunque también puede ser que se represente en una gráfica visual
Un saludo
Jona, podrias dar un ejemplo? Que es lo que quieres hacer si el count(id) = 1? Cual seria la accion?
mmmm accion en si, ninguna, solo quiero realizar un conteo. Intento detallar:
Quiero hacer una tabla de la siguiente manera
= 1 , entre 2 y 5, > 5
20, 40, 33
es decir, quiero que me realice el conteo , y para ello pretendia crear una expresion para cada una de las cosas que quiero contabilizar. En este caso tendria que crear 3 expresiones diferentes, siendo cada expresión una columna de mi tabla.
Lo que tendria que hacer es un conteo, count(ID) = 1, iria clasificado en la primera columna si count(ID) >= 2 y <= 5, iria clasificado en la segunda, y si count(ID) > 5 iria clasificado en la tercera columna
Espero haber aclarado mi problema
Un saludo
Hola Jonay, si lo he entendido bien estas expresiones podrían funcionar:
1: Sum(Aggr(If(Count(ID)=1, 1, 0), ID))
2: Sum(Aggr(If(Count(ID)>1 and Count(ID)<=5, 1, 0), ID))
3: Sum(Aggr(If(Count(ID)>5, 1, 0), ID))
Hola Jonay, el problema es que falta informacion para contestar tu pregunta.
Si tu campo ID es efectivamente un ID, el mismo se veria de la siguiente manera:
ID
AAAAAA1223
AAAAAA0014
AAAAAA5489
AAAAAA14789
El ID por si solo, no tiene ningun sentido, sino que lo importante es la dimension y eso es lo que estoy tratando de entender.
Por otro lado, si tu campo ID es un numero:
ID
1
4
10
22
puedes llegar a hacer lo que menciones, pero esto sin otro campo que te sirva de dimension no tiene sentido.
Saludos
Juan
Buenas Ruben y Juan,
Voy a intentar explicarlo bien, porque por aqui es complejo de explicar a veces las cosas y si yo por defecto(incoscientemente) omito algun detalle se hace más complicado.
Tengo 2 campos que considero ID, en ambos casos son números.
Ambos ID son numéricos. Yo pongo un ejemplo
ID1 = 9999 ID2 = 123456,123457,1256788,45678990
Esto para mi significa
count(ID) = 4, por tanto iria clasificado en el grupo de 4
Yo no tengo que poner ninguna dimension en la tabla, sino que basta con hacer los conteos
ID1 = 6786 count(ID2) = 5
ID1 = 3456 count(ID2) = 4
ID1 = 9876 count(ID2) = 6
La solución que me da Ruben, me permite realizar los conteos de forma correcta. Me cuenta los ID2 igual a un valor que le ponga, agrupado por ID1 y si cumple la condicion de valor me lo pone a 1, para que pueda realizar la suma y me de el total que busco
1: Sum(Aggr(If(Count(ID2)=1, 1, 0), ID1))
2: Sum(Aggr(If(Count(ID2)>1 and Count(ID2)<=5, 1, 0), ID1))
3: Sum(Aggr(If(Count(ID2)>5, 1, 0), ID1))
Muchas gracias a ambos
Un saludo
Buenas Ruben, una duda a raiz de la solución que me distes y que no habia tenido en cuenta.
La solución que tu me distes funciona perfecta para un día concreto, pero en el caso de que seleccione un periodo mayor no funciona y te explico porque
Sum(Aggr(If(Count(ID2)=1, 1, 0), ID1)) El ID1, a pesar de ser único puede darse algun caso que yo vea que hagan que no me funcione, para fechas diferentes de el mismo conteo
ID1 = 9999 count(ID2) = 1 fecha = 23/11/2015
ID1 = 9999 count(ID2) = 1 fecha = 24/11/2015
En ese caso para un mismo ID, me lo estaria contabilizando como 2. Como solucion a esto le añadi el campo fecha
Sum(Aggr(If(Count(ID2)=1, 1, 0), ID1,fecha)) --> pero creo que esto no funciona ( no me cuadran los cálculos)
Intente poner la clausula distinct, pero no la reconoce tal cual esta la expresión
¿Alguna sugerencia?
Un saludo
Hola Jonay, ¿el distinct lo habías puesto en el count? prueba si así devuelve el resultado que esperas:
Sum(Aggr(If(Count(Distinct ID2)=1, 1, 0), ID1))