Table of Contents

Crear grupos de tablas

Propósito del script

Este script crea grupos de tablas predeterminados en Tabular Editor 3.

Secuencia de comandos

Título del script

// Recorrer todas las tablas:
foreach(var table in Model.Tables)
{
    if (table is CalculationGroupTable)
    {
        table.TableGroup = "Calculation Groups";
    }
    else if (!table.UsedInRelationships.Any() && table.Measures.Any(m => m.IsVisible))
    {
        // Tablas que contienen medidas visibles, pero sin relaciones con otras tablas
        table.TableGroup = "Measure Groups";
    }
    else if (table.UsedInRelationships.All(r => r.FromTable == table) && table.UsedInRelationships.Any())
    {
        // Tablas exclusivamente en el lado "muchos" de las relaciones:
        table.TableGroup = "Facts";
    }
    else if (!table.UsedInRelationships.Any() && table is CalculatedTable && !table.Measures.Any())
    {
        // Tablas sin ninguna relación, que son tablas calculadas y no tienen medidas:
        table.TableGroup = "Parameter Tables";
    }
    else if (table.UsedInRelationships.Any(r => r.ToTable == table))
    {
        // Tablas en el lado "uno" de las relaciones:
        table.TableGroup = "Dimensions";
    }
    else
    {
        // Todas las demás tablas:
        table.TableGroup = "Misc";
    }
}

Explicación

El script recorre todas las tablas del modelo y asigna un grupo de tablas en función de determinadas propiedades.