Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
data-goblin avatar

C Sharp Scripting

  • 35 installs
  • 836 repo stars
  • Updated July 29, 2026
  • data-goblin/power-bi-agentic-development

Write C# scripts against the Tabular Editor object model to bulk-edit Power BI semantic models, such as adding descriptions to all tables, columns, and measures.

About

Provides C# scripting patterns against the Tabular Editor Model object model to programmatically iterate and modify tables, columns, and measures in a semantic model. A developer uses it to automate bulk model edits like setting default descriptions across all objects.

  • Iterates Model.Tables and Model.AllMeasures to edit objects
  • Bulk-sets descriptions on tables, columns, and measures

C Sharp Scripting by the numbers

  • 35 all-time installs (skills.sh)
  • Ranked #1,060 of 2,064 Data Science & ML skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/data-goblin/power-bi-agentic-development --skill c-sharp-scripting

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs35
repo stars836
Last updatedJuly 29, 2026
Repositorydata-goblin/power-bi-agentic-development

What it does

Write C# scripts against the Tabular Editor object model to bulk-edit Power BI semantic models, such as adding descriptions to all tables, columns, and measures.

Files

examples/bulk-operations/add_descriptions_to_all.csxTextGitHub ↗
// Example: Add Descriptions to All Objects
// This script adds default descriptions to all tables, columns, and measures

// Add descriptions to tables
foreach(var table in Model.Tables) {
    if(string.IsNullOrEmpty(table.Description)) {
        table.Description = "Table: " + table.Name;
    }
}

// Add descriptions to columns
foreach(var table in Model.Tables) {
    foreach(var column in table.Columns) {
        if(string.IsNullOrEmpty(column.Description)) {
            column.Description = column.Name + " from " + table.Name;
        }
    }
}

// Add descriptions to measures
foreach(var measure in Model.AllMeasures) {
    if(string.IsNullOrEmpty(measure.Description)) {
        measure.Description = "Measure: " + measure.Name;
    }
}

Info("Added descriptions to all objects");

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.