Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Icon for Administrator rankAdministrator
2 years ago

indefinido

Hola, como usuario novato, estoy luchando por escribir una consulta (DAX, Power Query o M query) para lograr algo aquí. Tengo tres tablas: Usuarios, Calendario y Usuarios por semana:

En función de las tablas UsersByWeek y Calendar, a los usuarios Azul y Amarillo les faltan semanas:

Necesito una nueva columna agregada a la tabla USERS para almacenar la primera semana que falta #(Calendar.Index) por usuario. Si no falta ninguna semana (como es Verde y Rojo), entonces la primera Semana # es 0 (cero). Este es el resultado deseado:

¿Alguien puede ayudar a lograr esto, por favor?

6 Replies

  • @KumarPatel80 , Pruebe medidas como

    M1 = countrows(userbyweek)

    M2= Sumx(Valores(Usuario[usuario]), calcular( countx(Valores(calendario[Semana Año]), if(isblank([M1]), [Semana Año], blank())) ))

    Muy similar a

    Artículos/categorías de Power BI no vendidos a los clientes: https://youtu.be/AbuKvAnicwo

      • Syndicate_Admin's avatar
        Syndicate_Admin
        Icon for Administrator rankAdministrator

        Hola @KumarPatel80 ,

        SI desea filtrar más de 2 semanas, puede aplicar esta medida al filtro visual:

        Debido a que la medida no se puede aplicar a la segmentación, este método puede lograr su idea.

        Saludos

        Xianda Tang

        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.

  • Hola @KumarPatel80 ,

    A continuación se muestra mi tabla1:

    A continuación se muestra mi tabla2:

    A continuación se muestra mi tabla3:

    Puede crear una medida para lograrlo:

    FirstMissingWeek1 = 
    VAR UserWeeks = 
        CALCULATETABLE(
            VALUES('USERSBYWEEK'[WC_Date]),
            'UsersByWeek'[User] = SELECTEDVALUE(USER[User])
        )
    VAR AllWeeks = VALUES('CALENDAR'[WC_Date])
    VAR MissingWeeks = EXCEPT(AllWeeks, UserWeeks)
    VAR FirstMissingWeek = MINX(MissingWeeks, 'CALENDAR'[Measure])
    RETURN
        IF(ISBLANK(FirstMissingWeek), 0, FirstMissingWeek)
    Measure = 
         SELECTEDVALUE('CALENDAR'[Index])

    El resultado final será el siguiente:

    Saludos

    Xianda Tang

    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.

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Icon for Administrator rankAdministrator

      Hola v-xiandat-msft,

      Esa solución es perfecta, excepto si hay de alguna manera para contener a los que están en

      ¿Valores de 'FirstMissingWeek1' en la tabla USERS? La razón por la que pregunto es porque me gustaría introducir una segmentación para filtrar registros por semanas faltantes mayores que 2, por ejemplo. Gracias