Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Icon for Administrator rankAdministrator
1 year ago

Comparar 2 tablas

Hola a todos

He visto algunas publicaciones sobre la comparación de tablas, pero creo que esto podría tener una solución más simple si no lo haces; ¿Te importa ayudar?

Tengo dos mesas, la Tabla A tiene una lista de personal que actualmente tiene un total de 184 filas.

También tengo una tabla de hojas de horas enviadas (por semana) y me gustaría poder seleccionar una semana laboral de una segmentación (Semana 2, por ejemplo) y poder decir que se enviaron 50 hojas de horas y obtener una lista del nombre que no tiene una hoja de horas enviada.

Entonces, en el panel de abajo, me gustaría otra tabla que enumere a las personas que no han completado una hoja de horas durante la semana laboral seleccionada en la cortadora en la esquina superior izquierda.

8 Replies

  • @BarryFletcher Primero

    Cree una medida para contar los partes de horas enviados:

    Hojas de tiempo enviadas = COUNTROWS(Hojas de tiempo)

    Vaya a la vista "Modelo" y cree una relación entre la tabla Personal y la tabla Hojas de horas mediante la columna StaffID.

    Cree una medida para identificar al personal sin hojas de horas:

    StaffWithoutHojas de tiempo =
    CALCULATETABLE(
    VALUES(Staff[StaffName]),
    NO(
    EXISTE(
    Hojas de horas,
    Hojas de horas[StaffID] = Staff[StaffID]
    )
    )
    )

    Agregue un objeto visual de tabla al informe y use la medida StaffWithoutTimesheets para mostrar los nombres del personal que no ha enviado un parte de horas para la semana seleccionada.

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Icon for Administrator rankAdministrator

      Hola @BarryFletcher ,

      En función de los datos, cambie a esta medida:

      MissingFlag = 
      VAR SubmittedUserName=SUMMARIZE(
                  FILTER(ALLSELECTED('Timesheet Hours'),'Timesheet Hours'[NewWorkWeek] = SELECTEDVALUE('Timesheet Hours'[NewWorkWeek])),'Timesheet Hours'[New Staff Name]
              )
      VAR TAG=IF(
              NOT (
                  CONTAINSSTRING ( CONCATENATEX ( SubmittedUserName, 'Timesheet Hours'[New Staff Name], "," ),
                      TRIM(MAX('BLS_Report'[New Staff Name]))
                  )
              ),
              1,
              0
          )
      RETURN TAG

      Para obtener información más detallada, consulte el archivo adjunto a continuación.