Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
Mi modelo de datos consta de Estudiantes, Programas, Solicitudes, Inscripciones, Graduaciones y ECTS. Un estudiante aplica a múltiples programas en varios períodos (Año Académico + Sesión Académica). Una solicitud puede tener un registro asociado, y si todo va bien, el estudiante también se graduará. Cada año, el estudiante obtiene una serie de créditos (ECTS). Puedo agregar más tablas más adelante, por ejemplo, una tabla de "Promedio de calificaciones" (que funcionaría igual que la tabla ECTS).
Hay un archivo de Excel con datos ficticios:
Y he creado dos archivos PBIX:
https://www.dropbox.com/s/dai8z6nunjcr5ey/AppRegGrad.pbix?dl=0
https://www.dropbox.com/s/bqwgfo5sy7m1vop/AppRegGrad%20-%20Star.pbix?dl=0
Mi enfoque inicial fue crear una mesa plana (Frankenstein). Es muy contundente, pero definitivamente funciona. Debo mencionar que mi conjunto de datos real no será muy grande (menos de un millón de registros). Acabo de dejar que la unión exterior fusione todo, y las medidas son bastante fáciles. Sin embargo, probablemente no sea una solución muy preparada para el futuro.
Mi segundo intento fue crear un modelo que supongo que es un copo de nieve. Estoy vinculando directamente las solicitudes a las inscripciones mediante la creación de una clave (Año + Sesión + Programa + Estudiante). Sin embargo, la tabla ECTS y Graduaciones no tiene la variable Sesión, por lo que necesito una clave diferente (Año+Programa+Estudiante). Por otro lado, el Students_v2 no tiene una variable Programa, por lo que para eso necesito otra clave (Año + Sesión + Estudiante). Me parece convulsionado, pero visualmente parece lógico, porque hay un flujo desde la admisión hasta la inscripción y la graduación. Además, funciona. Aunque todavía no sé cómo calcular algo como "Duración del estudio", ya que involucra variables de dos tablas diferentes (Inscripciones.Fecha, Graduaciones.Fecha de graduación). También me preocupa usar cadenas de texto largas como claves, ya que prefiero usar enteros para claves (tengo un fondo php / MySQL).
Puedes encontrar estos dos primeros diseños en https://www.dropbox.com/s/dai8z6nunjcr5ey/AppRegGrad.pbix?dl=0
Mi último intento fue crear un esquema estrella.
Ver https://www.dropbox.com/s/bqwgfo5sy7m1vop/AppRegGrad%20-%20Star.pbix?dl=0
Estos parecen ser muy recomendables, y debería ser el camino a seguir a menos que tenga algunas buenas razones para no usarlo. Hasta ahora mi razón es que no puedo descubrir cómo hacer que funcione, pero no creo que esa sea una buena razón.
El truco aquí es crear una o más dimensiones comunes. En este caso Calendario y Programas.
Sin embargo... mi tabla Students_v2 no tiene una variable Program y la fecha no es única. Además, mis tablas de ECTS y Graduaciones no tienen la variable Sesión Académica. Podría agregar esas variables, pero eso significa tomar los datos de la tabla Aplicaciones, probablemente a través de alguna fusión.
Sé que puedo tomar la salida fácil porque mi conjunto de datos es pequeño. Pero me gustaría hacerlo de la manera correcta.
¿Cuál sería el mejor enfoque aquí? Y en caso de que el mejor enfoque no implique un esquema estelar, ¿sería posible usar un esquema estelar, o es una mala idea "forzar" una dimensión común?
Mi pregunta está relacionada con:
https://community.powerbi.com/t5/Desktop/Relationship-between-Fact-to-Fact-tables/m-p/648556
Solved! Go to Solution.
Comenzaría con un modelo como este y luego haría ajustes si fuera necesario.
Muchas gracias por indicarme la dirección correcta. Su respuesta, junto con algo de música celta de Adrian von Ziegler, me ayudó a entender dónde me equivoqué con mi esquema de estrellas.
Descargas:
https://www.dropbox.com/s/eh7uhgo2luo7h40/AppRegGrad_v2.png?dl=0
https://www.dropbox.com/s/2xlvjkwjdmw2som/AppRegGrad_v2.pbix?dl=0
Cometió un error. Escribí que podría agregar mis datos de Students_v2 (Género, Nacionalidad) a los datos de aplicaciones, pero eso NO funciona. ¿Por qué no? Porque no se filtrará a través de las otras tablas, como Registros. Para que esto funcione, una vez más tenemos que crear una dimensión común. En el caso de Students_v2 necesitamos construir una clave a partir del número de estudiante y la fecha. Elimine todas las demás columnas, excepto Género y Nacionalidad. Y luego deduplicar. Añade las mismas claves a Solicitudes, Inscripciones, Graduaciones y ECTS (básicamente todas las tablas a las que quieras aplicar el filtro Género o Nacionalidad).
El esquema de estrellas es la mejor pratice, pero no puedo ver ver https://www.dropbox.com/s/bqwgfo5sy7m1vop/AppRegGrad%20-%20Star.pbix?dl=0
Por favor, compruebe que el enlace es compartido
Dropbox me informó que los archivos PBIX no se pueden previsualizar. Así que la única opción es descargar el archivo. Disculpas por las molestias. Agregaré algunas capturas de pantalla la próxima vez que tenga una pregunta relacionada con el modelo.
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
1 | |
1 | |
1 | |
1 | |
1 |