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

Mostrar la lista de selección inversa de la segmentación de fecha y rama

Tengo un informe de la fuerza de trabajo que muestra una lista de cuidadores que trabajaron durante un período y qué días junto con un total de horas trabajadas. Esto está impulsado por una tabla de calendario y una tabla de lista de ramas a la que tengo dos segmentaciones de datos en el informe para controlar, por lo que el usuario puede seleccionar la rama y luego las fechas (hacia y desde el control deslizante) y le muestra quién trabajó en este período. La tabla de calendario tiene varios campos que permiten diferentes tipos de desglose.

Ejemplo de tabla de calendario;

Nombres de columna; Fecha, DowID, Weekstart, WeekID, MonthYear, MonthID, Year, DayType, Quarter

Valores de ejemplo; 01 de julio de 2020, 3, 29/06/2020, 1, Jul-20, 1, 2020, Miércoles, WD, 3

Valores de ejemplo; 02 de julio de 2020, 3, 29/06/2020, 1, Jul-20, 1, 2020, Jueves, WD, 3

Ejemplo de tabla Officename;

Nombres de columna; Número, DBName, Descripción, Administrador de operaciones, NombreDe Office

Valores de ejemplo; 1, db_Glasgow, Glasgow, Escocia, Care Glasgow

Valores de ejemplo; 1, db_IOW, Isla de Wight, Sur, Isla de Cuidado de Wight

Mi tabla WorkforceDetailed tiene este aspecto (una línea por fecha de trabajo del cuidador y un total de horas)

Ejemplo de tabla WorkforceDetailed;

Nombres de columna; Officename, Carercode, CarerName, Actuals, Total Bookings, Horas

Valores de ejemplo; Glasgow, 301540, Sra. Parter, 07/07/2020, 3, 5.5

Valores de ejemplo; Glasgow, 301540, Sra. Parter, 08/07/2020, 2, 3

Valores de ejemplo; Isla de Wight, 745688, Sra. Seymour, 07/07/2020, 1, 2

Lo que funciona perfectamente es que tengo el vínculo de tabla de Officename a WorkforceDetailed en la columna Officename y Date de la tabla de calendario a Actuals en la tabla WorkforceDetailed que me permite seleccionar un Officename y el período date y me muestra quién trabajó, a la que puedo totalizar horas y crear gráficos. También puedo trabajar un total de cuidadores que estaban disponibles para trabajar, pero no lo hizo en el período de fecha. Esta medida fue creada por una tabla WorkforceSummary que enumera las fechas del contrato de inicio y fin de los cuidadores. Al crear la siguiente medida puedo dar un recuento de estos y luego deducir esta cifra del total de filas en la tabla,

Período de disponibilidad: VAR endOfPeriod ( 'CalendarTable'[Date] )
VAR startOfPeriod ? MIN( 'CalendarTable'[Fecha] )

RETORNO CALCULAR
(
DISTINCTCOUNT('WorkforceSummary'[CarerKey]), FILTER ( ALL('WorkforceSummary'),
O ( 'WorkforceSummary'[DateStarted] < endOfPeriod && 'WorkforceSummary'[LeaveDate] >' startOfPeriod), ( 'WorkforceSummary'[DateStarted] < endOfPeriod && 'WorkforceSummary'[LeaveDate] ? BLANK())
)
))

Luego creé la siguiente medida para mostrar estos resultados

Inactivo en el período [Avail en el período] - ( DISTINCTCOUNT(WorkforceDetailed[Carercode]))

Sin embargo, estoy tratando de crear una lista de los cuidadores que estaban inactivos en el período, por lo que los que han sido filtrados por la segmentación de fecha solamente. El filtro de combinación de tabla Officename todavía se puede aplicar, ya que sería ideal para ver esto por Office todavía. Esto tendría que estar en una vista de tabla que enumera Carercode, Forename y Surname. Puedo ver que powerBI no apoya directamente esto, pero si hay un truco para esto? Soy un usuario bastante nuevo para powerBI, así que por favor proporcione los pasos para cualquier versión adicional de una tabla que se creará. Es posible que esto no sea posible para esto se haga dinámicamente también, por lo que si el usuario cambia los controles deslizantes de fecha?

Gracias

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

No @Beavertron ,

En función de la información que haya enviado a donde tenga la siguiente configuración:

  • Resumen de la fuerza de trabajo - Toda la información de los usuarios
  • Detalle de la fuerza de trabajo: información sobre cuándo la fuerza de trabajo está trabajando

Puesto que ya está calculando los valores de la fuerza de trabajo que está disponible, todos los usuarios de la tabla WorforceSummary que están dentro de los parámetros de filtro, lo que necesita tener son los que no están funcionando, por lo que debe filtrar de la Disponibilidad en período los que no están incluidos en WorforceDetailed.

