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

Enhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.

Reply
Drako
Helper I
Helper I

Tring para obtener la primera fila en la función De filtro

Hola

He estado luchando con esto por algún tiempo. Tenemos 2 mesas. Uno que tiene registros (workLog) de tiempo de seguimiento y otro que tiene costo/hora (usercost) en fechas específicas. Esto se debe a que el costo de un usuario puede cambiar durante el tiempo. La tabla usecost tiene el identificador del usuario una fecha y hora activada cuando se agrega el nuevo costo se va a utilizar desde este punto en la palabra y el costo del campo.

Lo que estoy haciendo es agregar una columna en el Worklog y agregar esta fórmula. Esto funciona perfectamente cuando el usuario específico solo tiene 1 registro en la tabla UserCost. Lo que necesito es devolver el registro más frist que encuentre. pero usando el filtro como se muestra a continuación. También quería pedir por Worklog(CreatedYear) y Worklog(CreatedMonth).

CostUserHour ??
CALCULATE(Values(UserCost[CostPerHour]),
Filtro
(UserCost,UserCost[UserID] á WorkLog[accountId] && UserCost[YearActivated] <- WorkLog[CreatedYear] && UserCost[MonthActivated] <- WorkLog[CreatedMonth] )
)
1 ACCEPTED SOLUTION

@Drako - No estoy 100% seguro de que estoy siguiendo, pero ver si esto ayuda. Esto es lo que tengo:

edhans_0-1603472615425.png

Costo por hora ?
VAR varCurrentUser ?
MAX( 'Registro de trabajo'[UserID] )
VAR varCurrentMonthEnd ?
EOMONTH(
MAX( 'Registro de trabajo'[Fecha] ),
0
)
Resultado de VAR (VAR)
CALCULAR(
MAX( 'Coste de usuario'[Coste/Hora] ),
FILTRO(
TODOS(
'User Cost'[UserID],
'Costo del usuario'[Fecha]
),
'User Cost'[UserID] á varCurrentUser
&& 'Coste de usuario'[Fecha] <-varCurrentMonthEnd
)
)
devolución
Resultado

Puede ver mi archivo PBIX aquí. Notará que hice algunos datos de modelado y modelado en Power Query porque no veo cómo obtener los resultados en la forma en que se forman las tablas. Por ejemplo, tener Jan en una columna y 2020 en otra no es muy útil, por lo que creé una fecha para el último día del mes para esa columna, que se puede filtrar y relacionada con una tabla de fechas real. Deberá devolver el origen de datos al archivo Example.xlsx del disco duro para ver el trabajo de Power Query mediante el icono Configuración del origen de datos de la cinta de opciones Inicio de PQ.

Si eso no es lo que espera, ¿puede ser más específico sobre cómo debería funcionar el cálculo?



Did I answer your question? Mark my post as a solution!
Did my answers help arrive at a solution? Give it a kudos by clicking the Thumbs Up!

DAX is for Analysis. Power Query is for Data Modeling


Proud to be a Super User!

MCSA: BI Reporting

View solution in original post

7 REPLIES 7
V-lianl-msft
Community Support
Community Support

Hola @Drako ,

Por ejemplo, obtenemos la fecha y hora mínima de cada usuario como condición de filtro y, a continuación, calculamos la columna de costo.

Tratar:

col = 
VAR MIN_Date = CALCULATE(MIN('Table'[date]),ALLEXCEPT('Table','Table'[user]))
RETURN IF('Table'[date]=MIN_Date,'Table'[cost])

Si el problema persiste, ¿podría compartir el pbix de ejemplo a través del servicio en la nube como onedrive para la empresa?

Elimine los datos confidenciales antes de cargarlos.

Saludos
Liang
Si este post ayuda, entonces considera Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Hola @V-lianl-msft y @edhans

Todavía no puedo conseguir lo que necesito. He creado un excel con los datos de ejemplo. Consulte un enlace de unidad. También he pegado las mesas aquí por ejemplo.... Lo que creo que falta es algún tipo de MAX cuando consigo más que registro en el filtro, pero no he sido capaz de hacer esto...

Excel: https://1drv.ms/u/s!AvX2iSHtfUKqq8xgaAPqkfs_c8HkWQ?e=K40Mrd

Mesas:

Tabla UserCost
UseridCosto/HoraMes ActivoAño Activo
1 $ 10.00Enero2020
1 $ 15.00Mayo2020
1 $ 18,50Septiembre2020
2 $ 5.00Enero2020
2 $ 6.00Junio2020
3 $ 22.00Enero2020
3 $ 25.00Septiembre

2020

Tabla WorkLog
UseridWorkHourLogFechaMesañoObtenga CostHour de UserCost basado en el mes/año más cercano
1101 de enero de 2020Enero2020 $ 10.00Así que lo que esta columna debe obtener es la tarifa por hora más cercana para ese mes de especificidad de la tabla CostHour. He añadido los valores como ejemplo. Por lo tanto, para userID 1 puede ver varias tarifas diferentes.

El problema: Si ves la línea 5 si busco el costo ikn el USerCost esto funcionará perfectamente, porque devolverá 1 ROW en la tabla. Pero si vas a la línea 8, entonces cuando aplico USercost[Month] <- Worklok[Month] && Usercost[Year] <- Worklog[Year] devolverá 2 rwos del USerCost. Uno con $10 y el otro por $15, necesito obtener el MAX desde el mes... He probado varias fucnioniones MAX en la fórmula que utilicé sin éxito
1201 de febrero de 2020Febrero2020 $ 10.00
1401 de marzo de 2020Marzo2020 $ 10.00
1221 de abril de 2020Abril2020 $ 10.00
1331 de mayo de 2020Mayo2020 $ 15.00
2441 de enero de 2020Enero2020
211 de febrero de 2020Febrero2020
221 de marzo de 2020Marzo2020
2332 de junio de 2020Junio2020
2551 de julio de 2020Jul2020
1221 de junio de 2020Junio2020 $ 15.00
1771 de julio de 2020Jul2020 $ 15.00
1321 de agosto de 2020Agosto2020 $ 15.00
1461 de septiembre de 2020Septiembre2020 $ 18,50
121 de octubre de 2020Octubre2020 $ 18,50
311 de enero de 2020Enero2020
321 de septiembre de 2020Septiembre2020
381 de octubre de 2020Octubre2020

@Drako - No estoy 100% seguro de que estoy siguiendo, pero ver si esto ayuda. Esto es lo que tengo:

edhans_0-1603472615425.png

Costo por hora ?
VAR varCurrentUser ?
MAX( 'Registro de trabajo'[UserID] )
VAR varCurrentMonthEnd ?
EOMONTH(
MAX( 'Registro de trabajo'[Fecha] ),
0
)
Resultado de VAR (VAR)
CALCULAR(
MAX( 'Coste de usuario'[Coste/Hora] ),
FILTRO(
TODOS(
'User Cost'[UserID],
'Costo del usuario'[Fecha]
),
'User Cost'[UserID] á varCurrentUser
&& 'Coste de usuario'[Fecha] <-varCurrentMonthEnd
)
)
devolución
Resultado

Puede ver mi archivo PBIX aquí. Notará que hice algunos datos de modelado y modelado en Power Query porque no veo cómo obtener los resultados en la forma en que se forman las tablas. Por ejemplo, tener Jan en una columna y 2020 en otra no es muy útil, por lo que creé una fecha para el último día del mes para esa columna, que se puede filtrar y relacionada con una tabla de fechas real. Deberá devolver el origen de datos al archivo Example.xlsx del disco duro para ver el trabajo de Power Query mediante el icono Configuración del origen de datos de la cinta de opciones Inicio de PQ.

Si eso no es lo que espera, ¿puede ser más específico sobre cómo debería funcionar el cálculo?



Did I answer your question? Mark my post as a solution!
Did my answers help arrive at a solution? Give it a kudos by clicking the Thumbs Up!

DAX is for Analysis. Power Query is for Data Modeling


Proud to be a Super User!

MCSA: BI Reporting

Hola @edhans ,

Te he derribado PBIX y vi tu solución. Es exactamente como lo necesito. Pregunta No uso mich la tabla de fechas que agregó, pero he visto que es muy útil. ¿Cómo creaste esto manualmente? ¿O es su fucntion o algo en power bi para crearlo?

Muchas gracias... funcionó y estoy ajustando mi PwerBI para tener las fechas a medida que agregaste y la fórmula.

Hola @Drako - me alegro de haber podido ayudar. En cuanto a mi tabla de fechas, consulte esta URL - https://bit.ly/DateTableByEd - es 100% generado en Power Query. Hay una explicación completa de cómo funciona, y un enlace a un blog que hice el año pasado que te permitirá convertir la cosa en una tabla de fechas totalmente dinámica que avanzará en el tiempo con nuevos datos a lo largo de los años.

Eso está en mi cuaderno personal de Evernote, así que a menudo lo estoy actualizando y mejorando.



Did I answer your question? Mark my post as a solution!
Did my answers help arrive at a solution? Give it a kudos by clicking the Thumbs Up!

