Don't miss your chance to take exam DP-600 or DP-700 on us!
Request nowLearn from the best! Meet the four finalists headed to the FINALS of the Power BI Dataviz World Championships! Register now
Hola
Tengo una pregunta sobre la fusión de tablas frente al uso de la función de búsqueda en dax. Actualmente estoy trabajando en un informe con tres tablas y tenemos una relación algo circular entre ellas, por lo que no quiero definir una relación entre ellas. Así que intenté usar la función de combinación para obtener las columnas que necesito de una tabla a otra, pero tan pronto como empiezo a agregar las operaciones de combinación, la consulta comienza a tardar más en cargarse y completarse. Puedo hacer esto usando la función de búsqueda en dax, pero el problema es que dax requiere un valor único de la clave / valor que se usa para las búsquedas en la tabla, de lo contrario arroja un error que dice: valor único esperado pero lista devuelta. Luego lo soluciono yendo a Power Query, duplicando mi tabla, resumiéndola usando el grupo por función y asegurándome de que solo exista un valor para la clave que estoy usando para la búsqueda.
Sin embargo, esto podría significar que tendría varias instancias de la tabla en Power Query (dependiendo de cómo esté resumiendo y filtrando los datos para esa búsqueda en particular). ¿Hay una mejor manera de hacer esto? ¿No debería ser mejor la fusión que las búsquedas? Realmente agradecería cualquier ayuda.
¡Gracias!
Mi pregunta es,
¿Puede proporcionar algunos datos de muestra o imagen, según su descripción, no puede dar claramente la sugerencia que desea obtener, tal vez pueda intentar usar la función filter().
¡Saludos!
Yolo Zhu
Si esta publicación ayuda, considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Así que como ejemplo, tengo tres tablas (he mantenido los nombres y los valores genéricos por razones de confidencialidad). Las tres tablas se utilizan en todo el informe (o en diferentes pestañas dentro del informe) por sí mismas, pero necesitan columnas / datos entre sí. Como ejemplo, necesito incluir un par de columnas de la Tabla B y C en la Tabla A para un informe, y de manera similar para los informes relacionados con la Tabla B, necesito columnas de la Tabla A y C, etc.
| Cuadro A | |||||||
| Programa | Tipo | Persona | Fecha | Vendedor | Estado | ¿Proveedor activo? | Ubicación |
| Programa1 | 1 | abecedario | 2012-10-13 | A | Corriente | Si tenemos algún registro en la tabla C para ese proveedor donde el Estado = Activo, entonces Sí, de lo contrario No | Buscar una lista concatenada de ubicaciones para ese proveedor del cuadro B |
| Programa2 | 2 | Def | 2022-01-08 | A | Corriente | ||
| Programa3 | 3 | grabar | 2023-03-10 | A | Completado | ||
| Programa4 | 4 | Abd | 2022-04-11 | A | Corriente | ||
| Programa1 | 5 | Dfd | 2021-05-08 | A | Completado | ||
| Programa5 | 6 | Dfd | 2012-10-13 | A | Completado | ||
| Programa1 | 7 | palo | 2022-01-08 | B | Completado | ||
| Programa2 | 8 | por | 2023-03-10 | B | Corriente | ||
| Programa1 | 9 | abecedario | 2022-04-11 | B | Completado | ||
| Programa3 | 10 | Def | 2021-05-08 | B | Completado | ||
| Programa4 | 11 | grabar | 2021-05-08 | B | Corriente |
| Cuadro B | ||||||
| Nombre | Número | Ubicación | Vendedor | ¿En el alcance? | Gerente de Proveedores | Programas Activos |
| A | 1 | NOS | A | Si tenemos algún registro en la tabla C para ese proveedor donde el Estado = Activo, entonces Sí, de lo contrario No | Lista concatenada de búsqueda de gerentes de la Tabla C | Busque para ver el programa más reciente que está en curso para este proveedor en la Tabla A |
| B | 2 | Canadá | A | |||
| C | 3 | Australia | B | |||
| D | 4 | Reino Unido | B | |||
| E | 5 | Alemania | C | |||
| F | 6 | Francia | D | |||
| G | 7 | China | E | |||
| H | 8 | India | F |
| Cuadro C | ||||||||
| Vendedor | IDENTIFICACIÓN | Director | Gerente de Proveedores | Estado | Fecha | Programas en curso | Ubicación | Número de proveedor |
| A | 1 | Xyz | CAA | Activo | 2012-10-13 | Busque para ver si hay algún programa en curso de la Tabla A | Buscar una lista concatenada de ubicaciones para ese proveedor en la Tabla B | Búsqueda en la tabla B |
| A | 2 | xyx | abecedario | Inactivo | 2022-01-08 | |||
| B | 3 | abecedario | Def | Activo | 2023-03-10 | |||
| B | 4 | Def | CAA | Activo | 2022-04-11 | |||
| B | 5 | grabar | abecedario | Activo | 2021-05-08 | |||
| C | 6 | Xyz | CAA | Activo | 2012-10-13 | |||
| D | 7 | xyx | abecedario | Inactivo | 2022-01-08 | |||
| E | 8 | abecedario | Def | Activo | 2023-03-10 |
Ahora, el problema aquí es que, si decido fusionar las tablas de datos en Power Query, el informe se vuelve muy, muy lento mientras se carga, porque estoy fusionando columnas de 1 a las otras 2, y luego repitiendo eso tres veces.
Intenté hacer lookupvalue en DAX, pero como puede ver, cada tabla puede tener varios registros bajo el mismo nombre de proveedor, por lo que si busco el estado basado en el nombre del proveedor, la función lookupvalue devuelve un error que dice, esta función necesita un solo valor para ser devuelta, se devolvió una lista.
Si creo una relación entre los tres, termino obteniendo una dependencia circular entre las tablas, por lo que no funciona.
La única alternativa es tener tres tablas, A, B y C en Power Query y luego duplicarlas, de modo que la Tabla A (resumida), la Tabla B (resumida) y la Tabla C, resumida, donde resumo los datos según el nombre del proveedor, y luego los uso para buscar los datos en la Tabla A, la Tabla B y C como columnas calculadas en DAX. Esto funciona, pero si tenemos una gran cantidad de datos, ahora tendríamos el doble de tablas en el informe.
¿Hay otra manera de hacer esto?
¡Espero que esto tenga sentido!