Puede configurar una medida similar a esta:

Inactive = 
VAR endOfPeriod =
    MAX ( 'CalendarTable'[Date] )
VAR startOfPeriod =
    MIN ( 'CalendarTable'[Date] )
VAR Work_Force =
    FILTER (
        SELECTCOLUMNS (
            FILTER (
                'WorkforceSummary',
                OR (
                     ( 'WorkforceSummary'[DateStarted] < endOfPeriod
                        && 'WorkforceSummary'[LeaveDate] >= startOfPeriod ),
                     (
                        'WorkforceSummary'[DateStarted] < endOfPeriod
                            && 'WorkforceSummary'[LeaveDate] = BLANK ()
                    )
                )
            ),
            "KEY", WorkforceSummary[Key]
        ),
        NOT ( [KEY] IN VALUES ( WorkforceDetailed[Key] ) )
    )
RETURN
    COUNTROWS ( Work_Force )

¿Puede ver que estoy usando la base de su medida Activ y luego hacer un nuevo filtro encima de él para tomar sólo los valores clave que no están en la fuerza de trabajodetailed.

Ahora sólo tiene que utilizar esta medida en su visualizaiton y seleccionar todos los valores no en blanco.

View solution in original post

6 REPLIES 6
Syndicate_Admin
Administrator
Administrator

No @Beavertron ,

En función de la información que haya enviado a donde tenga la siguiente configuración:

  • Resumen de la fuerza de trabajo - Toda la información de los usuarios
  • Detalle de la fuerza de trabajo: información sobre cuándo la fuerza de trabajo está trabajando

Puesto que ya está calculando los valores de la fuerza de trabajo que está disponible, todos los usuarios de la tabla WorforceSummary que están dentro de los parámetros de filtro, lo que necesita tener son los que no están funcionando, por lo que debe filtrar de la Disponibilidad en período los que no están incluidos en WorforceDetailed.

Puede configurar una medida similar a esta:

Inactive = 
VAR endOfPeriod =
    MAX ( 'CalendarTable'[Date] )
VAR startOfPeriod =
    MIN ( 'CalendarTable'[Date] )
VAR Work_Force =
    FILTER (
        SELECTCOLUMNS (
            FILTER (
                'WorkforceSummary',
                OR (
                     ( 'WorkforceSummary'[DateStarted] < endOfPeriod
                        && 'WorkforceSummary'[LeaveDate] >= startOfPeriod ),
                     (
                        'WorkforceSummary'[DateStarted] < endOfPeriod
                            && 'WorkforceSummary'[LeaveDate] = BLANK ()
                    )
                )
            ),
            "KEY", WorkforceSummary[Key]
        ),
        NOT ( [KEY] IN VALUES ( WorkforceDetailed[Key] ) )
    )
RETURN
    COUNTROWS ( Work_Force )

¿Puede ver que estoy usando la base de su medida Activ y luego hacer un nuevo filtro encima de él para tomar sólo los valores clave que no están en la fuerza de trabajodetailed.

Ahora sólo tiene que utilizar esta medida en su visualizaiton y seleccionar todos los valores no en blanco.

Muchas gracias, increíble trabajo y una solución perfecta. Espero que esto ayude a otras personas también.

Syndicate_Admin
Administrator
Administrator

No @Beavertron ,

Puesto que desea presentar los valores en una visualización de tabla y en función del período de disponibilidad, puede intentar realizar la siguiente medida:

not available =
IF ( ISBLANK ( [Avail in period] ), 1 )

Ahora use esta medida para filtrar la visualización de la tabla.

Hola, gracias por la sugerencia. Desafortunadamente eso me está dando una mesa en blanco. No estoy seguro de si estoy aplicando esto correctamente. Así que en la misma tabla tengo la medida para 'Avail in Period'. He creado la medida sugerida anteriormente y aplicado esto a los filtros para este objeto visual solamente y seleccionar valores mayores que 0. Espero que pueda aconsejar, gracias

No @Beavertron

si la tabla ya está siendo filtrada por el período de disponibilidad que tiene valores y, a continuación, aplica un filtro que deja en blanco todo el uso en el período en que los registros estarán vacíos.

Solo debe aplicar la segunda medida a la visualización de la tabla.

Si esto no funciona, puede compartir un archivo de ejemplo con un archivo de maqueta o una muestra de su archivo PBIX. Puede utilizar un onedrive, google drive, que transferimos o enlace similar para cargar sus archivos.

Si la información es confidencial, compártala a través de un mensaje privado.

Gracias, he enviado un mensaje privado a una muestra del informe y los datos contenidos, todos anónimos y protegidos por contraseña en mensajes privados. Le agradezco su ayuda. La pestaña Inactivo es donde estoy tratando de enumerar los cuidadores que no tienen ningún día de trabajo dentro del período de segmentación de fechas.

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.