Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.
Tengo 2 tablas en dax :
Tabla Crédito con columna creditbureaureference
Tabla DueAmount con columna con duevaluedate
las relaciones entre ellos
Tabla Crédito (pkey) a DueAmount(creditfk) es de 1 a muchos y el filtro está en ambas direcciones
Estoy usando la columna creditbureaureference de la tabla Credit and duevaluedate de DueAmount en un objeto visual de tabla:
CreditBureauReference DebitValueDate
1 04/02/2024
1 05/02/2024
1 06/02/2024
2 07/02/2024
2 25/12/2023
Quiero obtener la fecha más antigua de vencimiento para cada referencia de buró de crédito como se muestra a continuación:
creditbureaureference duevaluedate Indicador
1 04/02/2024 1 --- en comparación con las 3 filas de CreditBureauReference = 1 Esta es la fecha más antigua
1 05/02/2024 0
1 06/02/2024 0
1 04/02/2023 1
2 07/02/2024 0
2 25/12/2023 1 --- en comparación con las 2 filas de CreditBureauReference = 2 Esta es la fecha más antigua
Utilicé esta columna calculada:
Flag =
VAR MinDate =
CALCULATE (
MIN ( 'DueAmount'[duevaluedate] ),
ALLEXCEPT ( 'DueAmount', 'DueAmount'[creditfk] )
)
RETURN
IF ( 'DueAmount'[duevaluedate] = MinDate, 1, 0 )
Ahora, cuando uso esta columna calculada como segmentación:
Year Slicer = YEAR('DueAmount'[duevaluedate])
Obtengo toda la columna Bandera como 0, mientras que el resultado esperado debería ser calcular la Bandera por año:
Si selecciono 2024, mostrará:
CreditBureauReference DebitValueDate
1 04/02/2024
2 07/02/2024
Solved! Go to Solution.
Terminé usando esta columna calculada:
Flag =
VAR CurrentYear = YEAR('DueAmount'[duevaluedate])
VAR MinDatePerYearAndCredit =
CALCULATE(
MIN('DueAmount'[duevaluedate]),
ALLEXCEPT('DueAmount', 'Credit'[creditbureaureference]),
YEAR('DueAmount'[duevaluedate]) = CurrentYear
)
RETURN
IF('DueAmount'[duevaluedate] = MinDatePerYearAndCredit, 1, 0)
Terminé usando esta columna calculada:
Flag =
VAR CurrentYear = YEAR('DueAmount'[duevaluedate])
VAR MinDatePerYearAndCredit =
CALCULATE(
MIN('DueAmount'[duevaluedate]),
ALLEXCEPT('DueAmount', 'Credit'[creditbureaureference]),
YEAR('DueAmount'[duevaluedate]) = CurrentYear
)
RETURN
IF('DueAmount'[duevaluedate] = MinDatePerYearAndCredit, 1, 0)
Hola, @AmiraBedh
Gracias por la respuesta de @amitchandak , permítanme proporcionar otra idea:
A partir de su información, creo la tabla:
En primer lugar, cree una columna de cálculo denominada Año :
Year = YEAR('DueAmount'[duevaluedate])
A continuación, cree una nueva medida y pruebe el siguiente DAX:
Flag Measure =
VAR SelectedYear = MAX('DueAmount'[Year])
VAR MinDatePerYear =
CALCULATE(
MIN('DueAmount'[duevaluedate]),
ALLEXCEPT('DueAmount', 'DueAmount'[creditbureaureference]),
YEAR('DueAmount'[duevaluedate]) = SelectedYear
)
VAR _Date = MIN('DueAmount'[duevaluedate])
RETURN
IF(
YEAR(_Date) = SelectedYear && _Date = MinDatePerYear,
1
)
Y aquí está mi vista previa:
Cómo obtener respuestas rápidas a tu pregunta
Saludos
Yongkang Hua
Si esta publicación ayuda, considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Gracias por su ayuda, el problema es que la referencia de la oficina de crédito solo existe en la tabla Crédito. ¿Cómo debo proceder de esta manera?
@AmiraBedh , Pruebe una medida como
Primera fecha = var _max = minx(filter(ALLSELECTED('DueAmount'), 'DueAmount'[creditbureaureference ] = Max('DueAmount'[creditbureaureference ])), 'DueAmount'[duevaluedate])
devolución
CALCULATE(min('DueAmount'[duevaluedate]), filter(('DueAmount') , 'DueAmount'[duevaluedate] =_max))
Gracias por su ayuda, el problema es que la referencia de la oficina de crédito solo existe en la tabla Crédito. ¿Cómo debo proceder de esta manera?