Forum Discussion
Anonymous
5 years agoNot applicable
Problema de Dax
Hola a todos En esta captura de pantalla se inicia el pedido del cliente y el éxito del pago está en el mismo txn id que queremos que se complete la transacción o de lo contrario el client...
- 5 years ago
Hola,@Muthuvel_s
De acuerdo con su descripción, creo que puede crear una columna para calcular el resultado deseado, así:
Column = VAR a = CALCULATETABLE ( DISTINCT ( 'Table'[TXN-OID] ), FILTER ( ALL ( 'Table' ), [TXN-STATUS] = "ORDER_INITIATED" ) ) VAR c = CALCULATETABLE ( DISTINCT ( 'Table'[TXN-OID] ), FILTER ( ALL ( 'Table' ), [TXN-STATUS] = "PAYMENT_SUCCESS" ) ) RETURN IF ( [TXN-OID] IN a && [TXN-OID] IN c, "completed", "payment failed" )O:
Column 2 = VAR a = COUNTROWS ( FILTER ( 'Table', [TXN-OID] = EARLIER ( 'Table'[TXN-OID] ) && [TXN-STATUS] = "ORDER_INITIATED" ) ) VAR b = COUNTROWS ( FILTER ( 'Table', [TXN-OID] = EARLIER ( 'Table'[TXN-OID] ) && [TXN-STATUS] = "PAYMENT_SUCCESS" ) ) RETURN IF ( b > 0 && a > 0, "completed", "payment failed" )Si no resuelve su problema, por favor no dude en preguntarme.
Saludos
Janey Guo
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
d_gosbell
Super User
5 years agoHmm, en una suposición que probablemente significa que tiene al menos 1 TXN_OID que tiene varias filas con el mismo valor de status_update_datetime.
Puede evitarlo haciendo lo siguiente y simplemente comprobando si una de esas filas contiene un estado "PAYMENT_SUCCESSFUL"
Payment Status =
var txnOid = [TXN_OID]
var maxDate = MAXX( FILTER(ALL(Transactions[TXN_OID], Transactions[STATUS_UPDATE_DATETIME]), Transactions[TXN_OID] = txnOid), Transactions[STATUS_UPDATE_DATETIME])
var lastStatus = COUNTROWS(FILTER(Transactions, Transactions[TXN_STATUS] = "PAYMENT_SUCCESSFUL" && Transactions[TXN_OID] && txnOid && Transactions[STATUS_UPDATE_DATETIME] = maxDate))
return if( lastStatus >= 1 , "completed", "payment failed")