Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Buenas,
Tengo una tabla con varias dimensiones y finalmente hago unos cálculos. Los cálculos es algo del tipo
Count (IDPrueba1) y count(IDPrueba2)
Yo quiero que el resto de dimensiones solo se muestre si count(IDPrueba1) = 0
Ejemplo
campo1 campo2 campo3 count(IDPrueba1) Count (IDPrueba2)
1 2 3 0 15 --> Debe mostrarlo
2 2 4 1 20 --> No debe mostrarlo
3 3 5 0 18 --> Debe nostrarlo
He intentado poner condicionales en la pestaña presentación de la tabla , por ejemplo poner coun(IDPrueba1) = 0. También he intentado usar la función only en las dimensiones, pero no se como se puede añadir ahí la expresión del count
=only({<count(IDPrueba1) = 0>} campo1)
¿Alguna sugerencia al respecto?
Un saludo
Hola Jonay,
Esto puedes hacerlo con Set Analysis, en la expresión directamente,
SUM({<Campo1= {"=count(IDPrueba1) = 0"}>} IdPrueba2)
Un Saludo,
Hola,
La tabla de que tipo es?
Si es straight o Pivot crea una dimensión calculada,
If(Count(ID1) > 0,'Tu dimension')
Saludos,
Hola,
Si lo que quieres es esto:
Pon esto:
Saludos,
Hola Jonay, una opción podría ser las dimensiones calculadas, por ejemplo para campo2 podría ser:
=Aggr(If(Count(IDPrueba1)>0, campo2), campo1, campo2)
Por aclararlo, lo había propuesto así para poder hacer el count, si tienes tres campos sería:
campo2: Aggr(If(Count(IDPrueba1)>0, campo2), campo1, campo2, campo3)
campo3: Aggr(If(Count(IDPrueba1)>0, campo3), campo1, campo2, campo3)
Por el enunciado de la pregunta entendía que la primera dimensión sí que tenía que aparecer, por ejemplo para estos datos:
campo1 | campo2 | campo3 | IDPrueba1 |
---|---|---|---|
1 | 2 | 3 | |
2 | 2 | 3 | |
2 | 2 | 4 | 1 |
3 | 3 | 5 | 2 |
4 | 3 | 5 |
Devuelve
campo1 | campo2 | campo3 | 1 |
---|---|---|---|
1 | 1 | ||
2 | 2 | 4 | 1 |
2 | 1 | ||
3 | 3 | 5 | 1 |
4 | 1 |
* También por comentarlo, la opción con el analysis podría ser:
=Aggr(Only({<campo2={"=Count(IDPrueba1)>0"}>} campo2), campo2)
Aunque en este caso, los valores repetidos no se filtrarían (ni añadiendo campo3 al Aggr):
campo1 | campo2 | campo3 | 1 |
---|---|---|---|
1 | |||
1 | 2 | 1 | |
2 | 2 | 4 | 1 |
2 | 2 | 1 | |
3 | 3 | 5 | 1 |
4 | 3 | 1 |
Buenas Jordi,
la solución que propones no me vale...
If(Count(ID1) > 0,'Tu dimension') si yo pongo algo así, me da error en la dimensión calculada
if (IDPrueba1 > 0, campo1) --> realmente no hago el cálculo del count y de todas formas yo lo que necesito es que sea igual a 0. Y no puedo poner IDPruebaa = 0, porque ese IDPrueba1 puede existir
Gracias por intentar ayudar
Un saludo
Hola,
No entiendo lo que me dices.... con la expresion count no va, después de escribirlo me he acordado, por reso te he puesto el 2o ejemplo. Basandote en el 2o ejemplo porque no va?
Me he basado en tus datos y en tu ejemplo.... Si ves que te falta algo a explicar puede que la respuesta sea totalmente diferente.... y sino prueba lo de Rubén que seguro que está bien.
Saludos,
Buenas Jordi,
Yo lo que necesito es que me muestre campo1,campo2,campo3, pero como dije en mi primer mensaje
coun(IDPrueba1) = 0
Por eso no me vale la opción if (IDPrueba1 > 0, campo1), porque lo que busco es que sea IGUAL a 0,
No puedo poner if (IDPrueba1 = 0,campo1) porque IDPrueba1 puede tener valor 0
No entiendo muy bien la respuesta de Ruben, que consigue en este caso con la función de aggr
Recapitulando, lo que necesito es:
campo1 campo2 campo3 count(IDPrueba1) Count (IDPrueba2)
1 2 3 0 15 --> Debe mostrarlo
2 2 4 1 20 --> No debe mostrarlo
3 3 5 0 18 --> Debe nostrarlo
La tabla simple final es la siguiente
campo1 campo2 campo3 count(IDPrueba1) Count (IDPrueba2)
1 2 3 0 15 --> Debe mostrarlo
3 3 5 0 18 --> Debe nostrarlo
Es decir aquella donde el count(IDPrueba1) = 0
Utilizo una tabla simple
Un saludo
Hola,
Por eso, mira:
No sé, creo que funciona pero a lo mejor se me escapa algo.....
Saludos,
Había puesto la condición >0, cuando tenía que ser =0, corregido sería:
campo2: Aggr(If(Count(IDPrueba1)=0, campo2), campo1, campo2, campo3)
campo3: Aggr(If(Count(IDPrueba1)=0, campo3), campo1, campo2, campo3)
El Aggr es para hacer el conteo de IDdPrueba1 para cada combinación de campo1, campo2 y campo3. Al ser una dimensión QV no ha dibujado la tabla y con el Aggr creamos una especie de tabla virtual donde mirar si la fila cumple con la condición.
Si la primera dimensión no debe aparecer se puede añadir la misma condición para campo1:
Aggr(If(Count(IDPrueba1)=0, campo1), campo1, campo2, campo3)
Aunque si no quieres que salga ni la primera dimensión igual es más fácil aplicar la condición en la expresión:
If(Count(IDPrueba1), TuExpresión)