Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Buenas Tardes Amigos,
Tengo una tabla pivotante con 3 campos de expresiones distintas con set análisis mas o menos así:
Expr1: Saldo Inicial:
sum({<FechaDcto = {"<=$(=vFecSaldoInicial)"}, AñoDcto= >}TotalDocumento)
+ sum({<FechaPago = {"<=$(=vFecSaldoInicial)"}, FechaAnulaPago = {"0"} + {">$(=vFecSaldoInicial)"}>} TotalPago)
+ sum({<FechaAjuste = {"<=$(=vFecSaldoInicial)"},FechaAnulaAjuste = {"0"} + {">$(=vFecSaldoInicial)"}>}TotalAjuste)
Expr2 Ventas
=sum({<FechaDcto = {">=$(=vFechaCorteI)<=$(=vFechaCorteF)"}, AñoDcto=>}TotalDocumento)
Expr3 Saldo Final
=sum({<FechaDcto = {"<=$(=vFecSaldoFinal)"}, AñoDcto=>}TotalDocumento)
+ sum({<FechaPago = {"<=$(=vFecSaldoFinal)"}, FechaAnulaPago = {"0"} + {">$(=vFecSaldoFinal)"}>} TotalPago)
+ sum({<FechaAjuste = {"<=$(=vFecSaldoFinal)"},FechaAnulaAjuste = {"0"} + {">$(=vFecSaldoFinal)"}>}TotalAjuste)
Lo que necesito hacer es que todos los registros que tenga valor 0 en las 3 expresiones no se visualicen en la tabla pivotante.
Gracias por su ayuda,
Henry C.
Hola Henry...
A lo que dice Sacosta usa esta dimensión calculada
=if(Column(1)>=0 and Column(2)> 0 and Column(3)>=0,TIPO, Null() )
Seleccionando esa dimensión en la pestaña, marca la casilla Suprimir cuando el valor es nulo
Saludos
Joaquín
Hola Henry,
En las propiedades de la tabla, ve a la solapa "Presentacion" y hay una opticion que dice Suprimir Valores en cero o en ingles "Suppress Zero-Values". No estoy seguro como es la traduccion precisa en castellano.
Saludos
Juan
Gracias por tu respuesta Juan,
lo he intentado ya, pero algo que debí aclarar al crear la discusión es que son más de 3 expresiones, la validación es únicamente cuando estas 3 expresiones tenga valor 0 no mostrar en la tabla pivotante, así las otras expresiones a parte de las 3, tengan valores, se debería excluir de la tabla todo el registro.
saludos,
Henry C.
Hola Hery...
creo que podría servirte habilitar la siguiente condición en la dimensión:
=if(Column(1)>=0 and Column(2)> 0 and Column(3)>=0,TIPO)
Column(1),Column(2),Column(3): serían las 3 expresiones a analizar (fijate en que orden están si tenes otras expresiones).
TIPO: Sería la dimensión que estás utilizando.
Saludos
Podrías habilitar una variable que sea Null cuando los tres resultados sean cero y luego suprimir los valores Null.
O bien simplemente a través de una pregunta, de forma que si alguno de ello no es cero, presentes el valor y si todos son cero, nada (Null()).
En ese caso tienes que evaluar cada expresion y si es 0 asignar null() a la misma. Esto lo puedes hacer en el script o en la tabla. Para hacerlo en la tabla, puedes intentar lo siguiente:
Expresion 1:
if(
sum({<FechaDcto = {"<=$(=vFecSaldoInicial)"}, AñoDcto= >}TotalDocumento)
+ sum({<FechaPago = {"<=$(=vFecSaldoInicial)"}, FechaAnulaPago = {"0"} + {">$(=vFecSaldoInicial)"}>} TotalPago)
+ sum({<FechaAjuste = {"<=$(=vFecSaldoInicial)"},FechaAnulaAjuste = {"0"} + {">$(=vFecSaldoInicial)"}>}TotalAjuste)
= 0 OR
sum({<FechaDcto = {">=$(=vFechaCorteI)<=$(=vFechaCorteF)"}, AñoDcto=>}TotalDocumento)
= 0
OR
sum({<FechaDcto = {"<=$(=vFecSaldoFinal)"}, AñoDcto=>}TotalDocumento)
+ sum({<FechaPago = {"<=$(=vFecSaldoFinal)"}, FechaAnulaPago = {"0"} + {">$(=vFecSaldoFinal)"}>} TotalPago)
+ sum({<FechaAjuste = {"<=$(=vFecSaldoFinal)"},FechaAnulaAjuste = {"0"} + {">$(=vFecSaldoFinal)"}>}TotalAjuste)
= 0
, NULL() //THEN
, // ELSE
sum({<FechaDcto = {"<=$(=vFecSaldoInicial)"}, AñoDcto= >}TotalDocumento)
+ sum({<FechaPago = {"<=$(=vFecSaldoInicial)"}, FechaAnulaPago = {"0"} + {">$(=vFecSaldoInicial)"}>} TotalPago)
+ sum({<FechaAjuste = {"<=$(=vFecSaldoInicial)"},FechaAnulaAjuste = {"0"} + {">$(=vFecSaldoInicial)"}>}TotalAjuste)
)
Con la expresion 2 harias lo mismo pero remplazaria la ultima parte del if (lo que esta en verde), con la segunda expresion, y lo mismo para la tercera.
Hay formas mas limpias de hacerlos, como asigar esto a variables para que no se vea tan mal las expresiones o calculandolo directamente en el script, pero esto deberia resolver tu problema.
Saludos
Juan
Hola Henry...
A lo que dice Sacosta usa esta dimensión calculada
=if(Column(1)>=0 and Column(2)> 0 and Column(3)>=0,TIPO, Null() )
Seleccionando esa dimensión en la pestaña, marca la casilla Suprimir cuando el valor es nulo
Saludos
Joaquín
Gracias a todos por su ayuda !!
Se resolvió con la dimensión calculada como lo indica Joaquin, pero también validando cada expresión como lo indicó Juan, hay que tomar mucho en cuenta los formatos de los cálculos resultantes puesto que retornaban valores 0 no exactos sino por ejemplo 0.00000000000456.
Saludos,
Henry C.
Perfecto Henry, de eso se trata.
Marca una respuesta como correcta para no dejar abierto el hilo