This time we’re going bigger than ever. Fabric, Power BI, SQL, AI and more. We're covering it all. You won't want to miss it.
Learn moreLevel up your Power BI skills this month - build one visual each week and tell better stories with data! Get started
Hola
La tabla A contiene un conjunto de resultados por empleado por semana.
| Empleado | Clave de la semana | Resultado |
| 12345 | 20250526 | 16 |
| 12345 | 20250602 | 20 |
| 12345 | 20250609 | 18 |
La tabla B contiene un objetivo por empleado con un intervalo de fechas de semana
| Empleado | DesdeSemana | ToWeek | Blanco |
| 12345 | 20250505 | 20250526 | 21 |
| 12345 | 20250602 | 20250630 | 20 |
Lo que quiero hacer es unirme a estos en Employee Y donde A.WeekKey BETWEEN B.FromWeek y B.ToWeek
El resultado sería:
| Empleado | Clave de la semana | Resultado | Blanco |
| 12345 | 20250526 | 16 | 21 |
| 12345 | 20250602 | 20 | 20 |
| 12345 | 20250609 | 18 | 20 |
Cualquier idea y sugerencia es muy apreciada.
Gracias a los dos. Tuve cierto éxito con ambas opciones, pero al final no pude entregar lo que necesitaba en el tiempo permitido, así que lo eliminé e hice la mayor parte del trabajo pesado en Oracle SQL
Volveré aquí más tarde para volver a intentarlo, ya que creo que esto debería funcionar y funcionará y ayudará a mi aprendizaje.
Muchas gracias a ti por tomarte el tiempo de ayudar.
Phil
Gracias por ponerse en contacto con la comunidad de Microsoft Fabric.
Gracias @Ashish_Excel, @samratpbi y @SamsonTruong por la pronta respuesta.
Gracias por la respuesta, Como no hemos tenido noticias suyas, queríamos hacer un seguimiento amable para verificar si el problema está resuelto. O háganos saber si necesita más ayuda.
Si alguna respuesta ayudó a resolver el problema, márquela como "Aceptar como solución" y haga clic en "Sí" si le resultó útil.
Gracias y saludos,
Anjan Kumar Chippa
Como no hemos tenido noticias suyas, queríamos hacer un seguimiento amable para verificar si el problema se resuelve.
Si alguna respuesta ayudó a resolver el problema, márquela como "Aceptar como solución" y haga clic en "Sí" si le resultó útil.
Gracias y saludos,
Anjan Kumar Chippa
Hola
Esta fórmula de columna calculada en la Tabla 1 funciona
=CALCULATE(SUM(Table2[Target]),FILTER(Table2,Table2[Employee]=EARLIER(Table1[Employee])&&Table2[FromWeek]<=EARLIER(Table1[WeekKey])&&Table2[ToWeek]>=EARLIER(Table1[WeekKey])))Espero que esto ayude.
Hola, hay muchas maneras de lograr esto. Una es usar LOOPUPVALUE y llevar el valor de una tabla a otra. Sin embargo, lo mejor sería unir las tablas en Power Query. Puede combinar 2 tablas en función de varias columnas.
Creé 2 tablas:
T1:
T2:
A continuación, combine T2 en T1 con la columna Empleado. A continuación, agregue una columna condicional:
si [WeekKey] >= [T2. FromWeek] y [WeekKey] <= [T2. ToWeek] entonces 1 else 0
A continuación, filtre solo los valores con 1.
A continuación se muestra la Power Query:
vuelo
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjQyNjFV0lEyMjAyNTA1MgMyDc2UYnXQZMwMjMBMbDKWID0WSrGxAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) en la tabla de tipos [Employee = _t, WeekKey = _t, Result = _t]),
#"Tipo cambiado" = Tabla.TransformColumnTypes(Fuente,{{"Empleado", Int64.Tipo}, {"WeekKey", Int64.Tipo}, {"Resultado", Int64.Tipo}}),
#"Consultas combinadas" = Table.NestedJoin(#"Tipo cambiado", {"Empleado"}, T2, {"Empleado"}, "T2", JoinKind.Inner),
#"Expanded T2" = Table.ExpandTableColumn(#"Consultas combinadas", "T2", {"FromWeek", "ToWeek", "Target"}, {"T2. FromWeek", "T2. ToWeek", "T2. Objetivo"}),
#"Columna condicional agregada" = Table.AddColumn(#"T2 expandido", "Personalizado", cada uno si [WeekKey] >= [T2. FromWeek] y [WeekKey] <= [T2. ToWeek] entonces 1 else 0),
#"Filas filtradas" = Tabla.SelectRows(#"Columna condicional agregada", cada una ([Personalizada] = 1)),
#"Columnas eliminadas" = Table.RemoveColumns(#"Filas filtradas",{"T2. FromWeek", "T2. ToWeek", "Personalizado"})
en
#"Columnas eliminadas"
El resultado es:
Si esto ayuda a resolver su problema, márquelo como solución. ¡No te olvides de felicitar! -Gracias
Hola @PBI_Inquisitor , ¿está tratando de lograr esto en PowerQuery o como una tabla calculada?
Suponiendo que está intentando hacer esto en una tabla calculada de DAX, pruebe lo siguiente DAX:
JoinedTable =
SELECTCOLUMNS (
FILTER (
CROSSJOIN ( TableA, TableB ),
TableA[Employee] = TableB[Employee]
&& TableA[WeekKey] >= TableB[FromWeek]
&& TableA[WeekKey] <= TableB[ToWeek]
),
"Employee", TableA[Employee],
"WeekKey", TableA[WeekKey],
"Result", TableA[Result],
"Target", TableB[Target]
)
Si esto ayudó, márquelo como la solución para que otros también puedan beneficiarse. Y si lo encontró útil, siempre se agradecen las felicitaciones.
Gracias
Samson
Conéctate conmigo en LinkedIn (en inglés)
Echa un vistazo a mi Blog
¿Vas a asistir a la Conferencia Europea de la Comunidad Microsoft Fabric? Echa un vistazo a mi Sesión
Check out the April 2026 Power BI update to learn about new features.
Sign up to receive a private message when registration opens and key events begin.
If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.