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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Syndicate_Admin
Administrator
Administrator

Indexación por fecha con ciertos filtros

Tengo una tabla completa de datos. Las columnas incluyen "Nombre", "Fecha", "Acción realizada"

Lo que quiero es crear una columna de índice para cada vez que la columna Acción realizada sea un "Corrió una milla". Quiero que el índice se ordene antes de la fecha. También sólo quiero que este índice ocurra por nombre.

Por ejemplo, cuando se trabaja correctamente, el índice debe ser el siguiente:

NombreFechaAcción realizadaÍndice
Adán1/1/2020Corrió una milla1
joseph1/3/2020Corrió una milla1
Adán1/5/2020Corrió una milla2
David1/3/2020Nadó
2 ACCEPTED SOLUTIONS

A continuación, simplemente agregue una instrucción IF().

Performed = 
VAR varCurrentName = MAX(Actions[Name])
VAR varCurrentDate = MAX(Actions[Date])
VAR varCurrentAction = MAX(Actions[Action Performed])
RETURN
IF(
    varCurrentAction = "Ran a mile",
    CALCULATE(
        COUNTROWS(Actions),
        FILTER(
            ALL(Actions),
            Actions[Date] <= varCurrentDate
                && Actions[Name] = varCurrentName
                && Actions[Action Performed] = varCurrentAction
        )
    ),
    BLANK()
)

edhans_0-1615908826351.png

A continuación, debe ajustar el objeto visual para que muestre elementos sin valores en Realizado. Haga clic en el menú desplegable Del campo Nombre y seleccione "Mostrar elementos sin datos"

edhans_1-1615908878785.png

EDITAR: en realidad, si usted sólo está interesado en Ran a Mile, usted podría codificar duro eso y simplificar el dax un poco.

Performed = 
VAR varCurrentName = MAX(Actions[Name])
VAR varCurrentDate = MAX(Actions[Date])
RETURN
    CALCULATE(
        COUNTROWS(Actions),
        FILTER(
            ALL(Actions),
            Actions[Date] <= varCurrentDate
                && Actions[Name] = varCurrentName
                && Actions[Action Performed] = "Ran a mile"
        )
    )

Todavía tiene que ajustar el objeto visual para mostrar elementos sin datos.

View solution in original post

Gracias por la imagen. Veo lo que pasó. Lo agregó como una columna calculada. Elimínelo y agréguelo como medida.

View solution in original post

10 REPLIES 10
Syndicate_Admin
Administrator
Administrator

Esto funcionaría @mmiculcy

Performed = 
VAR varCurrentName = MAX(Actions[Name])
VAR varCurrentDate = MAX(Actions[Date])
VAR varCurrentAction = MAX(Actions[Action Performed])
RETURN
CALCULATE(
    COUNTROWS(Actions),
    FILTER(
        ALL(Actions),
        Actions[Date] <= varCurrentDate
            && Actions[Name] = varCurrentName
            && Actions[Action Performed] = varCurrentAction
    )
)

edhans_0-1615847265150.png

No me gustaría que David tuviera un 1 en Performed.

El criterio es que si el individuo "Corrió una milla" entonces deben tener un valor en realizado.

A continuación, simplemente agregue una instrucción IF().

Performed = 
VAR varCurrentName = MAX(Actions[Name])
VAR varCurrentDate = MAX(Actions[Date])
VAR varCurrentAction = MAX(Actions[Action Performed])
RETURN
IF(
    varCurrentAction = "Ran a mile",
    CALCULATE(
        COUNTROWS(Actions),
        FILTER(
            ALL(Actions),
            Actions[Date] <= varCurrentDate
                && Actions[Name] = varCurrentName
                && Actions[Action Performed] = varCurrentAction
        )
    ),
    BLANK()
)

edhans_0-1615908826351.png

A continuación, debe ajustar el objeto visual para que muestre elementos sin valores en Realizado. Haga clic en el menú desplegable Del campo Nombre y seleccione "Mostrar elementos sin datos"

edhans_1-1615908878785.png

EDITAR: en realidad, si usted sólo está interesado en Ran a Mile, usted podría codificar duro eso y simplificar el dax un poco.

Performed = 
VAR varCurrentName = MAX(Actions[Name])
VAR varCurrentDate = MAX(Actions[Date])
RETURN
    CALCULATE(
        COUNTROWS(Actions),
        FILTER(
            ALL(Actions),
            Actions[Date] <= varCurrentDate
                && Actions[Name] = varCurrentName
                && Actions[Action Performed] = "Ran a mile"
        )
    )

Todavía tiene que ajustar el objeto visual para mostrar elementos sin datos.

mmiculcy_0-1615927502166.png

Puede que me esté perdiendo algo, lo siento.

Gracias por la imagen. Veo lo que pasó. Lo agregó como una columna calculada. Elimínelo y agréguelo como medida.

Error de novato. Te agradezco que te quedas conmigo aquí.

Encantado de ayudar. Espero que no le importe, pero voy a marcar mi respuesta de medida real como la solución para que pueda ser visto rápidamente por cualquier otra persona navegando por este hilo. ¡Espero que su proyecto siga avanzando!

Lamentablemente, la columna realizada no muestra resultados. No estoy seguro de si está de mi parte.

Debe ser como funciona con los datos de los que publiqué una imagen. Puede confirmar que todas las columnas tienen los tipos configurados correctamente. Por ejemplo, no es una fecha si parece una fecha, pero no se establece en el tipo de datos DATE en Power Query. No debe haber tipos de datos ABC/123. Son impredecibles.

Si eso no es todo, por favor publique capturas de pantalla de su tabla en Power Query y podemos ir desde allí.

mmiculcy_1-1615927578680.png

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

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

Top Solution Authors