
tabular-editor-config
by data-goblin
SKILL.md
name: tabular-editor-config description: This skill should be used when the user asks about ".tmuo files", "Tabular Editor user options", "TE3 preferences", "Preferences.json", "UiPreferences.json", "Layouts.json", "workspace database settings", "deployment preferences", "data source overrides", "keyboard shortcuts", "DAX editor settings", "TMDL options", or "per-model TE3 configuration". Provides guidance for understanding and configuring Tabular Editor 3 configuration files including application preferences and model-level user options.
Tabular Editor User Options (.tmuo)
Expert guidance for understanding and configuring Tabular Editor 3 user options files for Power BI semantic model development.
When to Use This Skill
Activate automatically when tasks involve:
- Understanding .tmuo file structure and purpose
- Configuring workspace database connections
- Setting up deployment preferences
- Managing data source overrides for development
- Configuring table import settings
- Troubleshooting credential encryption issues
Critical
- TMUO files contain user-specific settings - never commit to version control
- Credentials are encrypted with Windows User Key - cannot be shared between users
- Add
*.tmuoto.gitignorein all projects - Each developer needs their own .tmuo file
About TMUO Files
- Introduced in Tabular Editor 3 for storing developer- and model-specific preferences
- Created automatically when opening a Model.bim or Database.json file
- Contains workspace, deployment, and data source settings
File Location
TMUO files are stored alongside the model file with a user-specific name:
| Component | Value |
|---|---|
| Location | Same directory as model.bim or Database.json |
| Naming | <ModelFileName>.<WindowsUserName>.tmuo |
| Example | AdventureWorks.bim + user JohnDoe = AdventureWorks.JohnDoe.tmuo |
Important:
- One .tmuo file per model per user
- Never commit to version control (add
*.tmuoto.gitignore) - Credentials are encrypted with Windows User Key - cannot be shared between users
- Each developer creates their own .tmuo automatically when opening the model
Cross-Platform Access (macOS/Linux)
When working on macOS or Linux with models stored on a Windows VM:
Parallels on macOS:
/Users/<macUser>/Library/Parallels/Windows Disks/{VM-UUID}/[C] <DiskName>.hidden/
TMUO files will be alongside models in Windows directories, e.g.:
<ParallelsRoot>/Users/<WinUser>/Documents/Models/MyModel.bim<ParallelsRoot>/Users/<WinUser>/Documents/Models/MyModel.<WinUser>.tmuo
Other platforms:
- VMware Fusion - Check
/Volumes/for mounted Windows drives - WSL on Windows -
/mnt/c/Users/<username>/...
Note: The VM must be running for the filesystem to be accessible.
Quick Reference
TMUO JSON Structure
| Section | Purpose |
|---|---|
UseWorkspace | Whether to use workspace database |
WorkspaceConnection | Server for workspace database |
WorkspaceDatabase | Name of workspace database |
Deployment | Target server and deployment options |
DataSourceOverrides | Override connection strings for workspace |
TableImportSettings | Settings for Import Tables feature |
RefreshOverrides | Advanced refresh configuration |
{
"UseWorkspace": true,
"WorkspaceConnection": "localhost",
"WorkspaceDatabase": "MyModel_Workspace_JohnDoe",
"Deployment": {
"TargetConnectionString": "powerbi://api.powerbi.com/v1.0/myorg/Workspace",
"TargetDatabase": "MyModel",
"DeployPartitions": false,
"DeployModelRoles": true
},
"DataSourceOverrides": {
"SQL Server": {
"ConnectionString": "Data Source=localhost;Initial Catalog=DevDB"
}
}
}
Workspace Settings
Control workspace database behavior:
| Field | Type | Description |
|---|---|---|
UseWorkspace | bool | Enable/disable workspace mode |
WorkspaceConnection | string/object | Server connection (plain or encrypted) |
WorkspaceDatabase | string | Database name (should be unique per developer/model) |
{
"UseWorkspace": true,
"WorkspaceConnection": "provider=MSOLAP;data source=localhost",
"WorkspaceDatabase": "AdventureWorks_Workspace_JohnDoe_20240115"
}
Deployment Settings
Configure deployment target and options:
| Field | Type | Description |
|---|---|---|
TargetConnectionString | string/object | Target server connection |
TargetDatabase | string | Target database name |
DeployDataSources | bool | Deploy data source definitions |
DeployPartitions | bool | Deploy partition definitions |
DeployRefreshPolicyPartitions | bool | Deploy incremental refresh partitions |
DeployModelRoles | bool | Deploy security roles |
DeployModelRoleMembers | bool | Deploy role members |
DeploySharedExpressions | bool | Deploy shared M expressions |
{
"Deployment": {
"TargetConnectionString": "powerbi://api.powerbi.com/v1.0/myorg/Production",
"TargetDatabase": "Sales Analytics",
"DeployDataSources": false,
"DeployPartitions": false,
"DeployRefreshPolicyPartitions": true,
"DeployModelRoles": true,
"DeployModelRoleMembers": false,
"DeploySharedExpressions": true
}
}
Data Source Overrides
Override data source connections for workspace database:
| Field | Type | Description |
|---|---|---|
ImpersonationMode | enum | Authentication mode |
Username | string | Username for authentication |
ConnectionString | string/object | Override connection string |
Password | string/object | Password (can be encrypted) |
AccountKey | string/object | Azure storage account key |
PrivacySetting | string | Privacy level |
ImpersonationMode values:
DefaultImpersonateAccountImpersonateAnonymousImpersonateCurrentUserImpersonateServiceAccountImpersonateUnattendedAccount
{
"DataSourceOverrides": {
"SQL Server DW": {
"ImpersonationMode": "ImpersonateServiceAccount",
"ConnectionString": "Data Source=dev-server;Initial Catalog=DevDW"
},
"Azure Blob": {
"AccountKey": {
"Encryption": "UserKey",
"EncryptedString": "ABC123..."
}
}
}
}
Table Import Settings
Settings for the Import Tables / Schema Update feature:
| Field | Type | Description |
|---|---|---|
ServerType | enum | Database type |
UserId | string | Username |
Password | string/object | Password (plain or encrypted) |
Options | object | Additional server-specific options |
ServerType values:
Sql,Oracle,Odbc,OleDb,Snowflake,DataflowPostgreSql,MySql,MariaDb,Db2,Databricks,OneLake
{
"TableImportSettings": {
"Sales Data": {
"ServerType": "Sql",
"UserId": "sqladmin",
"Password": {
"Encryption": "UserKey",
"EncryptedString": "..."
}
}
}
}
Encrypted Credentials
Credentials can be stored encrypted using Windows User Key:
{
"ConnectionString": {
"Encryption": "UserKey",
"EncryptedString": "ABC123..."
}
}
Or for deployment targets:
{
"TargetConnectionString": {
"ConnectionString": "powerbi://...",
"EncryptedCredentials": "XYZ789..."
}
}
Note: Encrypted strings are tied to the Windows user account and cannot be shared.
File Naming Convention
<ModelFileName>.<WindowsUserName>.tmuo
Examples:
Model.bimopened byJohnDoe->Model.JohnDoe.tmuoAdventureWorks.bimopened byjane.smith->AdventureWorks.jane.smith.tmuo
Common Patterns
Development Environment Setup
{
"UseWorkspace": true,
"WorkspaceConnection": "localhost",
"WorkspaceDatabase": "Dev_AdventureWorks",
"DataSourceOverrides": {
"Production SQL": {
"ConnectionString": "Data Source=dev-sql;Initial Catalog=DevDB"
}
}
}
Power BI Service Deployment
{
"Deployment": {
"TargetConnectionString": "powerbi://api.powerbi.com/v1.0/myorg/MyWorkspace",
"TargetDatabase": "Sales Model",
"DeployPartitions": false,
"DeployModelRoles": true
}
}
Additional Resources
Reference Files
schema/tmuo-schema.json- JSON Schema for validating .tmuo files (temporary location)
Scripts
scripts/validate_tmuo.py- Validate TMUO files for schema compliance
External References
Best Practices
- Never commit .tmuo files - Add
*.tmuoto.gitignore - Use unique workspace database names - Include username and timestamp
- Don't share encrypted credentials - They're tied to Windows account
- Use data source overrides - Point to dev/test environments
- Document expected settings - Create a template README for team
スコア
総合スコア
リポジトリの品質指標に基づく評価
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 100以上
3ヶ月以内に更新がある
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
レビュー
レビュー機能は近日公開予定です