DAX is for Analysis. Power Query is for Data Modeling


Proud to be a Super User!

MCSA: BI Reporting
edhans
Super User
Super User

No hay ningún @Drako de registro de primer registro: los registros se almacenan, sin embargo, el modelo de datos desea almacenarlos. Mis tablas de fechas casi siempre muestran una fecha de julio primero en la vista Datos como ejemplo, pero las tablas siempre comienzan el 1 de enero.

Debe identificar esa primera fila basada en critera. Por ejemplo:

CostUserHour ??
VAR varEsteUser ?
MAX( WorkLog[AccountId] )
VAR varEste Año ?
MAX( WorkLog[CreatedYear] )
VAR varThisMonth ?
MAX( Worklog[CreatedMonth] )
devolución
CALCULAR(
VALORES( UserCost[CostPerHour] ),
FILTRO(
UserCost,
UserCost[UserID] á varThisUser
&& UserCost[YearActivated] <- varThisYear
&& UserCost[MonthActivated] <- varThisMonth
)
)

te ayudaría a empezar. Esto sería una medida. Evito las columnas calculadas tanto como sea posible.

Pero para ayudar realmente, necesitaríamos ver algunos datos con los resultados esperados.

Cómo obtener una buena ayuda rápidamente. Ayúdanos a ayudarte.
Cómo obtener respuestas a su pregunta rápidamente
Cómo proporcionar datos de ejemplo en el foro de Power BI



Did I answer your question? Mark my post as a solution!
Did my answers help arrive at a solution? Give it a kudos by clicking the Thumbs Up!

DAX is for Analysis. Power Query is for Data Modeling


Proud to be a Super User!

MCSA: BI Reporting

Hola @edhans

Todavía no puedo conseguir lo que necesito. He creado un excel con los datos de ejemplo. Consulte un enlace de unidad. También he pegado las mesas aquí por ejemplo.... Lo que creo que falta es algún tipo de MAX cuando consigo más que registro en el filtro, pero no he sido capaz de hacer esto...

Excel: https://1drv.ms/u/s!AvX2iSHtfUKqq8xgaAPqkfs_c8HkWQ?e=K40Mrd

Mesas:

Tabla UserCost
UseridCosto/HoraMes ActivoAño Activo
1 $ 10.00Enero2020
1 $ 15.00Mayo2020
1 $ 18,50Septiembre2020
2 $ 5.00Enero2020
2 $ 6.00Junio2020
3 $ 22.00Enero2020
3 $ 25.00Septiembre

2020

Tabla WorkLog
UseridWorkHourLogFechaMesañoObtenga CostHour de UserCost basado en el mes/año más cercano
1101 de enero de 2020Enero2020 $ 10.00Así que lo que esta columna debe obtener es la tarifa por hora más cercana para ese mes de especificidad. He añadido los valores como axample. Por lo tanto, para userID 1 puede ver varias tarifas diferentes.

El problema: Si ves la línea 5 si busco el costo ikn el USerCost esto funcionará perfectamente, porque devolverá 1 ROW en la tabla. Pero si vas a la línea 8, entonces cuando aplico USercost[Month] <- Worklok[Month] && Usercost[Year] <- Worklog[Year] devolverá 2 rwos del USerCost. Uno con $10 y el otro por $15, necesito obtener el MAX desde el mes... He probado varias fucnioniones MAX en la fórmula que utilicé sin éxito
1201 de febrero de 2020Febrero2020 $ 10.00
1401 de marzo de 2020Marzo2020 $ 10.00
1221 de abril de 2020Abril2020 $ 10.00
1331 de mayo de 2020Mayo2020 $ 15.00
2441 de enero de 2020Enero2020
211 de febrero de 2020Febrero2020
221 de marzo de 2020Marzo2020
2332 de junio de 2020Junio2020
2551 de julio de 2020Jul2020
1221 de junio de 2020Junio2020 $ 15.00
1771 de julio de 2020Jul2020 $ 15.00
1321 de agosto de 2020Agosto2020 $ 15.00
1461 de septiembre de 2020Septiembre2020 $ 18,50
121 de octubre de 2020Octubre2020 $ 18,50
311 de enero de 2020Enero2020
321 de septiembre de 2020Septiembre2020
381 de octubre de 2020Octubre2020

Helpful resources

Announcements
July 2025 community update carousel

Fabric Community Update - July 2025

Find out what's new and trending in the Fabric community.

July PBI25 Carousel

Power BI Monthly Update - July 2025

Check out the July 2025 Power BI update to learn about new features.

Top Solution Authors
Top Kudoed Authors