Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Administrator
1 year ago

DAX

Fecha de Nad entre la ubicación Tiempo =
VAR CurrentDateA = 'Cálculo del tipo de viaje'[NAD_Date]
VAR CurrentDateB = 'Cálculo del tipo de viaje'[Fecha NAD después de UTC]
VAR Identificación de la embarcación = 'Cálculo del tipo de viaje'[Vessel_ID]
VAR AnteriorFechaB =
CALCULAR(
MIN('Cálculo del tipo de viaje'[Fecha NAD después de UTC]),
FILTRO(
'Cálculo del tipo de viaje',
'Cálculo del tipo de viaje'[Vessel_ID] = Identificación de la embarcación && -- Asegurar el resumen por ID de buque
'Cálculo del tipo de viaje'[Fecha NAD después de UTC] > CurrentDateB
)
)
VAR ResultVoyageType =
SI(
CurrentDateA > CurrentDateB &&
CurrentDateA < AnteriorFechaB ,
"Considerar","No"
)
DEVOLUCIÓN
ResultVoyageType
He usado este dax para evitar duplicar en la fecha nad, pero si la fecha nad se repite, entonces PreviousDateB viene igual para ambas filas donde la fecha nad es la misma, necesito tomar solo una fila de estas dos filas donde la fecha nad es la misma pero el tipo de viaje es diferente
Se agrega una captura de pantalla, donde viene la primera consideración de las dos filas, dónde debe venir como una considera y otra no


2 Replies

  • Hola @nix - puede modificar su fórmula DAX para incorporar lógica adicional. Esta lógica prioriza las filas en función de un criterio específico (como el tipo de viaje) para evitar duplicados.

    Fecha de Nad entre la ubicación Tiempo =
    VAR CurrentDateA = 'Cálculo del tipo de viaje'[NAD_Date]
    VAR CurrentDateB = 'Cálculo del tipo de viaje' [Fecha NAD después de UTC]
    VAR VesselID = 'Cálculo del tipo de viaje'[Vessel_ID]

    -- Calcule la fecha anterior de NAD después de UTC para la misma identificación de buque
    VAR AnteriorFechaB =
    CALCULAR(
    MIN('Cálculo del tipo de viaje' [Fecha NAD posterior a UTC]),
    FILTRO(
    «Cálculo del tipo de viaje»,
    'Cálculo del tipo de viaje'[Vessel_ID] = VesselID &&
    'Cálculo del tipo de viaje' [Fecha NAD después de UTC] > CurrentDateB
    )
    )

    -- Encuentre el ID de fila mínimo o un identificador distinto para la priorización
    VAR MinRowForSameNADDate =
    CALCULAR(
    MIN('Cálculo del tipo de viaje'[Row_ID]), -- Reemplace 'Row_ID' con una columna única
    FILTRO(
    «Cálculo del tipo de viaje»,
    'Cálculo del tipo de viaje'[Vessel_ID] = VesselID &&
    'Cálculo del tipo de viaje'[NAD_Date] = CurrentDateA
    )
    )

    -- Determinar el resultado
    VAR ResultVoyageType =
    SI(
    CurrentDateA > CurrentDateB &
    CurrentDateA < AnteriorDateB &
    'Cálculo del tipo de viaje'[Row_ID] = MinRowForSameNADDate, -- Asegúrese de que solo una fila obtenga "Considerar"
    "Considere",
    "No"
    )

    DEVOLUCIÓN
    ResultVoyageType

    Compruebe la lógica de DAX anterior y hágaselo saber. Si el problema persiste, comparta también algunos datos de muestra.

  • Hola @nix

    ¿Podría proporcionar más datos sin procesar en sus tablas (excluir datos confidenciales) con formato de texto y su resultado esperado con lógica de backend y ejemplos especiales? Sería útil encontrar la solución. Puede consultar los siguientes enlaces para compartir la información requerida:

    Proporcionar datos de ejemplo en el foro de Power BI

    Cómo obtener respuestas rápidas a su pregunta

    Y es mejor si puedes compartir un archivo pbix simplificado . Puedes consultar el siguiente enlace para subir el archivo a la comunidad. Gracias.

    Cómo subir PBI en Community

    Saludos

    Zhengdong Xu
    Si esta publicación ayuda, considere Acéptalo como la solución para ayudar a los demás miembros a encontrarlo más rápidamente.