Mostrar las dependencias del origen de datos
Propósito del script
El script devuelve las tablas que hacen referencia al origen de datos explícito (heredado) seleccionado. Esto facilita determinar dónde se utiliza el origen de datos seleccionado.
Secuencia de comandos
Mostrar las dependencias del origen de datos
//El script devuelve las tablas que hacen referencia al origen de datos explícito (heredado) seleccionado.
if (Model.DataSources.Count == 0)
{
Info("Este modelo no contiene ningún origen de datos; está vacío o usa orígenes de datos implícitos");
return;
}
// Comprueba que se haya seleccionado un origen de datos
DataSource selectedDatasource = null;
if (Selected.DataSources.Count == 1)
selectedDatasource = Selected.DataSource;
else
selectedDatasource = SelectObject<DataSource>(Model.DataSources, null, "Selecciona el origen de datos del que quieres ver las dependencias");
// Orígenes heredados
var legacyTables = Model.Tables.Where(t => t.Source == selectedDatasource.Name).ToList();
// Orígenes M
var mTables = Model.Tables.Where(t => t.Partitions.Any(p => p.Expression.Contains($"= #\"{selectedDatasource.Name}\","))).ToList();
// unir listas
var allTables = legacyTables.Union(mTables).OrderBy(t => t.Name);
// Mostrar el resultado
var tableString = string.Join("\r\n", allTables.Select(t => t.Name));
Info($"El origen de datos {selectedDatasource.Name} se usa en las siguientes tablas:\r\n" + tableString);
Explicación
Este fragmento toma el origen de datos seleccionado y recorre el modelo para recopilar las particiones en las que se utiliza ese origen de datos.
Salida de ejemplo
