Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.
Estoy intentando establecer una relación entre dos tablas en Power BI y filtrar los resultados en función de un intervalo de fechas y una columna de identificador. Específicamente, solo quiero ver los registros en la segunda tabla donde la fecha cae dentro del rango de las fechas en la primera tabla y filtrar los resultados para mostrar solo el ID 2. Estoy buscando ayuda sobre cómo realizar esta tarea en Power BI.
Por ejemplo, aquí está la Tabla 1:
Fecha de identificación1 fecha2
1 | 10/03/22 | 20/03/22 |
2 | 10/04/22 | 20/04/22 |
cuadro 2;
ID Nombre Fecha
1 | Juan Herrero | 15/03/22 |
2 | Jane Doe | 18/03/22 |
1 | Michael Brown | 12/04/22 |
2 | Emily Davis | 20/04/22 |
1 | Matthew Taylor | 08/03/22 |
2 | Lauren Anderson | 14/04/22 |
1 | Ryan Thomas | 05/03/22 |
2 | Samantha Thompson | 07/04/22 |
1 | Nicolás Hernández | 16/03/22 |
2 | Natalie Moore | 19/04/22 |
Estoy tratando de obtener este resultado;
ID Nombre Fecha
2 | Emily Davis | 20/04/22 |
2 | Lauren Anderson | 14/04/22 |
2 | Natalie Moore | 19/04/22 |
Estoy intentando establecer una conexión entre tabla1 y tabla2 basada en la columna ID, de modo que cuando use una segmentación de datos para seleccionar ID 2, muestre los resultados deseados de la tabla2 que correspondan al rango de fechas de la tabla 1.
¿Se puede hacer esto?
Muchas gracias
Puede consultar el siguiente ejemplo.
1.Cree una relación 1:N entre dos tablas.
A continuación, cree una nueva columna en la tabla
Column = IF([Date]>=RELATED('Table'[Date1])&&[Date]<=RELATED('Table'[Date2])&&[ID ]=2,1,0)
y filtrar la columna
2.Puede crear una medida
Measure = var _filter=FILTER('Table',[ID]=MAX('Table (2)'[ID ]))
var _date1=MAXX(_filter,[Date1])
var _date2=MAXX(_filter,[Date2])
return MAXX(FILTER('Table (2)',MAX('Table (2)'[Date])>=_date1&&MAX('Table (2)'[Date])<=_date2&&MAX('Table (2)'[ID ])=2),[Name])
Salida
¡Saludos!
Yolo Zhu
Si este post Ayuda, entonces por favor considere Acéptalo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
@ilairdyi , Pruebe una medida como
Sumx(Tabla1, calcular(Countx(Filtro(Tabla2, Tabla2[ID] = Max(Tabla1[ID]) && Tabla2[Fecha] >= Máx(Tabla1[fecha1]) && Tabla2[Fecha] <= Máx(Tabla1[fecha2]) ), Tabla2[ID])))