Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hola amigos!
Tengo una tabla pivotante (DETALLE) que muestra tres columnas calculadas que funciona correctamente.
Sin embargo, al crear la misma tabla pero eliminando dimensiones para transformarla en una 'tabla resumen' las columnas calculadas dejan de comportarse correctamente y muestran resultados dispares. Tan sólo he detectado que los muestra correctamente cuando en una selección de registros, no existe ninguna devolución. Como quiera que ya entré en la fase de ensayo/prueba/error... me dije.. es el momento de consultar en el foro de la sabiduría...
¿Qué estoy haciendo mal?
Gracias!!
Adjunto el qwv.
He quitado varias cosas:
Espero que te sirva, creo que en el adjunto ya está cuadrado el detalle con el resumen.
Saludos,
H
Hola Jorge,
Prueba a sustituir (para la expresión Dto) la expresión actual por la siguiente:
If(Dimensionality() = 0,
1- ([Total
Venta] / [PVP]),
sum({$<[ID Operación]={'V'},[Fecha Operación]={'>=$(=Date(vFecha))<=$(=Date(vFechaMax))'}>}DISTINCT if( Cantidad < 0,[Descuento]*-1, [Descuento] )))
, además cambia la forma de totalizar a expresión total en vez de como media de valores.
Con esto lo que consigues es que en el total no hagas la media aritmética de los descuentos sino el descuento total que sería igual a 1 - ([Total Venta] - [PVP]). ¿Te serviría así?
Si es que sí, tendrías que hacer esto mismo en el resto de expresiones del objeto actual y del otro.
Saludos,
H
Hola Héctor! Muchas gracias por responder. Tu ayuda me ha servido de mucho. En la expresión 'Dto.' de la primera tabla (Detalle) he puesto:
If(Dimensionality() = 0,
1- ([Total
Venta] / [PVP]),
sum(
{$<[ID Operación]={'V'},
[Fecha Operación]={'>=$(=Date(vFecha))<=$(=Date(vFechaMax))'}>}
DISTINCT if( Cantidad < 0,[Descuento]*-1, [Descuento] )
)
)
Como indicaste, y el Modo Total a Expresión Total. Funciona. Antes creía que también funcionaba, pero sólo a nivel detalle porque comprobé que la media del total fallaba ligeramente.
Pero en la tabla Resumen, copiando sin más la expresión anterior, no funciona. La he corregido por:
If(Dimensionality() <> 0,
1- ([Total
Venta
] / [PVP]),
sum(
{$<[ID Operación]={'V'},
[Fecha Operación]={'>=$(=Date(vFecha))<=$(=Date(vFechaMax))'}>}
DISTINCT if( Cantidad < 0,[Descuento]*-1, [Descuento] )
)
)
He tenido que dejar el Modo Total como Media.
Y funciona correctamente si seleccionas sólo una tienda. Si seleccionas dos o más.. hay ligeros descuadres en los totales..
Vuelvo a adjuntar el QVW con los cambios que hice.
¿Tendrá algo que ver con el Dimensionality()?
He quitado varias cosas:
Espero que te sirva, creo que en el adjunto ya está cuadrado el detalle con el resumen.
Saludos,
H
Muchas gracias Héctor! me estás haciendo la aplicación, que lo sepas! 😉
Te mando por privado mi dirección para que me envíes un jamoncito bueno... 😉
Si consigo que me paguen por esto, ni lo dudes!
Por cierto, finalmente sí que tuve que poner la cláusula DISTINCT en las columnas de margen porque sino, cuando era más de una unidad, doblaba los porcentajes.