Múltiples métodos de pago en una transacción

Un usuario Pregunto ✅

Jayshamone

Hola,

Queremos darles a nuestros clientes una descripción general de lo que han comprado utilizando su código de cupón individual.

La configuración básica sería esta:
Hay una tabla de transacciones conectada a una tabla de pagos_transmisión que, de nuevo, está conectada a una tabla de pagos.

Dado que una transacción se puede pagar mediante varios métodos de pago (una parte mediante un vale, otra parte en efectivo, …).

En SQL, simplemente podría escribirlo así:

Jayshamone_0-1610958106672.png

¿Cómo se puede hacer esto en Analysis Services?

El diseño aquí es un poco diferente. Para una mejor estructura, los códigos de los cupones están escritos en la tabla de pagos.

Jayshamone_0-1610959284444.png

Sin embargo, si filtran su código, los clientes ven su transacción completa y todos los artículos que compraron.

Pero la cantidad pagada no coincide con la suma de los valores de la transacción, si se utilizaron varios métodos de pago.

¿Cómo puedo modelar esto en Analysis Services para representar estas transacciones?

Gracias

Solo nosotros

Jayshamone

Encontré una solución que obtiene los resultados correctos, pero que puede ser bastante ineficaz al manejar una gran cantidad de datos.

Básicamente, puede usar otra tabla que incluya todas las combinaciones de ID de pago e ID de transacción que puede usar para filtrar. Relacione eso con la tabla de transacciones y deje el resto como está. Esto debería otorgarle los resultados correctos.

Jayshamone_0-1610972658132.png

Gracias por tu ayuda

Si tiene alguna idea de cómo administrar esto de manera más eficiente, le agradecería

Jayshamone

Encontré una solución que obtiene los resultados correctos, pero que puede ser bastante ineficaz al manejar una gran cantidad de datos.

Básicamente, puede utilizar otra tabla que incluya todas las combinaciones de ID de pago e ID de transacción que puede utilizar para filtrar. Relacione eso con la tabla de transacciones y deje el resto como está. Esto debería otorgarle los resultados correctos.

Jayshamone_0-1610972658132.png

Gracias por tu ayuda

Si tiene alguna idea de cómo administrar esto de manera más eficiente, le agradecería

TarunSharma

Hola @Jayshamone,
¿Puede proporcionar los datos de muestra después de eliminar los datos confidenciales?
¿Cuál es el uso de la unión cruzada aquí?

Jayshamone

En respuesta a TarunSharma

Gracias por su rápida respuesta.

Sin la unión cruzada, consigo todos las transacciones en el período de tiempo seleccionado.

A continuación, se muestran algunos datos de muestra para un código de cupón:

Jayshamone_0-1610962944411.png

Amitchandak

@Jayshamone, una forma en la que puedo pensar a alto nivel es fusionar Trans_payment + Payments en una tabla y usarla

Jayshamone

En respuesta a Amitchandak

Pero si filtro el código del cupón dentro de la tabla combinada, ¿no recibiré los pagos del cupón y no de los otros métodos de pago?

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *