Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

Reply
Syndicate_Admin
Administrator
Administrator

Filtrado de una medida de DAX por un valor en una tabla independiente

¡Hola!

Tengo una tabla ('Correos electrónicos') que registra información sobre todos los correos electrónicos recibidos por mi empresa. Esta tabla tiene una columna ('Tiempo empleado') que registra cuántos días tardó mi empresa en responder al correo electrónico. Anteriormente quería calcular el porcentaje de correos electrónicos que fueron respondidos en 2 días. Utilicé el siguiente DAX, que funcionó muy bien:

Valor =

CALCULAR(

COUNTROWS('Emails') 'Emails'[Tiempo empleado] <= 2

) / COUNTROWS(Correos electrónicos)

Ahora necesito calcular el porcentaje de correos electrónicos que fueron respondidos dentro de los 2 días *hábiles*. Tengo una tabla separada ('Fechas') que tiene una columna ('Laborable o no laborable') que registra si un día se clasifica como laborable o no laborable. Existe una relación de muchos a uno entre 'Correos electrónicos' [Fecha] y 'Fechas' [Fecha]. ¿Alguien puede ayudarme a ajustar el DAX anterior para lograr esto?

Por si sirve de algo, la columna "Tiempo empleado" es una columna personalizada que creé en Power Query. Es solo una fórmula de Date.Difference que calcula los días entre dos fechas, ¿tal vez necesito modificar algo aquí primero?

Ya he probado algunas cosas con la ayuda de ChatGPT que han producido el siguiente mensaje de error: 'La columna 'Fechas [Trabajando o no funcionando]' no existe o no tiene relación con ninguna tabla disponible en el contexto actual'; o me dio el 100%, lo cual es incorrecto.

¡Gracias y por favor avísame si necesitas más información!

2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

Hola @Anonymous55 ,

Por favor, pruebe este DAX:

WorkingDaysCount = 
CALCULATE(
    COUNTROWS('Dates'),
    'Dates'[Working or non-working] = "Working",
    DATESBETWEEN('Dates'[Date], 'Emails'[ReceivedDate], 'Emails'[RespondedDate])
)
RespondedWithin2WorkingDays = 
CALCULATE(
    COUNTROWS('Emails'),
    [WorkingDaysCount] <= 2
)
PercentageRespondedWithin2WorkingDays = 
DIVIDE(
    [RespondedWithin2WorkingDays],
    COUNTROWS('Emails'),
    0
)

Si esto no funciona, ¿puede proporcionar algunos datos de muestra?

Saludos
Dino Tao
Si esta publicación ayuda, considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Syndicate_Admin
Administrator
Administrator

@Anonymous55,

Una opción es mover la columna Tiempo empleado de Power Query a DAX, mediante esta columna calculada en la tabla Correos electrónicos:

Time taken = 
VAR vReceivedDate = Emails[Received Date]
VAR vRespondedDate = Emails[Responded Date]
VAR vDaysBetween =
    DATEDIFF ( vReceivedDate, vRespondedDate, DAY )
VAR vNonWorkingDays =
    COUNTROWS (
        CALCULATETABLE (
            Dates,
            Dates[Date] >= vReceivedDate,
            Dates[Date] <= vRespondedDate,
            Dates[Working or non-working] = "Non-working"
        )
    )
VAR vResult = vDaysBetween - vNonWorkingDays
RETURN
    vResult

En este ejemplo, no hay ninguna relación entre las tablas. La medida debe funcionar con esta columna.

Helpful resources

Announcements
Fabcon_Europe_Social_Bogo

Europe’s largest Microsoft Fabric Community Conference

Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.

Power BI Carousel June 2024

Power BI Monthly Update - June 2024

Check out the June 2024 Power BI update to learn about new features.

RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

Top Solution Authors