Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Icon for Administrator rankAdministrator
4 years ago
Solved

Power BI DAX

Hola, ¿alguien podría ayudarme este DAX?

Fecha HorasUsoOcupación
27-feb 251
27-feb 472
27-feb 783
27-feb331
27-feb921
27-feb542
27-feb716
27-feb365
27-feb813
27-feb1032
26-feb1241
26-feb1461
26-feb614
26-feb816
26-feb1024
26-feb142
26-feb331
26-feb1373

Basándome en estos datos, necesito escribir un DAX para seleccionar las 4 veces más altas para cada día cuando el uso + ocupación es alto. ¿Alguien podría ayudar?

  • Syndicate_Admin's avatar
    Syndicate_Admin
    4 years ago

    En ella @Learner_SG ,

    Entiendo. Aquí está mi solución.

    1.Cree una medida de comprobación.

    Check = IF(MAX('Sheet4'[Parsed_Date])=TODAY()-7,1)

    Coloque la medida en el filtro visual y deje que el valor sea 1.

    2. Crea una medida de rango.

    Rank =
    RANKX (
        FILTER ( ALL ( 'Sheet4' ), 'Sheet4'[Parsed_Date] = TODAY () - 7 ),
        CALCULATE ( SUM ( 'Sheet4'[WC Water Consumption(mL)] ) ),
        ,
        DESC,
        DENSE
    )
    

    Coloque la medida en el filtro visual y deje que el valor < = 4, obtenga el resultado correcto.

    Adjunto mi muestra a continuación como referencia.

    Saludos
    Equipo de apoyo a la comunidad _ kalyj

    Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

24 Replies

  • Hola

    ¿Puedes probar a continuación medir y usarlo como filtro visual, por favor?

    rango =

    RANKX
    (
    TODOSEXCEPTO('Tabla',«Tabla»[Fecha]),
    [usage_occ],
    ,
    DESC,
    Saltarse
    )
    coskuersanli_0-1646122872782.png

  • En ella @Learner_SG ,

    ¿Te refieres a mostrar los 4 tiempos más altos en los últimos 7 días? Si este es el caso, aquí está mi solución.

    1.Cree una tabla de fechas.

    Date = CALENDAR(DATE(2022,1,1),TODAY())

    2.Haga una relación entre las dos tablas, tenga en cuenta que la fecha analizada debe ser Tipo de fecha.

    3.Coloque la columna de fecha en una segmentación de datos, seleccione Fecha relativa>Última 7 días.

    4.In el filtro visual, coloque consumo de agua wc en el cuadro debajo de "Por valor" y seleccione Top 4.

    Siempre obtendrá los 4 valores principales en los últimos 7 días.

    Adjunto mi muestra a continuación como referencia.

    Saludos
    Equipo de apoyo a la comunidad _ kalyj

    Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Icon for Administrator rankAdministrator

      Hola @v-kalyj-msft , gracias por la explicación detallada y la solución. De hecho mi requisito es que , necesito mostrar en la tabla , datos anteriores del 7º día. eso significa que, si muestro el tablero hoy (viernes), debería mostrarme la hora más alta de los 4 del viernes pasado cuando el uso + ocupación es alta y cambiará cada día. Espero que esté claro ahora. Lo siento, si mi redacción anterior de la oración causó confusión. ¿Podría guiarme en esto?

      • Syndicate_Admin's avatar
        Syndicate_Admin
        Icon for Administrator rankAdministrator

        En ella @Learner_SG ,

        Entiendo. Aquí está mi solución.

        1.Cree una medida de comprobación.

        Check = IF(MAX('Sheet4'[Parsed_Date])=TODAY()-7,1)

        Coloque la medida en el filtro visual y deje que el valor sea 1.

        2. Crea una medida de rango.

        Rank =
        RANKX (
            FILTER ( ALL ( 'Sheet4' ), 'Sheet4'[Parsed_Date] = TODAY () - 7 ),
            CALCULATE ( SUM ( 'Sheet4'[WC Water Consumption(mL)] ) ),
            ,
            DESC,
            DENSE
        )
        

        Coloque la medida en el filtro visual y deje que el valor < = 4, obtenga el resultado correcto.

        Adjunto mi muestra a continuación como referencia.

        Saludos
        Equipo de apoyo a la comunidad _ kalyj

        Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.