Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Prepping for a Fabric certification exam? Join us for a live prep session with exam experts to learn how to pass the exam. Register now.

Reply
Syndicate_Admin
Administrator
Administrator

0 si no se ha iniciado

Hola buen día alguien puede ayudarme en mi mesa, lo que requería es que si la columna de horas del plan aún no se inició, la columna ganada debe ser 0.

Código de columna Mis ganados:

Ganado =
CALCULAR (
SUMA ( 'Mesa'[Ganado] ),
FILTRO (
TODO ( 'Mesa' ),
'Mesa'[Fecha de progreso] = ANTERIOR ( 'Tabl02'[Fecha del plan] )
&& 'Mesa'[Ubicación] = ANTERIOR ( 'Tabl02'[No. de tarea] )
&& 'Mesa'[Modo] = ANTERIOR ( 'Tabl02'[Modo A] )
)
)
AllanBerces_0-1746406723323.png

RESULTADO: ya que mi proyecto comenzará recién el 05 de mayo de 2025

AllanBerces_1-1746406776842.png

Gracias

11 REPLIES 11
Syndicate_Admin
Administrator
Administrator

@AllanBerces ,

¿Puedo preguntarle si ha resuelto este problema? Si es así, marque la respuesta útil y acéptela como la solución. Esto será útil para que otros miembros de la comunidad que tengan problemas similares lo resuelvan más rápido.

Gracias.

Syndicate_Admin
Administrator
Administrator

Hola

Comparta algunos datos sin procesar con los que trabajar y muestre el resultado esperado. Comparta datos en un formato que se pueda pegar en un archivo de MS Excel.

Syndicate_Admin
Administrator
Administrator

@AllanBerces ,

Gracias por ponerse en contacto con el foro de la comunidad de Microsoft Fabric.

En función de sus requisitos, desea que el valor acumulado se establezca en 0 hasta la fecha de inicio del proyecto (5 de mayo de 2025) y, a continuación, calcule el valor acumulado utilizando la lógica existente a partir de ese momento.

Para ello, puede modificar la medida Earned agregando una condición que compruebe si PlanDate es anterior a la fecha de inicio. A continuación, se muestra una versión actualizada de la medida Earned (Ganado):

Earned =
IF (
    MAX('Tabl02'[PlanDate]) < DATE(2025, 5, 5),
    0,
    CALCULATE (
        SUM ( 'Table'[Earned] ),
        FILTER (
            ALL ( 'Table' ),
            'Table'[Progress Date] = EARLIER ( 'Tabl02'[PlanDate] )
                && 'Table'[Location] = EARLIER ( 'Tabl02'[TaskNo] )
                && 'Table'[Mode] = EARLIER ( 'Tabl02'[A -Mode] )
        )
    )
)

Con esta modificación: Si PlanDate es anterior al 5 de mayo de 2025, el valor acumulado se establecerá en 0. Si PlanDate es el 5 de mayo de 2025 o después, la lógica existente calculará el valor acumulado según lo previsto.

Como alternativa, si prefiere un enfoque más dinámico, en el que la comparación se basa en la fecha actual en lugar de en una fecha fija, puede utilizar la siguiente fórmula:

Earned =
IF (
    MAX('Tabl02'[PlanDate]) < TODAY(),
    0,
    CALCULATE (
        SUM ( 'Table'[Earned] ),
        FILTER (
            ALL ( 'Table' ),
            'Table'[Progress Date] = EARLIER ( 'Tabl02'[PlanDate] )
                && 'Table'[Location] = EARLIER ( 'Tabl02'[TaskNo] )
                && 'Table'[Mode] = EARLIER ( 'Tabl02'[A -Mode] )
        )
    )
)

Esta versión utiliza la función TODAY() para calcular dinámicamente el valor acumulado en función de la fecha actual.

Espero que esto resuelva su problema, si necesita más ayuda, no dude en comunicarse.

Si esta publicación ayuda, felicitarnos y considerar Acéptalo como una solución para ayudar a los demás miembros a encontrarlo más rápidamente.

Gracias.

Hola @v-tsaipranay muchas gracias por la respuesta, pero cuando pruebo la solución, todavía se refleja algo de valor en mi columna Earned

@AllanBerces ,

Gracias por sus comentarios y le agradezco que pruebe la solución sugerida.

