Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Icon for Administrator rankAdministrator
1 year ago

Importación de datos SQL a PBI

Hola

Tengo tablas muy grandes con más de 1 millón de registros y supongo que se parecen a las siguientes. Para una aplicación en particular, solo me interesan los datos relativos a los clientes del tipo de producto "A".

Para tener un esquema de estrella, ¿funcionarían las consultas SQL de importación a continuación? ¿Y son los más eficientes?

Applications Table : SELECT * FROM Applications WHERE ProdType = 'A'					

Alerts Table: 
WITH A_Customer_Codes AS( 
SELECT 
	DISTINCT CustomerID
FROM 
	Alert
WHERE ProdType = 'A'
)
,
Alerts AS (
SELECT
*
FROM Alert
CusID IN  (SELECT CustomerID FROM A_Customer_Codes) 

Pregunto esto porque si importamos la tabla de alertas como SELECT * FROM Alert y nos unimos usando CustomerID / CusID, entonces cargará una gran cantidad de datos. Muchas gracias por su orientación.

3 Replies

  • @luckygirl

    Puedes probar esto

    ESCOGER*
    Alerta FROM
    WHERE CusID IN (
    SELECT DISTINCT CustomerID
    Aplicaciones FROM
    DONDE ProdType = 'A'
    );

    Gracias
    Pankaj

    Si esta solución ayuda, por favor acéptala y da un aplauso (Me gusta), sería muy apreciado.

  • Las consultas se ven bien. Dependiendo de su capacidad, las filas de 1 millón no serán un gran problema. Comenzaría tratando de cargarlo todo y ver qué tan grande es su archivo PBIX después de cargar los datos. Es posible que se sorprenda de cuánto puede cargar en el modelo y aún así ser eficiente y rápido. También creo que es una buena práctica cargar más de lo que pueda necesitar y luego filtrarlo por imágenes para que no omita algo que pueda necesitar más adelante.

  • Hola @luckygirl ,

    @pankajnamekar25 , la consulta propuesta filtra eficazmente la tabla Alerta seleccionando clientes de la tabla Aplicaciones con ProdType = 'A', lo que cumple con sus requisitos. Este método minimiza la carga innecesaria de datos. Para mejorar el rendimiento, asegúrese de que CustomerID en Aplicaciones y CusID en Alerta estén indexados.

    Háganos saber si se necesitan más optimizaciones.
    Si su problema se resuelve, márquelo como la solución aceptada. Esto ayudará a otras personas que se enfrentan a un problema similar.