

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
suma total de una expresion con una condicion
Hola a tod@s,
Tengo una pequeña duda a ver si me podéis ayudar.
De una tabla pivotante me saca el control de stock, en la primera columna(Stock Físico Central) me hace la suma del total correcto, es una expresión normal sin ninguna condición, pero las columnas (Stock Disponible Central y Stock Físico Disponible Central) no me suma el total bien, son expresiones que tienen una condición. No sé qué es lo que estoy haciendo mal, tenéis alguna idea porque motivo puede ser?
adjunto expresiones con la condiciones y la tabla pivotante
Muchas gracias
Un Saludo
- Tags:
- Group_Discussions
Accepted Solutions

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hola!!
A tu consulta me ha nacido la curiosidad y es verdad en los subtotales de una tabla pivotante se presenta problemas cuando haces un remplazo con una condicional, en tu caso reemplaza negativos por 0.
he realizado algunas pruebas capaz te pueda servir.
LOAD * INLINE [
PASE, ARTICULO, PROVEEDOR, A, B, C
AAA, T01, PRO1, 1, 1, 1
AAA, T02, PRO1, 4, 0, 1
AAA, T03, PRO1, 2, 2, 1
AAA, T04, PRO1, 0, 3, 4
AAA, T05, PRO1, 1, 0, 1
AAA, T06, PRO1, 2, 1, 0
AAA, T07, PRO1, 1, 0, 1
AAA, T08, PRO1, 5, 5, 0
AAA, T09, PRO1, 1, 1, 0
AAA, T10, PRO1, 0, 3, 5
AAA, T11, PRO1, 1, 0, 0
AAA, T12, PRO1, 1, 1, 2
];
1) He realizado un cuadro de tabla para visualizar los datos
2) Con esos datos se ha armado una "Tabla Pivotante". con 4 expresiones en una de ellas se visualiza lo que esta pasando.
La expresion 'B-C' arroja un total de 1
La expresion 'Condicion en Expresion' arroja un total de 1 a pesar que los negativos los cambiamos a 0
hasta donde he podido entender los subtotales de una "Tabla Pivotante" no se influencia por una condicional para su calculo.
La expresion 'Condicion en Agrupacion', crea una tabla simple virtual con la funcion "Aggr" y es adentro de dicha funcion donde hacemos la condicional de los negativos; los datos calculados se vincularan con la tabla pivotante.
A
Sum(A)
'B-C'
sum(B-C)
Condicion en Expresion
if(sum(B-C)<0,0,sum(B-C))
Condicion en Agrupacion
sum(Aggr(if(sum(B-C)<0,0,sum(B-C)),PASE,ARTICULO,PROVEEDOR))
No soy tan bueno explicando, espero te sirva dicha explicacion desde mi punto de entendimiento.
Si trabajas con variables puedes simplicar el tamaño de tu expresiones y llevar un mejor control para los cambios.


- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Prueba a cambiar el orden entre el if y el Sum, es decir, Sum(if (....


- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Gracias Enrique por la respuesta, pero al cambiar el orden la expresión me da error.
Muchas gracias,
un saludo,


- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hola
Estás controlando si tienes algún Null ??
Prueba a cambiar el Sum por RangeSum
Si puedes pasarme el fichero lo reviso y pruebo
Saludos,

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hola!!
Probaste usar Sum de AGGR?
Sum(Aggr(Expresion, Diemsiones))
Sum(Aggr(If(),Pase)
Espero te resulte.
Slds
Ale

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hola!!
A tu consulta me ha nacido la curiosidad y es verdad en los subtotales de una tabla pivotante se presenta problemas cuando haces un remplazo con una condicional, en tu caso reemplaza negativos por 0.
he realizado algunas pruebas capaz te pueda servir.
LOAD * INLINE [
PASE, ARTICULO, PROVEEDOR, A, B, C
AAA, T01, PRO1, 1, 1, 1
AAA, T02, PRO1, 4, 0, 1
AAA, T03, PRO1, 2, 2, 1
AAA, T04, PRO1, 0, 3, 4
AAA, T05, PRO1, 1, 0, 1
AAA, T06, PRO1, 2, 1, 0
AAA, T07, PRO1, 1, 0, 1
AAA, T08, PRO1, 5, 5, 0
AAA, T09, PRO1, 1, 1, 0
AAA, T10, PRO1, 0, 3, 5
AAA, T11, PRO1, 1, 0, 0
AAA, T12, PRO1, 1, 1, 2
];
1) He realizado un cuadro de tabla para visualizar los datos
2) Con esos datos se ha armado una "Tabla Pivotante". con 4 expresiones en una de ellas se visualiza lo que esta pasando.
La expresion 'B-C' arroja un total de 1
La expresion 'Condicion en Expresion' arroja un total de 1 a pesar que los negativos los cambiamos a 0
hasta donde he podido entender los subtotales de una "Tabla Pivotante" no se influencia por una condicional para su calculo.
La expresion 'Condicion en Agrupacion', crea una tabla simple virtual con la funcion "Aggr" y es adentro de dicha funcion donde hacemos la condicional de los negativos; los datos calculados se vincularan con la tabla pivotante.
A
Sum(A)
'B-C'
sum(B-C)
Condicion en Expresion
if(sum(B-C)<0,0,sum(B-C))
Condicion en Agrupacion
sum(Aggr(if(sum(B-C)<0,0,sum(B-C)),PASE,ARTICULO,PROVEEDOR))
No soy tan bueno explicando, espero te sirva dicha explicacion desde mi punto de entendimiento.
Si trabajas con variables puedes simplicar el tamaño de tu expresiones y llevar un mejor control para los cambios.


- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Muchas Gracias Luis funciona perfectamente,
Un saludo
