Forum Discussion
Performance PowerBi. Que es lo mas optimo?
- 3 years ago
¡Uau! Muchas preguntas geniales. Puede obtener una mejor respuesta si las publica como 3 preguntas separadas, ya que son lo suficientemente diferentes como para que se requiera que diferentes personas las respondan. No tengo todas las respuestas, pero lo intentaré.
1) En mi experiencia, es mejor empujar las transformaciones lo más cerca posible de la fuente. Por lo tanto, crear vistas en SQL y extraerlas en Power BI es lo mejor.
2) Esto es complicado y depende. ¿Qué parte del flujo de datos se utiliza en cada informe? ¿Cuánta superposición hay entre los informes? Tenga en cuenta que cuando se actualiza un flujo de datos, todo debe actualizarse o, si una parte falla, todo falla, por lo que puede ser mejor dividir el flujo de datos en "dimensiones centrales" que se utilizan en la mayoría de los informes, y luego colocar las otras tablas en otro flujo de datos o flujos de datos.
3) ¿Cómo se relaciona el formulario A con el formulario B? Al no conocer los formularios, supongo que el Usuario se relaciona con el Formulario A y el Usuario se relaciona con el Formulario B, pero ese formulario A no se relaciona directamente con el Formulario B. Sin embargo, necesito más detalles sobre los formularios para confirmarlo.
Para los diferentes usuarios (creados por, modificados por, aprobados por, etc.) puede usar la dimensión de juego de roles y las relaciones inactivas, o puede tener una tabla de usuario 'aprobadores' y una tabla de usuarios 'creadores'. Esto también depende del resultado final deseado -
¿quieres ver cuántos formularios creó y aprobó Jorge en el mismo objeto visual? Luego usa las dimensiones de juego de roles
¿O desea filtrar por Jorge como aprobador, y luego filtrar por los creadores en un filtro / visual separado, luego use aprobadores y tablas de usuario separadas de creadores?
Tal vez esto pueda ayudar para la pregunta 3.
El Formulario A tiene un asociado del Formulario B. Relación 1 a 1.
Ambos tienen un usuario. PERO los usuarios entre ellos pueden ser diferentes.
En mi experiencia puedo hacer esto de 3 maneras.
1- Con una tabla suelta, entonces en las tablas de Formularios puedo usar una columna de cálculo, con algo como esto: Caculate(users_table(user_name), user_table(id) = FormA/B(user_id))
2- Con la tabla duplicada, entonces el usuarioA está relacionado con FormA. Y userB está relacionado con FormB.
3- Con una tabla de usuario y relacionada con ambas entonces, PERO una de las relaciones debe estar inactiva.
Si entiendo correctamente @AllisonKennedy dijiste que si necesito 2 filtros en mis visuales que son para usuarios (en este caso necesitamos eso) la forma correcta duplicará la tabla.
Entiendo que la tabla de usuario generalmente es "pequeña", esta opción tiene sentido.
@Migasuke No sé si entiendo correctamente, pero ¿dijiste que la forma en que mi fuente es una base de datos SQL literalmente es "casi" lo mismo porque el plegado de consultas está optimizado para esta fuente?
Entiendo que si podemos usar la fuente para el proceso ETL, deberíamos usar eso, pero ¿es irrelevante en este caso?
Muchas gracias a ambos.
Sí, entendiste correctamente. La mejor opción en este caso sería duplicar la tabla User para que pueda filtrar por creador y luego filtrar por aprobador.