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 726
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