How to make multiple math expressions for a single column

Hello, there. Iโ€™ve been trying to do a calculation in a table in a single column, i donโ€™t really know which solution will fit the best with this problem that i have.


in this table MetodoPago (payment method), there are many types of payments [MetodoPagoDescripcion] payment method description (Credit, debit, cabal, cash, and others)
when the payment method is selected, every payment method should have a different tax.
So if one payment method is selected, should do a math, for example:
if [MetodoPagoDescripcion] = โ€˜Creditoโ€™ then [Credito] = [MetodoPagoMonto] * 0.06

so in the totals my formula is [TotalMP] = [MetodoPagoDescripcion] - ([Credito]+[Debito]+[Cabal])
iโ€™ve tried to do all the calculations in virtual columns, and only made it valid if the selected payment is the one with that tax discount, but in the execution every discount column has a value even if isnโ€™t the selected payment method

iโ€™ve tried many things, but iโ€™m kinda stucked to be honest, iโ€™m not that good with the logic of programation, nor english so if you see something isnโ€™t write well please feel free to correct me!
Any help will be appreciated, Greetings!

Solved Solved
0 4 727
1 ACCEPTED SOLUTION

Hello @bulgogi94, i see your column names are in spanish, so iโ€™ll answer your question in spanish hehe.

Si en una transacciรณn dada sรณlo puede haber 1 mรฉtodo de pago que se selecciona de una lista, podes hacer ese cรกlculo en una sola columna utilizando la funciรณn SWITCH(), este es el enlace a su pรกgina de documentaciรณn:

Como ejemplo, la aplicaciรณn de esta fรณrmula en tu caso seria la siguiente:

SWITCH(
[MetodoPagoDescripcion],
โ€œCreditoโ€,[MetodoPagoMonto]*0.06,
โ€œDebitoโ€,[MetodoPagoMonto]*0.10,
โ€œCabalโ€,[MetodoPagoMonto]*0.15
)

Puedes colocar esta fรณrmula en una columna comรบn, de modo a tener guardada la informaciรณn de esa comisiรณn o impuesto que estรกs calculando por cada transacciรณn, y podes colocar en otra columna comรบn este cรกlculo que mencionaste:

in the totals my formula is [TotalMP] = [MetodoPagoDescripcion] - ([Credito]+[Debito]+[Cabal])

Si tenes otra duda no dudes en preguntarme 3X_d_5_d51363a862e7ab883241c312ac5d7f271579cdd3.gif

View solution in original post

4 REPLIES 4

Hello @bulgogi94, i see your column names are in spanish, so iโ€™ll answer your question in spanish hehe.

Si en una transacciรณn dada sรณlo puede haber 1 mรฉtodo de pago que se selecciona de una lista, podes hacer ese cรกlculo en una sola columna utilizando la funciรณn SWITCH(), este es el enlace a su pรกgina de documentaciรณn:

Como ejemplo, la aplicaciรณn de esta fรณrmula en tu caso seria la siguiente:

SWITCH(
[MetodoPagoDescripcion],
โ€œCreditoโ€,[MetodoPagoMonto]*0.06,
โ€œDebitoโ€,[MetodoPagoMonto]*0.10,
โ€œCabalโ€,[MetodoPagoMonto]*0.15
)

Puedes colocar esta fรณrmula en una columna comรบn, de modo a tener guardada la informaciรณn de esa comisiรณn o impuesto que estรกs calculando por cada transacciรณn, y podes colocar en otra columna comรบn este cรกlculo que mencionaste:

in the totals my formula is [TotalMP] = [MetodoPagoDescripcion] - ([Credito]+[Debito]+[Cabal])

Si tenes otra duda no dudes en preguntarme 3X_d_5_d51363a862e7ab883241c312ac5d7f271579cdd3.gif

Hola @Rafael_ANEIC-PY, gracias por tu respuesta. Actualmente cree una tabla para los metodos de pago, dado que en este caso varios tipos de metodos de pago pueden ser agregados, por ejemplo si un cliente quiere pagar su producto con una parte en efectivo y otra parte en tarjeta de credito, que pueda hacerlo, y en la transaccion el descuento del impuesto por el uso de tarjeta de credito solamente se aplicaria en el monto asignado como metodo de pago en credito. Es posible utilizar la funcion SWITCH() de esa manera? Desde ya muchas gracias!

Si se puede, pero vas a necesitar separar en columnas diferentes los montos referentes a los diferentes mรฉtodos de pago, como tambiรฉn separar en columnas diferentes la selecciรณn de los mรฉtodos de pago

ยฟPara cualquier transacciรณn sรณlo se permitirรก utilizar como mรกximo 2 mรฉtodos de pago?

En caso de que solo permitas 2 mรฉtodos de pago en uso simultรกneo, tendrias las columnas [MetodoPagoDescripcion1], [MetodoPagoMonto1] y [MetodoPagoDescripcion2], [MetodoPagoMonto2] en las columnas de descripciรณn tendrรญas una referencia a tu tabla de mรฉtodos de pago, y en las columnas de monto especificarias el monto que serรก cubierto con cada uno, probablemente sea buena idea tener una columna que sea โ€œmonto totalโ€, asรญ el monto 2 serรก simplemente la diferencia entre el 1 y el total.

Luego para el cรกlculo del total podes hacer una expresiรณn algebraica que multiplique el producto de las columnas de monto, por los porcentajes respectivos de cada mรฉtodo de pago.

La cantidad de metodos utilizados dependeria de cada cliente, generalmente suele ser 1 solo metodo de pago, pero hay casos en los que clientes utilizaron desde 2 hasta 4 metodos de pago por mas loco que suene, anteriormente los metodos de pago eran una columna en la tabla de venta con el tipo de dato Enum, probe usando EnumList, pero la mejor idea que se me ocurrio fue crear una tabla para metodo de pago, y que sea isPartof de la tabla de Ventas, de esa manera se podran agregar la cantidad de metodos de pago que el usuario desee, el cual no tuvo ningun inconveniente, a excepcion de que indiferentemente del metodo de pago ingresado, el total siempre tiene un descuento por la formula que cree, que probablemente este siendo mal utilizada, y los valores de los impuestos de cada metodo de pago son restados al monto del metodo de pago, sin importar que el metodo de pago seleccionado fuese uno sin impuestos. El monto a abonar por cada metodo de pago deberia ser ingresado manualmente.

Top Labels in this Space