Microsoft Fabric Community Conference 2025, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount.
Register nowThe Power BI DataViz World Championships are on! With four chances to enter, you could win a spot in the LIVE Grand Finale in Las Vegas. Show off your skills.
Tengo una pregunta. Quiero saber cómo usar una clave primaria y claves externas en la práctica.
Un banco tiene diferentes departamentos, como tarjetas de crédito, cuentas de ahorro y préstamos. Por lo tanto, tiene diferentes listas de clientes para tarjetas de crédito, cuentas de ahorro y préstamos. Pero el ID de cliente puede existir en más de una lista de clientes. Por ejemplo, si un cliente utiliza una tarjeta de crédito y una cuenta de ahorros en el mismo banco, el cliente sale en la tabla de tarjetas de crédito y la tabla de cuentas de ahorro.
¿Cómo hacer que los clientes de diferentes departamentos se relacionen entre sí?
La única forma que se me ocurre a continuación es combinar todas las listas de clientes de diferentes departamentos para obtener una lista de clientes única, y luego usarla como una tabla de claves principal para construir conexiones entre sí.
Tabla de tarjetas de crédito
ID de cliente | Tipos |
A123456 | .... |
A123789 | ... |
Tabla de cuentas de ahorro
ID de cliente | Importe |
A123456 | ... |
A224455 | ... |
Tabla de cuentas de préstamo
ID de cliente | Importe |
A123147 | ... |
A123789 | ... |
Para obtener una tabla principal, combine la tabla de tarjetas de crédito, la tabla de cuentas de ahorro y la tabla de cuentas de préstamo.
ID de cliente |
A123456 |
A123789 |
A224455 |
A123147 |
¿Hay alguna otra solución para resolverlo? ¿Se puede resolver usando Dax? Porque habrá millones de datos de diferentes departamentos. Fusionarlos todos para obtener una identificación de cliente única lleva mucho tiempo. Gracias.
Ese es el enfoque correcto a utilizar, tener una tabla que contenga los clientes únicos que luego tenga relaciones con todas las demás tablas.
Hay diferentes maneras de lograr la lista única. Puede haber una tabla que pueda obtener de la fuente que ya contiene esta información. Si no, Power Query es probablemente el mejor lugar para hacerlo. Puede tomar una referencia a cada una de las tablas existentes, eliminar todas las columnas excepto la clave de cliente, eliminar valores duplicados, anexar todas las consultas juntas y, a continuación, eliminar todos los valores duplicados de nuevo. Probablemente valdría la pena hacer algunas pruebas para ver si eliminar los duplicados antes de hacer el anexo mejora el rendimiento o no.
Como último recurso, puede hacerlo en DAX creando una tabla como
Unique Customers =
DISTINCT (
UNION (
DISTINCT ( 'Bank account'[Customer ID] ),
DISTINCT ( 'Credit Card'[Customer ID] ),
DISTINCT ( 'Loan'[Customer ID] )
)
)