Eliminar Data sources sin usar
Información general
Esta regla de prácticas recomendadas identifica Data sources a los que no hace referencia ninguna partición ni ninguna expresión de tabla. Eliminar Data sources sin usar reduce la complejidad del modelo, mejora su mantenibilidad y evita confusiones.
- Categoría: Mantenimiento
- Gravedad: Baja (1)
Se aplica a
- Orígenes de datos del proveedor
- Orígenes de datos estructurados
Por qué es importante
Los Data sources sin usar generan una sobrecarga innecesaria:
- Carga de mantenimiento: Es necesario mantener las credenciales y las cadenas de conexión de las conexiones sin uso
- Riesgos de seguridad: Las cadenas de conexión innecesarias pueden exponer información confidencial
- Complejidad del modelo: Los objetos adicionales saturan la lista de Data sources
- Confusión: Los desarrolladores pueden usar por error Data sources obsoletos
- Problemas de implementación: Los Data sources sin usar pueden apuntar a sistemas que ya no existen
- Sobrecarga de documentación: Los objetos adicionales requieren explicación en la documentación del modelo
Los Data sources sin usar suelen deberse a:
- Refactorizar las particiones para usar otros orígenes de datos
- Consolidar varios orígenes en uno solo
- Eliminar tablas sin limpiar los Data sources asociados
- Probar métodos de conexión alternativos
Cuándo se activa esta regla
La regla se activa cuando un Data source cumple todas estas condiciones:
UsedByPartitions.Count() == 0
and not Model.Tables.Any(SourceExpression.Contains(OuterIt.Name))
and not Model.AllPartitions.Any(Query.Contains(OuterIt.Name))
En otras palabras:
- Ninguna partición hace referencia directamente al Data source
- Ninguna expresión de origen de tabla (consultas M) hace referencia al Data source por su nombre
- Ninguna consulta de partición contiene el nombre del Data source
Cómo corregirlo
Corrección automática
Esta regla incluye una corrección automática que elimina el Data source no utilizado:
Delete()
Para aplicarlo:
- En Best Practice Analyzer, selecciona los objetos marcados
- Haz clic en Aplicar corrección
Corrección manual
- En Explorador TOM, expande el nodo Data sources
- Haz clic con el botón derecho en el Data source no utilizado
- Selecciona Eliminar
- Confirma la eliminación
Antes de eliminar
Comprueba que el Data source realmente no está en uso:
- Revisa todas las particiones de todas las tablas
- Busca referencias al nombre del Data source en las expresiones M
- Revisa las expresiones personalizadas y las tablas calculadas
- Asegúrate de que ninguna documentación haga referencia a la conexión
Ejemplo
Antes de la corrección
Data sources:
- SQLServer_Production (Provider, usado por la partición Sales)
- SQLServer_Staging (Provider, NO SE UTILIZA) ← Eliminar
- AzureSQL_Archive (Structured, NO SE UTILIZA) ← Eliminar
- PowerQuery_Web (Structured, usado por la partición Product)
Después de la corrección
Data sources:
- SQLServer_Production (Provider, usado por la partición Sales)
- PowerQuery_Web (Structured, usado por la partición Product)
Resultado: Un modelo más sencillo con solo los Data sources necesarios
Falsos positivos
La regla puede señalar Data sources que:
- Se referencian mediante expresiones M dinámicas usando variables
- Se usan en consultas de partición comentadas
- Se referencian por nombre en anotaciones o descripciones
Solución: Verifica manualmente antes de eliminarlo; añade comentarios o anotaciones si el Data source debe conservarse por motivos de documentación.
Nivel de compatibilidad
Esta regla se aplica a modelos con nivel de compatibilidad 1200 o superior.