c-sharp-scripting
/c-sharp-scripting
Pisze i uruchamia skrypty oraz makra w C# na modelach semantycznych Power BI przez Tabular Editor 2/3, na przykład masowe zmiany miar, grupy obliczeń i formatowanie DAX.
- Repozytorium
- pbi_agentic_dev ↗
- Licencja
- GPL-3.0
- Ostatnia zmiana repozytorium
- 27.10.2026
Ocena i bezpieczeństwo
- Pliki w paczce
- 230
- Skrypty
- 3
- Komentarze HTML
- 0
- Adresy URL w SKILL.md
- 6
Brak sygnałów. Repozytorium zmienione 27.10.2026, bez odwołań do wycofanych modeli i API.
GPL-3.0, otwarta.
- 3 skrypty w paczce. Przejrzyj je przed instalacją, bo Claude może je uruchomić.
Skrypty: examples/macros/add_macro.py, examples/macros/create_macros_json.py, examples/macros/validate_macros.py
Co robi i kiedy
Pisze i uruchamia skrypty oraz makra w C# na modelach semantycznych Power BI przez Tabular Editor 2/3, na przykład masowe zmiany miar, grupy obliczeń i formatowanie DAX.
Wyzwalacze z opisu
Oryginalny opis (EN)
Writing and executing C# scripts and macros against Power BI semantic models using Tabular Editor 2/3. Automatically invoke when the user mentions "C# script", "Tabular Editor script", "TOM scripting", "MacroActions.json", "XMLA", or asks to "automate model changes", "bulk update measures", "create calculation groups", "write a macro", "format DAX expressions", "manage model metadata".
Jak działa
- When to Use This Skill
- Critical
- C Version Support
- Default Imports and Assemblies
- Prerequisites
- Execution Methods
- Core Objects
- LINQ Fundamentals
- Helper Methods
- WinForms UI Patterns
Podgląd SKILL.md
---
name: c-sharp-scripting
version: 26.40.3
description: Writing and executing C# scripts and macros against Power BI semantic models using Tabular Editor 2/3. Automatically invoke when the user mentions "C# script", "Tabular Editor script", "TOM scripting", "MacroActions.json", "XMLA", or asks to "automate model changes", "bulk update measures", "create calculation groups", "write a macro", "format DAX expressions", "manage model metadata".
---
# C# Scripting for Tabular Editor
Expert guidance for writing and executing C# scripts to manipulate Power BI semantic model metadata using Tabular Editor 2/3 CLI or the Tabular Editor IDE.
## When to Use This Skill
Activate automatically when tasks involve:
- Writing C# scripts for Tabular Editor
- Bulk operations on model objects (measures, columns, tables)
- Creating or modifying calculation groups
- Managing model security (roles, RLS, OLS)
- Formatting DAX expressions
- Automating repetitive model changes
- Querying model metadata via TOM API
- Building interactive scripts with user input dialogs
## Critical
- Every statement must end with `;` (semicolon required by C#)
- Use double quotes `"` for strings and escape with `\` when needed
- Use forward slashes `/` in DisplayFolder paths (auto-converted to `\`)
- Always add `Info()` statements for debugging - script stops at error point
- Test scripts on non-production models first
- Changes are undoable with Ctrl+Z in the Tabular Editor UI
## C# Version Support
| Environment | C# Version | Notes |
|-------------|------------|-------|
| **Tabular Editor 2** | Default compiler | Older C# syntax |
| **Tabular Editor 3** | Roslyn | Supports up to C# 12 with VS2022 |
| **TE2 with Roslyn** | Configurable | Set in File > Preferences > General |
To use newer C# features in TE2, configure Roslyn compiler path in preferences.
## Default Imports and Assemblies
### Auto-Imported Namespaces
Scripts automatically have these `using` statements applied:
```csharp
using System;
using System.Linq;
using System.Collections.Generic;
using Newtonsoft.Json;
using TabularEditor.TOMWrapper;
using TabularEditor.TOMWrapper.Utils;
using TabularEditor.UI;
```
### Pre-Loaded Assemblies
These .NET assemblies are loaded by default:
- `System.Dll`
- `System.Core.Dll`
- `System.Data.Dll`
- `System.Windows.Forms.Dll` (for UI dialogs)
- `Microsoft.Csharp.Dll`
- `Newtonsoft.Json.Dll`
- `TomWrapper.Dll`
- `TabularEditor.Exe`
- `Microsoft.AnalysisServices.Tabular.Dll`
### Adding External Assemblies
```csharp
// Assembly references must be at the very top of the file:
#r "System.IO.Compression"
#r "System.Drawing"
// Using statements come after assembly references:
using System.IO.Compression;
using System.Drawing;
```
## Prerequisites
### For Tabular Editor CLI
| Requirement | Description |
|-------------|-------------|
| **Tabular Editor 2 CLI** | Download from [GitHub releases](https://github.com/TabularEditor/TabularEditor/releases) |
| **XMLA Read/Write** | Enabled on Fabric capacity or Power BI Premium |
| **Azure Service Principal** | For XMLA connections (see authentication.md) |
### Environment Variables (for XMLA)
```
AZURE_CLIENT_ID=<app-id>
AZURE_TENANT_ID=<tenant-id>
AZURE_CLIENT_SECRET=<secret>
```
## Execution Methods
### 1. Tabular Editor CLI
```bash
# Inline script
TabularEditor.exe "WorkspaceName/ModelName" -S "Info(Model.Database.Name);"
# Script file
TabularEditor.exe "WorkspaceName/ModelName" -S "script.csx"
```
### 2. Connection Types
| Type | Format | Example |
|------|--------|---------|
| **XMLA** | `workspace/model` | `"Sales WS/Sales Model"` |
| **Local BIM** | `path/to/model.bim` | `"./model.bim"` |
| **Local TMDL** | `path/to/definition/` | `"./MyModel.SemanticModel/definition/"` |
| **PBI Desktop** | `localhost:PORT` | `"localhost:52123"` |
## Core Objects
### The `Model` Object
Access any object in the loaded Tabular Model:
```csharp
Model // Root model object
Model.Tables // All tables
Model.Tables["Sales"] // Specific table
Model.AllMeasures // All measures across all tables
Model.AllColumns // All columns across all tables
Model.Relationships // All relationships
Model.Roles // All security roles
Model.CalculationGroups // All calculation groups
Model.Perspectives // All perspectives
Model.Cultures // All translations/cultures
Model.Expressions // All M expressions (shared queries)
Model.DataSources // All data sources
```
### The `Selected` Object
Access objects currently selected in the TOM Explorer (IDE only):
```csharp
// Plural form - collections (safe even when empty)
Selected.Tables // Selected tables
Selected.Measures // Selected measures
Selected.Columns // Selected columns
Selected.Hierarchies // Selected hierarchies
// Singular form - single object (error if not exactly one selected)
Selected.Table // The single selected table
Selected.Measure // The single selected measure
Selected.Column // The single selected column
// Set properties on multiple objects at once
Selected.Measures.DisplayFolder = "Test";
Selected.Columns.IsHidden = true;
// Bulk rename with pattern
Selected.Measures.Rename("Amount", "Value");
```
When a Display Folder is selected, all child items are included in the selection.
## LINQ Fundamentals
LINQ is essential for filtering and transforming TOM collections. See **`references/linq-reference.md`** for the full method table, lambda syntax, and examples.
Key methods: `Where()`, `First()`, `FirstOrDefault()`, `Any()`, `All()`, `Count()`, `Select()`, `OrderBy()`, `ForEach()`, `ToList()`.
```csharp
// Common pattern: filter, chain, act
Model.AllMeasures
.Where(m => m.Name.Contains("Revenue"))
.Where(m => string.IsNullOrEmpty(m.FormatString))
.ForEach(m => m.FormatString = "$#,0");
```
## Helper Methods
See **`references/helper-methods.md`** for the complete reference including Output() variations, file operations, property export/import, interactive selection dialogs, DAX formatting/execution, and macro invocation.
| Method | Purpose |
|--------|---------|
| `Info(message)` | Display info popup (CLI: writes to console) |
| `Warning(message)` | Display warning popup |
| `Error(message)` | Display error popup and stop script |
| `Output(object)` | Display detailed object inspector dialog |
| `SaveFile(path, content)` / `ReadFile(path)` | File I/O |
| `ExportProperties()` / `ImportProperties()` | TSV export/import |
| `SelectMeasure()` / `SelectTable()` | Interactive selection (IDE only) |
| `FormatDax()` / `CallDaxFormatter()` | DAX formatting |
| `EvaluateDax()` / `ExecuteDax()` | DAX execution (connected) |
## WinForms UI Patterns
For interactive dialogs (input forms, dropdowns, multi-select), see **`references/winforms-dialogs.md`**. Key setup: `#r "System.Drawing"`, `ScriptHelper.WaitFormVisible = false;`
## Quick Reference
### Core Patterns
**Add a Measure:**
```csharp
var m = Model.Tables["Sales"].AddMeasure("Total Revenue", "SUM(Sales[Amount])");
m.FormatString = "$#,0";
m.DisplayFolder = "Key Metrics";
m.Description = "Total sales revenue";
Info("Added: " + m.Name);
```
**Iterate Tables/Columns:**
```csharp
foreach(var t in Model.Tables) {
foreach(var c in t.Columns.Where(c => c.Name.EndsWith("Key"))) {
c.IsHidden = true;
}
}
Info("Hidden key columns");
```
**Conditional Operations:**
```csharp
foreach(var m in Model.AllMeasures) {
if(m.Name.Contains("Revenue")) m.FormatString = "$#,0";
if(m.Name.Contains("Rate")) m.FormatString = "0.00%";
}
```
**Create Calculation Group:**
```csharp
var cg = Model.AddCalculationGroup("Time Intelligence");
cg.Precedence = 10;
var ytd = cg.AddCalculationItem("YTD", "CALCULATE(SELECTEDMEASURE(), DATESYTD('Date'[Date]))");
var prior = cg.AddCalculationItem("Prior Year");
prior.Expression = @"
CALCULATE(
SELECTEDMEASURE(),
DATEADD('Date'[Date], -1, YEAR)
)
";
Info("Created calculation group");
```
### TOM API Quick Reference
| Object | Access | Common Properties |
|--------|--------|-------------------|
| **Model** | `Model` | `.Tables`, `.AllMeasures`, `.Relationships` |
| **Table** | `Model.Tables["Name"]` | `.Measures`, `.Columns`, `.Partitions`, `.IsHidden` |
| **Measure** | `Table.Measures["Name"]` | `.Expression`, `.FormatString`, `.DisplayFolder`, `.Description` |
| **Column** | `Table.Columns["Name"]` | `.DataType`, `.FormatString`, `.IsHidden`, `.SummarizeBy` |
| **Relationship** | `Model.Relationships` | `.FromTable`, `.ToTable`, `.IsActive`, `.CrossFilteringBehavior` |
| **Role** | `Model.Roles["Name"]` | `.Members`, `.TablePermissions` |
| **Hierarchy** | `Table.Hierarchies` | `.Levels`, `.DisplayFolder`, `.IsHidden` |
| **Partition** | `Table.Partitions` | `.Expression`, `.SourceType`, `.DataSource` |
| **Perspective** | `Model.Perspectives` | Objects have `.InPerspective["Name"]` |
| **Culture** | `Model.Cultures` | Objects have `.TranslatedNames["culture"]` |
## Object Type Reference
Detailed documentation for each object type in `object-types/`:
- `tables.md` - Table CRUD, properties, partitions
- `columns.md` - Column types, properties, sorting
- `measures.md` - Measure creation, formatting, organization
- `relationships.md` - Relationship management
- `calculation-groups.md` - Calculation groups and items
- `roles.md` - Roles, RLS, OLS configuration
- `hierarchies.md` - Hierarchy and level management
- `partitions.md` - Partition types and configuration
- `perspectives.md` - Perspective membership
- `translations.md` - Culture and translation management
- `annotations.md` - Custom metadata annotations
## Example Scripts
180 working `.csx` scripts organized by category in `examples/`. Before writing a script from scratch, check if a relevant example already exists -- read the example, adapt it to the task, and modify as needed.
| Category | Scripts | Description |
|----------|---------|-------------|
| `bulk-operations/` | 8 | Model initialization, batch updates, clean names, sync folders, validate |
| `calculation-groups/` | 2 | Time intelligence, currency conversion |
| `columns/` | 20 | Data types, hiding, sorting, encoding hints, cardinality, properties |
| `cultures/` | 4 | Add/delete cultures, list, modify translations |
| `display-folders/` | 8 | Organize by type, clear, rename, add/remove folders |
| `evaluate-dax/` | 5 | Execute DAX, scalar queries, table queries, column sizes, optimize |
| `format-dax/` | 8 | Format measures, calculated columns/tables, KPIs, detail rows |
| `format-strings/` | 6 | Apply by name/pattern, custom formats, dynamic format strings |
| `functions/` | 4 | Add/delete/list/modify shared M functions |
| `hierarchies/` | 4 | Add/delete/list/modify hierarchies |
| `kpis/` | 4 | Add/delete/list/modify KPIs |
| `measures/` | 18 | Full CRUD, time intelligence, bulk create, move, hide/unhide |
| `model/` | 10 | Properties, compatibility level, dependencies, refresh, export stats |
| `partitions/` | 6 | Refresh, find-replace M, incremental refresh, hybrid tables |
| `perspectives/` | 4 | Add/delete/list/modify perspectives |
| `relationships/` | 5 | Create, naming conventions, RI violations, integrity, properties |
| `roles/` | 7 | Add/delete roles, members, RLS, OLS configuration |
| `shared-expressions/` | 6 | Named expressions, range parameters, M functions |
| `svg-measures/` | 15 | Bar charts, bullet charts, dumbbells, lollipops, waterfall, jitter |
| `tables/` | 36 | All table types (import, DirectQuery, Direct Lake, calculated, field parameter, date), refresh policies, RLS/OLS, properties |
## Common Workflows
See **`references/common-workflows.md`** for complete workflow scripts: bulk format measures, create time intelligence measures, configure RLS, audit hidden objects. Also check `examples/` for 180 working `.csx` scripts before writing from scratch.
## Debugging & Troubleshooting
### Script Doesn't Complete
Add `Info()` checkpoints to find where script fails:
```csharp
Info("Step 1: Starting");
var table = Model.Tables["Sales"];
Info("Step 2: Got table");
var measure = table.AddMeasure("Test", "1");
Info("Step 3: Added measure"); // If this doesn't appear, AddMeasure failed
```
### Object Not Found
Check existence before accessing:
```csharp
if(Model.Tables.Contains("Sales")) {
var table = Model.Tables["Sales"];
// ...
} else {
Error("Table 'Sales' not found");
}
// Or use FirstOrDefault
var table = Model.Tables.FirstOrDefault(t => t.Name == "Sales");
if(table == null) {
Error("Table not found");
}
```
### Changes Not Appearing
- XMLA operations may take 2-5 seconds to sync
- Refresh Power BI Desktop connection after changes
- Check for silent errors (add `Info()` after each operation)
## TE2/TE3 Compatibility
Use preprocessor directives for version-specific code:
```csharp
#if TE3
// TE3-specific code (version 3.10.0+)
Info("Running in Tabular Editor 3");
#else
// TE2 fallback
Info("Running in Tabular Editor 2");
#endif
```
Check version at runtime:
```csharp
var majorVersion = Selected.GetType().Assembly.GetName().Version.Major;
if(majorVersion >= 3) {
// TE3 code
}
```
## Best Practices
1. **Add Info() statements** - Track script execution and catch errors early
2. **Check object existence** - Use `.Contains()` or `.Any()` before accessing
3. **Use bulk operations** - Single script with loops is faster than multiple scripts
4. **Test on dev models** - Never test new scripts on production
5. **Use @"..." for DAX** - Multi-line strings for DAX expressions
6. **Format with FormatDax()** - After creating measures/columns
7. **Set DisplayFolder with /** - Forward slashes auto-convert to backslashes
8. **Hide the wait spinner** - `ScriptHelper.WaitFormVisible = false;` for UI dialogs
## Additional Resources
### Reference Files
- `object-types/` - Detailed API docs per object type
- `examples/` - 180 working `.csx` scripts across 20 categories; always check here before writing from scratch
### Fetching Docs
To retrieve current TOM API reference docs, use `microsoft_docs_search` + `microsoft_docs_fetch` (MCP) if available, otherwise search https://learn.microsoft.com and fetch the relevant pages. Search based on the user's request and run multiple searches as needed to ensure sufficient context before proceeding.
### External References
- [Tabular Editor Advanced Scripting](https://docs.tabulareditor.com/te2/Advanced-Scripting.html)
- [TOM API Reference](https://learn.microsoft.com/en-us/dotnet/api/microsoft.analysisservices.tabular)
- [C# Scripts and Macros](https://docs.tabulareditor.com/getting-started/cs-scripts-and-macros.html)
- [Script Library](https://docs.tabulareditor.com/features/CSharpScripts/csharp-script-library.html)
Pliki w paczce (230)
- SKILL.md 15 KB
- examples/README.md 3 KB
- examples/bulk-operations/README.md 5 KB
- examples/bulk-operations/add_descriptions_to_all.csx 1 KB
- examples/bulk-operations/add_expression_to_descriptions.csx 1 KB
- examples/bulk-operations/clean_object_names.csx 3 KB
- examples/bulk-operations/create_measures_from_columns.csx 1 KB
- examples/bulk-operations/initialize_model.csx 1 KB
- examples/bulk-operations/sync_folders_from_names.csx 1 KB
- examples/bulk-operations/update_descriptions_from_comments.csx 1 KB
- examples/bulk-operations/validate_and_fix_issues.csx 1 KB
- examples/calculation-groups/README.md 4 KB
- examples/calculation-groups/currency_conversion.csx 1 KB
- examples/calculation-groups/time_intelligence.csx 2 KB
- examples/columns/README.md 6 KB
- examples/columns/add-calculated-column.csx 6 KB
- examples/columns/add_calculated_column.csx 1 KB
- examples/columns/disable-available-in-mdx.csx 4 KB
- examples/columns/disable_summarization.csx 1 KB
- examples/columns/get-column-cardinality.csx 2 KB
- examples/columns/get-column-sizes.csx 1 KB
- examples/columns/hide_key_columns.csx 1 KB
- examples/columns/hide_keys.csx 1 KB
- examples/columns/modify-calculated-column-expression.csx 4 KB
- examples/columns/set-alignment.csx 2 KB
- examples/columns/set-column-data-type.csx 2 KB
- examples/columns/set-column-format-string.csx 4 KB
- examples/columns/set-column-properties.csx 6 KB
- examples/columns/set-column-sortby.csx 3 KB
- examples/columns/set-column-summarizeby.csx 3 KB
- examples/columns/set-data-category.csx 3 KB
- examples/columns/set-description.csx 3 KB
- examples/columns/set-encoding-hint.csx 4 KB
- examples/columns/set-group-by-columns.csx 3 KB
- examples/columns/set-is-default-image.csx 3 KB
- examples/columns/set-is-default-label.csx 3 KB
- examples/columns/set-is-key.csx 2 KB
- examples/columns/set-is-nullable.csx 3 KB
- examples/columns/set-is-unique.csx 2 KB
- examples/columns/set-keep-unique-rows.csx 3 KB
- examples/columns/set-source-column.csx 3 KB
- examples/columns/set_data_category.csx 1 KB
- examples/cultures/README.md 3 KB
- examples/cultures/add-culture.csx 1 KB
- examples/cultures/delete-culture.csx 2 KB
- examples/cultures/list-cultures.csx 5 KB
- examples/cultures/modify-translations.csx 4 KB
- examples/display-folders/README.md 4 KB
- examples/display-folders/add-display-folder.csx 3 KB
- examples/display-folders/clear_all_display_folders.csx 1 KB
- examples/display-folders/clear_display_folders.csx 1 KB
- examples/display-folders/organize_columns_by_type.csx 1 KB
- examples/display-folders/organize_folders.csx 2 KB
- examples/display-folders/organize_measures_by_type.csx 1 KB
- examples/display-folders/remove-display-folder.csx 3 KB
- examples/display-folders/rename-display-folder.csx 3 KB
- examples/evaluate-dax/README.md 1 KB
- examples/evaluate-dax/execute-dax-from-file.csx 1 KB
- examples/evaluate-dax/execute-scalar-dax.csx 1 KB
- examples/evaluate-dax/execute-table-query.csx 2 KB
- examples/evaluate-dax/get-table-column-sizes.csx 1 KB
- examples/evaluate-dax/optimize-model-size.csx 2 KB
- examples/format-dax/README.md 4 KB
- examples/format-dax/format-all-objects.csx 4 KB
- examples/format-dax/format-calculated-columns.csx 1 KB
- examples/format-dax/format-calculated-tables.csx 1 KB
- examples/format-dax/format-calculation-items.csx 1 KB
- examples/format-dax/format-detail-rows-expressions.csx 1 KB
- examples/format-dax/format-kpi-expressions.csx 1 KB
- examples/format-dax/format-measures.csx 1 KB
- examples/format-dax/format-table-permissions.csx 1 KB
- examples/format-strings/README.md 4 KB
- examples/format-strings/apply_format_by_name.csx 1 KB
- examples/format-strings/apply_format_by_pattern.csx 1 KB
- examples/format-strings/custom_format_millions.csx 1 KB
- examples/format-strings/format_strings.csx 1 KB
- examples/format-strings/set-format-string-expression.csx 9 KB
- examples/format-strings/set-format-string.csx 9 KB
- examples/functions/README.md 4 KB
- examples/functions/add-function.csx 3 KB
- examples/functions/delete-function.csx 3 KB
- examples/functions/list-functions.csx 4 KB
- examples/functions/modify-function.csx 3 KB
- examples/hierarchies/README.md 5 KB
- examples/hierarchies/add-hierarchy.csx 3 KB
- examples/hierarchies/delete-hierarchy.csx 4 KB
- examples/hierarchies/list-hierarchies.csx 4 KB
- examples/hierarchies/modify-hierarchy.csx 4 KB
- examples/kpis/NOTE.md 2 KB
- examples/kpis/README.md 5 KB
- examples/kpis/add-kpi.csx 4 KB
- examples/kpis/delete-kpi.csx 3 KB
- examples/kpis/list-kpis.csx 3 KB
- examples/kpis/modify-kpi.csx 4 KB
- examples/macros/add_macro.py 4 KB
- examples/macros/create_macros_json.py 6 KB
- examples/macros/example-macros.json 4 KB
- examples/macros/validate_macros.py 7 KB
- examples/measures/README.md 4 KB
- examples/measures/add_measures.csx 1 KB
- examples/measures/add_single_measure.csx 1 KB
- examples/measures/copy_measure.csx 1 KB
- examples/measures/create-selected-column-sums.csx 2 KB
- examples/measures/create_countrows_measures.csx 1 KB
- examples/measures/create_sum_measures.csx 1 KB
- examples/measures/create_time_intelligence.csx 2 KB
- examples/measures/delete-measure.csx 1 KB
- examples/measures/delete-measures-by-pattern.csx 1 KB
- examples/measures/format-all-measures.csx 1 KB
- examples/measures/hide-all-measures.csx 1 KB
- examples/measures/hide-measures.csx 1 KB
- examples/measures/list-measures.csx 1 KB
- examples/measures/move-measures-to-table.csx 1 KB
- examples/measures/read-measure-properties.csx 1 KB
- examples/measures/rename-measure.csx 1 KB
- examples/measures/unhide-measures.csx 1 KB
- examples/measures/update-measure.csx 1 KB
- examples/model/README.md 3 KB
- examples/model/analyze-dependencies.csx 4 KB
- examples/model/check-compatibility-level.csx 4 KB
- examples/model/check-model-properties.csx 6 KB
- examples/model/execute-tmsl.csx 3 KB
- examples/model/export-model-stats.csx 5 KB
- examples/model/get-model-size.csx 2 KB
- examples/model/refresh-model.csx 2 KB
- examples/model/set-compatibility-level.csx 3 KB
- examples/model/set-default-mode.csx 3 KB
- examples/model/set-discourage-implicit-measures.csx 3 KB
- examples/partitions/README.md 6 KB
- examples/partitions/find-replace-in-m.csx 3 KB
- examples/partitions/refresh-partition.csx 4 KB
- examples/partitions/refresh-partitions-by-pattern.csx 4 KB
- examples/partitions/setup-custom-partitions.csx 6 KB
- examples/partitions/setup-hybrid-table.csx 5 KB
- examples/partitions/setup-incremental-refresh-with-polling.csx 5 KB
- examples/perspectives/README.md 6 KB
- examples/perspectives/add-perspective.csx 7 KB
- examples/perspectives/delete-perspective.csx 2 KB
- examples/perspectives/list-perspectives.csx 5 KB
- examples/perspectives/modify-perspective.csx 7 KB
- examples/relationships/README.md 8 KB
- examples/relationships/add-relationship.csx 3 KB
- examples/relationships/create-relationships-by-naming-convention.csx 5 KB
- examples/relationships/find-ri-violations.csx 6 KB
- examples/relationships/modify-relationship-properties.csx 5 KB
- examples/relationships/test-relationship-integrity.csx 5 KB
- examples/roles/README.md 7 KB
- examples/roles/add-role-members.csx 3 KB
- examples/roles/add-role.csx 3 KB
- examples/roles/configure-ols.csx 4 KB
- examples/roles/configure-rls.csx 4 KB
- examples/roles/delete-role.csx 3 KB
- examples/roles/list-roles.csx 5 KB
- examples/roles/modify-role.csx 3 KB
- examples/shared-expressions/README.md 6 KB
- examples/shared-expressions/add-datetime-to-int-function.csx 3 KB
- examples/shared-expressions/add-shared-expression.csx 3 KB
- examples/shared-expressions/create-range-parameters.csx 1 KB
- examples/shared-expressions/delete-shared-expression.csx 3 KB
- examples/shared-expressions/list-shared-expressions.csx 3 KB
- examples/shared-expressions/modify-shared-expression.csx 3 KB
- examples/svg-measures/README.md 1 KB
- examples/svg-measures/add-svg-bar-chart-adjacent-bars-with-variance.csx 6 KB
- examples/svg-measures/add-svg-bar-chart-overlapping-bars-with-variance.csx 7 KB
- examples/svg-measures/add-svg-bullet-chart-action-dots.csx 7 KB
- examples/svg-measures/add-svg-bullet-chart-conditional-bar.csx 7 KB
- examples/svg-measures/add-svg-bullet-chart-label-and-qualitative-ranges.csx 8 KB
- examples/svg-measures/add-svg-bullet-chart-label.csx 7 KB
- examples/svg-measures/add-svg-bullet-chart-multiple-target-with-action-dots.csx 10 KB
- examples/svg-measures/add-svg-bullet-chart-qualitative-ranges.csx 7 KB
- examples/svg-measures/add-svg-diverging-bar-chart.csx 7 KB
- examples/svg-measures/add-svg-dumbbell-plot.csx 5 KB
- examples/svg-measures/add-svg-jitter-plot-single-category.csx 5 KB
- examples/svg-measures/add-svg-lollipop-chart-conditional-formatting.csx 7 KB
- examples/svg-measures/add-svg-lollipop-chart-with-label.csx 6 KB
- examples/svg-measures/add-svg-status-pill.csx 5 KB
- examples/svg-measures/add-svg-waterfall-chart.csx 7 KB
- examples/tables/README.md 7 KB
- examples/tables/add-calculated-table.csx 1 KB
- examples/tables/add-calculation-group.csx 2 KB
- examples/tables/add-date-table.csx 9 KB
- examples/tables/add-detail-rows-expression.csx 1 KB
- examples/tables/add-direct-lake-table.csx 2 KB
- examples/tables/add-direct-query-table.csx 3 KB
- examples/tables/add-field-parameter.csx 2 KB
- examples/tables/add-import-table.csx 1 KB
- examples/tables/add-last-refresh-table.csx 1 KB
- examples/tables/add-measure-table.csx 1 KB
- examples/tables/add-to-table-group.csx 1 KB
- examples/tables/apply-refresh-policy.csx 5 KB
- examples/tables/configure-ols.csx 3 KB
- examples/tables/configure-rls.csx 2 KB
- examples/tables/delete-table.csx 1 KB
- examples/tables/exclude-from-auto-aggregations.csx 2 KB
- examples/tables/exclude-from-model-refresh.csx 1 KB
- examples/tables/find-replace-in-partition-expression.csx 3 KB
- examples/tables/format-power-query.csx 6 KB
- examples/tables/get-table-stats.csx 3 KB
- examples/tables/hide-table.csx 1 KB
- examples/tables/incremental-refresh-macro.csx 18 KB
- examples/tables/mark-as-date-table.csx 1 KB
- examples/tables/mark-table-as-private.csx 1 KB
- examples/tables/parameterize-power-query.csx 5 KB
- examples/tables/refresh-table.csx 2 KB
- examples/tables/rename-table.csx 2 KB
- examples/tables/set-table-properties.csx 4 KB
- examples/tables/setup-incremental-refresh.csx 7 KB
- examples/ui/README.md 1 KB
- examples/ui/set-ui-font-size.csx 1 KB
- object-types/annotations.md 6 KB
- object-types/calculation-groups.md 5 KB
- object-types/columns.md 5 KB
- object-types/dax-in-csharp.md 5 KB
- object-types/dax-results-handling.md 7 KB
- object-types/dynamic-queries.md 8 KB
- object-types/hierarchies.md 5 KB
- object-types/measures.md 4 KB
- object-types/partitions.md 6 KB
- object-types/performance-patterns.md 7 KB
- object-types/perspectives.md 6 KB
- object-types/relationships.md 5 KB
- object-types/roles.md 5 KB
- object-types/tables.md 4 KB
- object-types/translations.md 7 KB
- references/common-workflows.md 2 KB
- references/helper-methods.md 3 KB
- references/linq-reference.md 2 KB
- references/winforms-dialogs.md 2 KB
- schema/README.md 1 KB
- schema/macros-schema.json 6 KB
Wersje
| Repozytorium | Wynik | Licencja |
|---|---|---|
| Ta strona · insightfulanalytics/pbi_agentic_dev | 100 | GPL-3.0 |
| data-goblin/power-bi-agentic-development | 100 | GPL-3.0 |
Migawka bazy z 13.11.2026 · wersja paczki 524be41c6ea9 (skrót SHA-256 całej paczki)
Pobrania w ostatnich 30 dniach: 0 · ranking
Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.
Podobne skille
- 90Power BI DAX
Pisze, uruchamia i optymalizuje zapytania oraz miary DAX dla modeli semantycznych Power BI, także funkcje czasu i sprawdzanie liczby wierszy. - 100power-bi-dax
Pisze, uruchamia i optymalizuje zapytania oraz miary DAX dla modeli semantycznych Power BI przez pbi-cli, w tym EVALUATE, CALCULATE i time intelligence. - 100te-cli
Pomaga pracować z wieloplatformowym CLI Tabular Editor do modeli Power BI i Analysis Services: edycja, walidacja, testy DAX i wdrożenia. - 90dax
Optymalizuje miary DAX w modelach semantycznych: diagnozuje wolne zapytania, czasy serwera i typowe antywzorce. - 100te-docs
Przeszukuje dokumentację Tabular Editor i wyjaśnia pliki konfiguracyjne, pomagając znaleźć sposób krok po kroku. - 100tom-operations
Pomaga pracować z wrapperem TOM (Tabular Object Model) przy programowej modyfikacji modeli semantycznych.