cancel
Showing results for 
Search instead for 
Did you mean: 
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 III
Super User III

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 III
Super User III

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

@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



View solution in original post

@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



View solution in original post

Helpful resources

Announcements
MBAS on Demand

2021 Release Wave 2 Plan

Power Platform release plan for the 2021 release wave 2 describes all new features releasing from October 2021 through March 2022.

July 2021 Update 768x460.png

Check it out!

Click here to read more about the July 2021 Updates

Power Query PA Forum 768x460.png

Check it out!

Did you know that you can visit the Power Query Forum in Power BI and now Power Apps

Top Solution Authors