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
HenryJS
Post Prodigy
Post Prodigy

Medida: Fecha de BÚSQUEDA

Hola a todos

La medida '¿Hoja de horas?' A continuación se devuelve un"Sí"en el campo de fecha si el final de la semana se encuentra dentro de placementStartDate y PlacementEndDate para esa ubicación(exportar ubicación tabla).

En lugar de "Sí" es posible tener "Aprobado" si el CandidateRef está presente para esa semana en la tabla'Exportaciónde hojas de horas '? Y solo"Sí"si la fecha se encuentra dentro de Fecha de inicio de la ubicación - Fecha de finalización de la ubicación.

La medida para"Aprobado"tendrá que buscar la fecha "Exportación de hoja de horas" [Finalización del período] para ver si se aprobó un parte de horas en esa semana.

Archivo .pbix:

https://www.dropbox.com/sh/q8czbh9haifer3a/AADaaXjf5VkrIztJuGAVfkFua?dl=0

Medida:

¿Hoja de horas? • IF(SELECTEDVALUE('Export Placements'[PlacementStartDate])<-MAX('Calendar'[Date]) && SELECTEDVALUE('Export Placements'[PlacementEndDate]) >'MAX('Calendar'[Date]), "Yes", BLANK())
Capture111.JPG
3 ACCEPTED SOLUTIONS
MFelix
Super User
Super User

Hola @HenryJS ,

Pruebe la siguiente medida:

Timesheet? =
VAR temp_table =
    FILTER (
        SUMMARIZE (
            'Timesheets export',
            'Timesheets export'[Period Ending],
            'Timesheets export'[Candidate Ref]
        ),
        'Timesheets export'[Candidate Ref]
            = SELECTEDVALUE ( 'Export Placements'[CandidateRef] )
    )
VAR Active =
    IF (
        MAXX ( temp_table; 'Timesheets export'[Period Ending] )
            <= MAX ( 'Calendar'[Date] )
            && MAXX ( temp_table; 'Timesheets export'[Period Ending] )
                >= MAX ( 'Calendar'[Date] ),
        "Active",
        ""
    )
VAR Yes_value =
    IF (
        SELECTEDVALUE ( 'Export Placements'[PlacementStartDate] )
            <= MAX ( 'Calendar'[Date] )
            && SELECTEDVALUE ( 'Export Placements'[PlacementEndDate] )
                >= MAX ( 'Calendar'[Date] ),
        "Yes",
        ""
    )
RETURN
    SWITCH ( TRUE (),Yes_value = "Yes" && Active = "Active", Active, Yes_value )

Compruebe la conexión de archivos PBIX.


Regards

Miguel Félix


Did I answer your question? Mark my post as a solution!

Proud to be a Super User!

Check out my blog: Power BI em Português



View solution in original post

Hola @HenryJS ,

Pruebe lo siguiente:

Timesheet? =
VAR temp_table =
    FILTER (
        SUMMARIZE (
            'Timesheets export',
            'Timesheets export'[Period Ending],
            'Timesheets export'[Candidate Ref]
        ),
        'Timesheets export'[Candidate Ref]
            = SELECTEDVALUE ( 'Export Placements'[CandidateRef] )
            && 'Timesheets export'[Period Ending] = SELECTEDVALUE ( 'Calendar'[Week Ending] )
    )
VAR Active =
    IF (
        MAXX ( temp_table; 'Timesheets export'[Period Ending] )
            <= MAX ( 'Calendar'[Date] )
            && MAXX ( temp_table; 'Timesheets export'[Period Ending] )
                >= MAX ( 'Calendar'[Date] ),
        "Active",
        ""
    )
VAR Yes_value =
    IF (
        SELECTEDVALUE ( 'Export Placements'[PlacementStartDate] )
            <= MAX ( 'Calendar'[Date] )
            && SELECTEDVALUE ( 'Export Placements'[PlacementEndDate] )
                >= MAX ( 'Calendar'[Date] ),
        "Yes",
        ""
    )
RETURN
    SWITCH ( TRUE (), Yes_value = "Yes" && Active = "Active", Active, Yes_value )

Esta medida se basa en la anterior, por lo que si es posible que necesite cambiar el "" por espacios en blanco.


Regards

Miguel Félix


Did I answer your question? Mark my post as a solution!

Proud to be a Super User!

Check out my blog: Power BI em Português



View solution in original post

Mi mal,

Debido a la configuración regional, mi medida DAX tiene un ; en lugar de un , y reemplacé incorrectamente en la medida que publiqué la medida de verificación a continuación rectificado:

Timesheet? =
VAR temp_table =
    FILTER (
        SUMMARIZE (
            'Timesheets export',
            'Timesheets export'[Period Ending],
            'Timesheets export'[Candidate Ref]
        ),
        'Timesheets export'[Candidate Ref]
            = SELECTEDVALUE ( 'Export Placements'[CandidateRef] )
            && 'Timesheets export'[Period Ending] = SELECTEDVALUE ( 'Calendar'[Week Ending] )
    )
VAR Active =
    IF (
        MAXX ( temp_table; 'Timesheets export'[Period Ending] )
            <= MAX ( 'Calendar'[Date] )
            && MAXX ( temp_table, 'Timesheets export'[Period Ending] )
                >= MAX ( 'Calendar'[Date] ),
        "Active",
        ""
    )
VAR Yes_value =
    IF (
        SELECTEDVALUE ( 'Export Placements'[PlacementStartDate] )
            <= MAX ( 'Calendar'[Date] )
            && SELECTEDVALUE ( 'Export Placements'[PlacementEndDate] )
                >= MAX ( 'Calendar'[Date] ),
        "Yes",
        ""
    )
RETURN
    SWITCH ( TRUE (), Yes_value = "Yes" && Active = "Active", Active, Yes_value )

Si ve alguno; en la medida reemplazar por coma.


Regards

Miguel Félix


Did I answer your question? Mark my post as a solution!

Proud to be a Super User!

Check out my blog: Power BI em Português



View solution in original post

7 REPLIES 7
MFelix
Super User
Super User

Hola @HenryJS ,

Pruebe la siguiente medida:

Timesheet? =
VAR temp_table =
    FILTER (
        SUMMARIZE (
            'Timesheets export',
            'Timesheets export'[Period Ending],
            'Timesheets export'[Candidate Ref]
        ),
        'Timesheets export'[Candidate Ref]
            = SELECTEDVALUE ( 'Export Placements'[CandidateRef] )
    )
VAR Active =
    IF (
        MAXX ( temp_table; 'Timesheets export'[Period Ending] )
            <= MAX ( 'Calendar'[Date] )
            && MAXX ( temp_table; 'Timesheets export'[Period Ending] )
                >= MAX ( 'Calendar'[Date] ),
        "Active",
        ""
    )
VAR Yes_value =
    IF (
        SELECTEDVALUE ( 'Export Placements'[PlacementStartDate] )
            <= MAX ( 'Calendar'[Date] )
            && SELECTEDVALUE ( 'Export Placements'[PlacementEndDate] )
                >= MAX ( 'Calendar'[Date] ),
        "Yes",
        ""
    )
RETURN
    SWITCH ( TRUE (),Yes_value = "Yes" && Active = "Active", Active, Yes_value )

Compruebe la conexión de archivos PBIX.


Regards

Miguel Félix


Did I answer your question? Mark my post as a solution!

Proud to be a Super User!

Check out my blog: Power BI em Português



@MFelix Muchas gracias por volver a mí. Parece la resolución requerida.

Dos cosas que me preguntaba si eran posibles:

  • Filas vacías para que sean BLANK, es decir, no visibles si la fila no tiene Sí o Activo en
  • Totales (recuentos) en los subencabezados de cada fin de semana

Hola @HenryJS ,

Simplemente reemplace el "" por Blank en ambas fórmulas:

Pruebe la siguiente medida para la suma total hacer un:

SUMX(Calendar[Date]; [Timesheet?])


Regards

Miguel Félix


Did I answer your question? Mark my post as a solution!

Proud to be a Super User!

Check out my blog: Power BI em Português



@MFelix hay un problema con la medida que proporcionó. Si una referencia candidata tiene más de un parte de horas para semanas diferentes en la "exportación de hojas de horas", solo recogerá una de esa tabla como "Activa".

Tiene que decir Activo para cada semana para la que el candidato tiene un parte de horas.

Un ejemplo es Anthony - 100252

Tiene un hoja de horas para WE 12/04 y 19/04

Sin embargo, la tabla sólo dice que tiene uno para 19/04

¿Puedes ayudar?

Esperanza que tiene sentido

Hola @HenryJS ,

Pruebe lo siguiente:

Timesheet? =
VAR temp_table =
    FILTER (
        SUMMARIZE (
            'Timesheets export',
            'Timesheets export'[Period Ending],
            'Timesheets export'[Candidate Ref]
        ),
        'Timesheets export'[Candidate Ref]
            = SELECTEDVALUE ( 'Export Placements'[CandidateRef] )
            && 'Timesheets export'[Period Ending] = SELECTEDVALUE ( 'Calendar'[Week Ending] )
    )
VAR Active =
    IF (
        MAXX ( temp_table; 'Timesheets export'[Period Ending] )
            <= MAX ( 'Calendar'[Date] )
            && MAXX ( temp_table; 'Timesheets export'[Period Ending] )
                >= MAX ( 'Calendar'[Date] ),
        "Active",
        ""
    )
VAR Yes_value =
    IF (
        SELECTEDVALUE ( 'Export Placements'[PlacementStartDate] )
            <= MAX ( 'Calendar'[Date] )
            && SELECTEDVALUE ( 'Export Placements'[PlacementEndDate] )
                >= MAX ( 'Calendar'[Date] ),
        "Yes",
        ""
    )
RETURN
    SWITCH ( TRUE (), Yes_value = "Yes" && Active = "Active", Active, Yes_value )

Esta medida se basa en la anterior, por lo que si es posible que necesite cambiar el "" por espacios en blanco.


Regards

Miguel Félix


Did I answer your question? Mark my post as a solution!

Proud to be a Super User!

Check out my blog: Power BI em Português



@MFelix **bleep**! ¿Dice que la sintaxis de la exportación de hojas de horas es incorrecta?

Gracias por su ayuda con esto realmente lo agradezco.

Gracias

Capture1.JPG

Mi mal,

Debido a la configuración regional, mi medida DAX tiene un ; en lugar de un , y reemplacé incorrectamente en la medida que publiqué la medida de verificación a continuación rectificado:

Timesheet? =
VAR temp_table =
    FILTER (
        SUMMARIZE (
            'Timesheets export',
            'Timesheets export'[Period Ending],
            'Timesheets export'[Candidate Ref]
        ),
        'Timesheets export'[Candidate Ref]
            = SELECTEDVALUE ( 'Export Placements'[CandidateRef] )
            && 'Timesheets export'[Period Ending] = SELECTEDVALUE ( 'Calendar'[Week Ending] )
    )
VAR Active =
    IF (
        MAXX ( temp_table; 'Timesheets export'[Period Ending] )
            <= MAX ( 'Calendar'[Date] )
            && MAXX ( temp_table, 'Timesheets export'[Period Ending] )
                >= MAX ( 'Calendar'[Date] ),
        "Active",
        ""
    )
VAR Yes_value =
    IF (
        SELECTEDVALUE ( 'Export Placements'[PlacementStartDate] )
            <= MAX ( 'Calendar'[Date] )
            && SELECTEDVALUE ( 'Export Placements'[PlacementEndDate] )
                >= MAX ( 'Calendar'[Date] ),
        "Yes",
        ""
    )
RETURN
    SWITCH ( TRUE (), Yes_value = "Yes" && Active = "Active", Active, Yes_value )

Si ve alguno; en la medida reemplazar por coma.


Regards

Miguel Félix


Did I answer your question? Mark my post as a solution!

Proud to be a Super User!

Check out my blog: Power BI em Português



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.