Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Uso Above para hacer un acumulado de facturación de un mes
Así
Dia // Facturacion // Acumulada
1 // Fac 1 // Acumunlada 1
2 // Fac 2 // Above(Acumulada) +Fac2
En principio bien.
El problema es que solo puedo llamar a la expresión de forma literal 'Acumulada' , si en la etiqueta de la expresión tengo algo como 'Acumulada ' & year(vFecha_trabajo), la función Above deja de funcionar, o no se qué poner de argumento para que funcione.
Y otra cosa, no se porqué con Tabla simple no funciona bien, suma, pero lo hace mal. Necesito que sea una tabla pivotante para que funcione bien. El inconveniente principal es que en la pivotante no puedo ocultar columnas de expresiones intermedias que necesito.
saludos
Lo que sucede es que estas usando funciones para determinar el nombre de la columna. Los puedes hacer usando una variable que contenga el nombre. Otra forma es una variable que contenga la expresion que estas usando, lo que es una mejor practica, y la usas para ambos casos.
Con el tema de que no esta sumando correctamente, es posible que necesites hacer una Aggr con lo que quieres.
De todas formas lo mejor seria que publiques un qvw para poder ayudarte mejor.
No se si hoy podré probarlo o podré preparar un ejemplo si no me sale bien, pero en principio me defino una variable
Variable1= 'Acumulada ' & year(vFecha_trabajo)
Nombre de la columna =Variable1
y
Above(Variable1) +Fac2
así?
Intentaré probarlo hoy, gracias
Hola Vinyals,
En principio, en las tablas simples no hace falta que utilices Above para acumular, puesto que en la pestaña de "Expresiones" tienes un grupo de opciones "Acumulación" que te lo hace automáticamente.
En las tablas pivotantes si tendrías que montarlo con Above, porque este grupo de opciones está deshabilitado.
En este caso, la fórmula que yo utilizaría para acumular sería: RangeSum(Importe, Above(TOTAL Acumulado))
Donde Importe es otra expresión/columna donde está la formula que se quiere acumular (si no la tienes, sustitúyela por dicha formula) y Acumulado, la columna que muestra el acumulado. RangeSum es importante para que muestre la primera fila correctamente.
Si utilizas etiquetas dinámicas en las expresiones, puedes sustituir el nombre de la columna por Column(n), donde 'n' es el número de la columna actual (de acumulado), teniendo en cuenta que si cambias la posición de esta expresión, tendrás que cambiar también este número.
También puedes referenciar tu etiqueta dinámica como: $(='[Acumulada ' & year(vFecha_trabajo) & ']')
Ten cuidado con estas funciones inter-registro y las tablas pivotantes, puesto que si pivotas las dimensiones, las expandes o contraes, puede que no te muestren el resultado que esperas.
Un saludo y espero haberte solucionado el problema.