Según su aclaración, parece que la condición principal para mostrar Earned = 0 está vinculada directamente a la columna Plan Hrs específicamente cuando el valor es cero (lo que indica que la tarea no se ha iniciado). Es posible que la lógica anterior basada en la fecha no solucione completamente este problema.

Pruebe la siguiente medida revisada del DAX que incluye una verificación de las horas del plan:

Earned =
IF (
    'Tabl02'[Plan Hrs] = 0,
    0,
    CALCULATE (
        SUM ( 'Table'[Earned] ),
        FILTER (
            ALL ( 'Table' ),
            'Table'[Progress Date] = EARLIER ( 'Tabl02'[PlanDate] )
                && 'Table'[Location] = EARLIER ( 'Tabl02'[TaskNo] )
                && 'Table'[Mode] = EARLIER ( 'Tabl02'[A -Mode] )
        )
    )
)

Con esta actualización:

  • Si Plan Hrs = 0, la columna Earned devolverá 0.
  • De lo contrario, calculará el valor obtenido según la lógica existente.

Por favor, hágamelo saber si esto ahora se alinea con sus expectativas o si se necesitan más ajustes.

Si esto ayuda, considere amablemente marcar esto como una solución para futuras referencias a otros también.

¡Gracias!

Hola @AllanBerces ,

Quería comprobar si ha tenido la oportunidad de revisar la información proporcionada. No dude en ponerse en contacto con nosotros si tiene más preguntas. Si mi respuesta ha abordado su consulta, acéptela como una solución y dé un 'Felicitaciones' para que otros miembros puedan encontrarla fácilmente.


Gracias.

Hola @v-tsaipranay gracias por la respuesta, pero desafortunadamente hay veces que mi plan es 0 pero ejecutan el trabajo temprano que necesitan reflejarse en mis horas ganadas.

@AllanBerces ,

Tienes razón, usar Plan Hrs = 0 para decidir si una tarea ha comenzado no siempre funciona, especialmente si el trabajo comienza temprano sin horas planificadas.

Por lo tanto, en lugar de verificar las horas del plan, solo debemos devolver 0 en la columna Ganado si aún no se ha registrado ningún trabajo real.

Esta es una medida actualizada que hace precisamente eso:

Earned =
VAR EarnedCalc =
    CALCULATE (
        SUM ( 'Table'[Earned] ),
        FILTER (
            ALL ( 'Table' ),
            'Table'[Progress Date] = EARLIER ( 'Tabl02'[PlanDate] ) &&
            'Table'[Location] = EARLIER ( 'Tabl02'[TaskNo] ) &&
            'Table'[Mode] = EARLIER ( 'Tabl02'[A -Mode] )
        )
    )
RETURN
IF (
    ISBLANK(EarnedCalc),
    0,
    EarnedCalc
)

Esto mostrará 0 solo si no se encuentra ninguna hora ganada. Si se realiza algún trabajo, mostrará el valor real.

Si el problema persiste después de hacer lo anterior, proporcione datos de muestra como se menciona en @Ashish_Excel .

Si esta publicación ayuda, felicitarnos y considerar Acéptalo como una solución para ayudar a los demás miembros a encontrarlo más rápidamente.

Gracias.

Hola @v-tsaipranay muchas gracias por la respuesta, todos los productos

Hola @AllanBerces ,

Quería comprobar si ha tenido la oportunidad de revisar la información proporcionada. No dude en ponerse en contacto con nosotros si tiene más preguntas. Si mi respuesta ha abordado su consulta, acéptela como una solución y dé un 'Felicitaciones' para que otros miembros puedan encontrarla fácilmente.


Gracias.

Syndicate_Admin
Administrator
Administrator

O puede actualizar mi código, el valor ganado se capturará solo cuando mi proyecto comience el 5 de mayo de 2025 en adelante.

Helpful resources

Announcements
May PBI 25 Carousel

Power BI Monthly Update - May 2025

Check out the May 2025 Power BI update to learn about new features.

Notebook Gallery Carousel1

NEW! Community Notebooks Gallery

Explore and share Fabric Notebooks to boost Power BI insights in the new community notebooks gallery.

May 2025 Monthly Update

Fabric Community Update - May 2025

Find out what's new and trending in the Fabric community.

Top Solution Authors
Top Kudoed Authors