Múltiples tablas de hechos para resolver relaciones de muchos a muchos

Un usuario Pregunto ✅

tejón123

Oye,

Quiero almacenar datos sobre los clientes y algunas etiquetas de comportamiento categóricas calculadas, por ejemplo, los clientes X e Y son millenials y hombres. Tengo demasiadas etiquetas para tener columnas en una tabla de clientes (alrededor de 100 etiquetas).

Por lo tanto, existe una relación de muchos a muchos entre las etiquetas y los clientes. Los clientes pueden tener muchas etiquetas y las etiquetas se pueden asignar a muchos clientes.

Hay una historia similar con las vacaciones y las etiquetas de vacaciones. Luego, los clientes están vinculados a las vacaciones en las que se van.

¿Es eficiente lo siguiente con múltiples tablas de enlace en PowerBI o sería más eficiente tener una tabla de hechos central (pero muy larga) que vincule todas las claves? ¿O este enfoque es completamente incorrecto?

data_erd.jpg

¡Cualquier ayuda enormemente apreciada!

(El ejemplo es un ejemplo ficticio, así que disculpas si hay fallas)

hola @badger123

Le sugiero que use el esquema de estrella en power bi.

Para obtener más detalles, consulte estos:

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

https://radacad.com/power-bi-basics-of-modeling-star-schema-and-how-to-build-it

Saludos,

Lin

greg_deckler

Si tiene algunos problemas para visualizar los datos, ¿puede publicar datos de ejemplo (¡no todas las 100 columnas!)

tejón123

En respuesta a greg_deckler

Hola @Greg_Deckler, lo siento, no puedo, son datos confidenciales. ¿El diagrama no te da lo suficiente para entender? Déjame saber si tienes preguntas específicas. ¡¡Gracias!!

greg_deckler

En respuesta a tejón123

No busca los datos, solo alguna representación de los datos. Por ejemplo, hablas de clientes y etiquetas, bueno es eso (ver más abajo). Pero, una imagen de su modelo de datos no es suficiente para describir lo que significa «todas las claves». La única información que se puede proporcionar con solo una imagen de un modelo de datos es que, por lo general, desea utilizar un esquema en estrella.

Cliente Etiqueta Valor
Cliente 1 Etiqueta 1 azul
Cliente 1 Etiqueta 2 verde
Cliente 1 Etiqueta 3 plato
Cliente 2 Etiqueta 1 rojo
Cliente 2 Etiqueta 2 azul
Cliente 2 Etiqueta 3 taza

o

Cliente Etiqueta 1 Etiqueta 2 Etiqueta 3
Cliente 1 azul verde plato
Cliente 2 rojo azul taza

tejón123

En respuesta a greg_deckler

Hola @Greg_Deckler

Gracias por ofrecer su ayuda con esto. Estoy luchando por encontrar una solución simple y eficiente después de algunos intentos, así que pensé que sería útil dar un paso atrás y mostrarles lo que estoy tratando de hacer.

He incluido una muestra de los datos que tengo a continuación. Aquí hay algunos ejemplos de las preguntas que me gustaría responder con estos datos:
¿Cuál es el valor total de una categoría entre países o para un país para una fecha o período de tiempo determinado?
¿Cuál es el valor total de un artículo entre países o para un país en una fecha o período de tiempo determinado?
¿Cuál es el valor total de la opinión negativa frente a la opinión positiva de un artículo para una fecha o un período de tiempo determinados?
¿Cuál es el valor total del sentimiento positivo en todas las frutas para una fecha o período de tiempo determinado?

Categoría Articulo Cuerda Sentimiento País Fecha Valor
Fruta naranja me gustan las naranjas y las manzanas positivo Reino Unido ene-20 10
Fruta manzana me gustan las naranjas y las manzanas positivo Reino Unido ene-20 10
Fruta naranja me gustan las naranjas y las manzanas positivo nosotros ene-20 30
Fruta manzana me gustan las naranjas y las manzanas positivo nosotros ene-20 30
Fruta naranja me gustan las naranjas y las manzanas positivo Reino Unido 20 de febrero 60
Fruta manzana me gustan las naranjas y las manzanas positivo Reino Unido 20 de febrero 60
Fruta naranja me gustan las naranjas y las manzanas positivo nosotros 20 de febrero 40
Fruta manzana me gustan las naranjas y las manzanas positivo nosotros 20 de febrero 40
Fruta naranja me gustan las naranjas y las manzanas positivo Reino Unido 20 de marzo 100
Fruta manzana me gustan las naranjas y las manzanas positivo Reino Unido 20 de marzo 100
Fruta naranja me gustan las naranjas y las manzanas positivo nosotros 20 de marzo 120
Fruta manzana me gustan las naranjas y las manzanas positivo nosotros 20 de marzo 120
Fruta naranja no me gustan las naranjas negativo Reino Unido ene-20 30
Fruta naranja no me gustan las naranjas negativo Reino Unido 20 de febrero 20
Fruta naranja no me gustan las naranjas negativo Reino Unido 20 de marzo 50
Vegetal Zanahoria las zanahorias son buenas positivo Reino Unido ene-20 200
Vegetal Zanahoria las zanahorias son buenas positivo Reino Unido 20 de febrero 300
Vegetal Zanahoria las zanahorias son buenas positivo Reino Unido 20 de marzo 400
Vegetal Puerro no disfruto los puerros negativo nosotros ene-20 5
Vegetal Puerro no disfruto los puerros negativo nosotros 20 de febrero 20
Vegetal Puerro no disfruto los puerros negativo nosotros 20 de marzo 15

Tratando de averiguar la mejor manera de dividir esto en tablas separadas. Me resulta difícil porque el valor se basa en cada cadena a nivel de país para cada fecha. La misma cadena puede existir en más de un país. Una cadena se puede asignar a varios elementos y un elemento puede tener varias cadenas. Entonces, ¿cómo puedo construir mejor el modelo para que reconozca que Orange es el mismo elemento en todos los países, pero tiene diferentes cadenas (y, por lo tanto, valores) para cada país?

¡Cualquier idea sería muy apreciada!

Ashish_Mathur

En respuesta a tejón123

Hola,

¿Podría mostrar amablemente los resultados exactos que espera?

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *