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

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

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
RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

MayPowerBICarousel

Power BI Monthly Update - May 2024

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

LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.