Forum Discussion
Visual usando USERELATIONSHIP
- 3 years ago
Hola
Lo resolví yo mismo.
Gracias.
En la línea 18, estaba usando la fecha de la tabla del calendario como comparación.
Cuando lo cambié a Fecha de finalización del contrato, da como resultado el número correcto.
El DAX completo:Value of Contract Expected to be Ended = var _CurrentProdDate = CALCULATE( MAXX( Production, Production[Date] ), ALL( 'Calendar Date'[Date] ), Production[Status] = "Being Processed" ) var _ContractToBeEnded = SUMX ( VALUES ( Contract[Customer] ), CALCULATE ( MAX ( Contract[Annual Contract Value] ), Contract[Contract End Date] >= _CurrentProdDate, USERELATIONSHIP ( Contract[Contract End Date], 'Calendar Date'[Date] ) ) ) return _ContractToBeEnded
Gracias por el recordatorio.
Aquí están los datos de la tabla de origen.
| Cliente | Valor anual del contrato | Fecha de actividad | Fecha de inicio del contrato | Fecha de finalización del contrato |
| Cust A | 40,000 | 31-dic-19 | 1-mar-18 | 28-feb-23 |
| Cust A | 50,000 | 31-dic-20 | 1-mar-18 | 28-feb-23 |
| Cust A | 55,000 | 31-dic-21 | 1-mar-18 | 28-feb-23 |
| Cust A | 60,000 | 31-dic-22 | 1-mar-18 | 28-feb-23 |
| Cust A | 75,000 | 28-feb-23 | 1-mar-18 | 28-feb-23 |
| Cust B | 75,000 | 31-dic-19 | 1-jun-19 | 31-may-22 |
| Cust B | 75,000 | 31-dic-20 | 1-jun-19 | 31-may-22 |
| Cust B | 50,000 | 31-dic-21 | 1-jun-19 | 31-may-22 |
| Cust B | 50,000 | 31-may-22 | 1-jun-19 | 31-may-22 |
| Cust C | 10,000 | 31-dic-21 | 1-may-21 | 30-abr-23 |
| Cust C | 15,000 | 31-dic-22 | 1-may-21 | 30-abr-23 |
| Cust C | 15,000 | 30-abr-23 | 1-may-21 | 30-abr-23 |
| Cust D | 25,000 | 31-dic-22 | 1-sep-22 | 31-ago-24 |
| Cust D | 50,000 | 31-dic-23 | 1-sep-22 | 31-ago-24 |
| Cust D | 50,000 | 31-ago-24 | 1-sep-22 | 31-ago-24 |
Y el resultado esperado en la vista de tabla
| Mes | Valor del contrato que se espera que finalice |
| 2023-02 | 75000 |
| 2023-04 | 15000 |
| 2024-08 |
¿Cuál es la importancia de la fecha de inicio del contrato? ¿Es parte del problema?
- Syndicate_Admin3 years agoAdministrator
La fecha de inicio del contrato no es el problema ahora, y no hay necesidad de amortizar el contrato durante el año.
¿Su objeto visual usa el período de la tabla del calendario?
- Syndicate_Admin3 years agoAdministrator
Hola
Lo resolví yo mismo.
Gracias.
En la línea 18, estaba usando la fecha de la tabla del calendario como comparación.
Cuando lo cambié a Fecha de finalización del contrato, da como resultado el número correcto.
El DAX completo:Value of Contract Expected to be Ended = var _CurrentProdDate = CALCULATE( MAXX( Production, Production[Date] ), ALL( 'Calendar Date'[Date] ), Production[Status] = "Being Processed" ) var _ContractToBeEnded = SUMX ( VALUES ( Contract[Customer] ), CALCULATE ( MAX ( Contract[Annual Contract Value] ), Contract[Contract End Date] >= _CurrentProdDate, USERELATIONSHIP ( Contract[Contract End Date], 'Calendar Date'[Date] ) ) ) return _ContractToBeEnded - Syndicate_Admin3 years agoAdministrator
Además, me gustaría mostrar el valor del contrato para el año del año de producción actual y en el futuro. Por lo tanto, no se requiere el año anterior.
Entonces, es por eso que estoy agregando un filtro:
'Fecha del calendario'[Fecha]>= _CurrentProdDateoContrato[Fecha de finalización del contrato]>= _CurrentProdDatePero esto no funcionó.- Syndicate_Admin3 years agoAdministrator
Muestre el resultado esperado en función de los datos de muestra que proporcionó.