Create Table Groups
Applies to:
- ✔Tabular Editor 3.x
Script Purpose
This script creates default table groups within Tabular Editor 3.
Script
Script Title
// Loop through all tables:
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))
{
// Tables containing visible measures, but no relationships to other tables
table.TableGroup = "Measure Groups";
}
else if (table.UsedInRelationships.All(r => r.FromTable == table) && table.UsedInRelationships.Any())
{
// Tables exclusively on the "many" side of relationships:
table.TableGroup = "Facts";
}
else if (!table.UsedInRelationships.Any() && table is CalculatedTable && !table.Measures.Any())
{
// Tables without any relationships, that are Calculated Tables and do not have measures:
table.TableGroup = "Parameter Tables";
}
else if (table.UsedInRelationships.Any(r => r.ToTable == table))
{
// Tables on the "one" side of relationships:
table.TableGroup = "Dimensions";
}
else
{
// All other tables:
table.TableGroup = "Misc";
}
}
Explanation
The scripts loops through all tables in the model assigning a table group according to specific properties.