Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Grow your Fabric skills and prepare for the DP-600 certification exam by completing the latest Microsoft Fabric challenge.

Reply
Syndicate_Admin
Administrator
Administrator

Tabla plana frente a esquema rígido

Leí sobre la importancia de crear un esquema estelar en power-bi. Hice un gran informe usando tabel plano que tiene alrededor de 2,8 filas de milión y contiene de 5 tabels.

https://docs.microsoft.com/en-us/power-bi/guidance/star-schema

Entonces decidí intentar hacer un modelo de esquema estelar en power bi con esos tabel sin embargo me di cuenta de que mi declaración de dónde en el tabel plano es sólo sobre tabel. Luego subo este tabel con donde declaración y obviamente era bastante pequeño. Sin embargo, cuando subí otros tres tabels sin una instrucción where que reaized tengo más de 10 M filas por tabel.

¿Puede alguien explicarme qué estoy haciendo aquí mal, porque siento que me estoy perdiendo algunos principios.

3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

Hola

Estoy haciendo algunas suposiciones que creo que satisfacen sus necesidades. Has empezado con una consulta
ESCOGER

*
DE Hecho F
JOIN Dim1 D1 ON F.d1key = D1.d1key
JOIN Dim2 D2 ON F.d2key = D2.d2key
JOIN Dim3 D3 ON F.d3key = D3.d3key
JOIN Dim4 D4 ON F.d4key = D4.d4key
DONDE 'Alguna condición en digamos D2'

Ahora, para crear un modelo de estrella adecuado a partir de este conjunto Y mantener todas sus tablas DIM pequeñas y relevantes para el alcance de la situación, simplemente use lo siguiente:

ESCOGER
F.*

DE Hecho F
JOIN Dim2 D2 ON F.d2key = D2.d2key
DONDE 'Alguna condición en digamos D2'

SELECCIONAR DISTINTO
D1.*

DE Hecho F
JOIN Dim1 D1 ON F.d1key = D1.d1key
JOIN Dim2 D2 ON F.d2key = D2.d2key
DONDE 'Alguna condición en digamos D2'

SELECCIONAR DISTINTO

D2.*

DE Hecho F
JOIN Dim2 D2 ON F.d2key = D2.d2key
DONDE 'Alguna condición en digamos D2'

SELECCIONAR DISTINTO

D3.*

DE Hecho F
JOIN Dim2 D2 ON F.d2key = D2.d2key
JOIN Dim3 D3 ON F.d3key = D3.d3key
DONDE 'Alguna condición en digamos D2'

SELECCIONAR DISTINTO

D4.*

DE Hecho F
JOIN Dim2 D2 ON F.d2key = D2.d2key
DONDE 'Alguna condición en digamos D2'

Básicamente, la tabla de hechos mantiene todo relevante y se minimizan las uniones a otras tablas solo para lo que se necesita en la instrucción where.

En lugar de D1.*, tal vez solo necesite 3 columnas de la tabla D1. Así que reemplácelo con los nombres de las columnas.

Tal vez para llegar a D4, tienes que hacer una unión en D3 para llegar allí. En este caso, tendría que mantener D3 en las uniones aunque no se use en la instrucción SELECT o WHERE. Además, si este es el caso, la consulta original se ve diferente al ejemplo que proporcioné.

Tal vez su instrucción WHERE tiene condiciones en varias tablas. A continuación, debe mantener las uniones en cada consulta de tabla tenue para mantener la instrucción WHERE en esas tablas.

En todos los casos, es extremadamente importante recordar incluir sus columnas de relación. Si su JOIN está en 2 columnas, entonces en ambas tablas, debe combinarlas en una sola columna de alguna manera. Generalmente utilizo Col1 por defecto| Col2. Hay muchas maneras de hacerlo, recomiendo buscarlas y usar el método que funcione para usted.

Si esto resuelve su problema, por favor hágamelo saber.

Syndicate_Admin
Administrator
Administrator

No @round23

Sus necesidades no son muy claras.

Si desea utilizar el esquema Star para administrar relaciones , ¿cuáles son las tablas de Dimensión ? ¿Qué hay de sus mesas de hechos? ¿Podría proporcionar algunos datos detallados o muestra para ayudarnos a lidiar mejor con el problema?

Saludos

Equipo de apoyo comunitario _ Ailsa Tao

Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los demás miembros a encontrarla más rápidamente.

Syndicate_Admin
Administrator
Administrator

Hey @round23 ,

Creo que tienes que explicar un poco mejor lo que estás haciendo.

Supongo que Tabel significa mesa. ¿Dónde tiene una instrucción where, a dónde carga las tablas? Por favor, explique mejor, con capturas de pantalla, modelo de datos, etc. que podemos ayudarle.

Saludos

Denis

Helpful resources

Announcements
Europe Fabric Conference

Europe’s largest Microsoft Fabric Community Conference

Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.

RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

MayPowerBICarousel1

Power BI Monthly Update - May 2024

Check out the May 2024 Power BI update to learn about new features.

Top Solution Authors
Top Kudoed Authors