diff --git a/README.md b/README.md
index dddcfaf8e..0d0090810 100644
--- a/README.md
+++ b/README.md
@@ -57,11 +57,12 @@ swa start _site
1. **Generates DocFX configurations** - Runs `gen_redirects.py` to create `docfx.json` for each language
2. **Generates language manifest** - Creates `metadata/languages.json` for runtime language switching
3. **Syncs content** - Copies English source to `localizedContent/en/`. For other languages, only shared directories (assets, api) are synced by default since Crowdin manages translations. Use `--sync` to enable full English fallback for missing/outdated translations (useful for local development).
-4. **Builds documentation** - Runs DocFX for each requested language
-5. **Fixes API docs** - Patches xref links in generated API documentation
-6. **Copies API docs** - Shares English API docs with localized sites
-7. **Injects SEO tags** - Adds hreflang and canonical tags to HTML files
-8. **Generates SWA config** - Creates `staticwebapp.config.json` for Azure Static Web Apps routing
+4. **Normalizes DocFX alerts** - Runs `normalize-localized-alerts.py` on each non-English language to repair Crowdin-collapsed Note/Tip/etc. alerts before building (see [DocFX Alerts and Translations](#docfx-alerts-and-translations))
+5. **Builds documentation** - Runs DocFX for each requested language
+6. **Fixes API docs** - Patches xref links in generated API documentation
+7. **Copies API docs** - Shares English API docs with localized sites
+8. **Injects SEO tags** - Adds hreflang and canonical tags to HTML files
+9. **Generates SWA config** - Creates `staticwebapp.config.json` for Azure Static Web Apps routing
# Project Structure
@@ -73,7 +74,8 @@ TEDoc/
│ ├── gen_languages.py # Generates language manifest
│ ├── gen_staticwebapp_config.py
│ ├── inject_seo_tags.py
-│ └── sync-localized-content.py
+│ ├── sync-localized-content.py
+│ └── normalize-localized-alerts.py # Repairs Crowdin-collapsed DocFX alerts
├── content/ # English source content (tracked in git)
│ └── _ui-strings.json # English UI strings (header, footer, banners)
├── localizedContent/ # Build directories for all languages
@@ -117,6 +119,28 @@ To prevent this, add an ` ` tag above any heading that is refer
Crowdin does not translate HTML `name` attributes, so the anchor remains stable across all languages. Only add these to headings that are actually linked to — there is no need to add them to every heading.
+# DocFX Alerts and Translations
+
+DocFX renders styled alert boxes (Note, Tip, Important, Warning, Caution) from a two-line blockquote where the marker stands alone on the first line:
+
+```markdown
+> [!NOTE]
+> Your note text here.
+```
+
+When an alert like this is nested inside a list item, Crowdin collapses the two lines into one on export, producing `> [!NOTE]> Your note text here.`. DocFX requires the marker to be alone on its line, so the collapsed form is downgraded to a plain `
` — losing the styled box — and the build logs an `invalid-note-section` warning. Only list-nested alerts are affected; top-level alerts round-trip through Crowdin unchanged.
+
+`build_scripts/normalize-localized-alerts.py` repairs this by splitting the collapsed form back into two lines, preserving the original indentation so the alert stays inside its list item. It is idempotent and only rewrites the exact collapsed pattern (text inside fenced code blocks is left untouched), so it is safe to run repeatedly.
+
+The build runs it automatically for each non-English language before DocFX (step 4 of [What the Build Script Does](#what-the-build-script-does)). You can also run it manually after a Crowdin pull:
+
+```bash
+python build_scripts/normalize-localized-alerts.py # fix all languages
+python build_scripts/normalize-localized-alerts.py --dry-run # preview without writing
+python build_scripts/normalize-localized-alerts.py --check # exit 1 if fixes are needed (CI)
+python build_scripts/normalize-localized-alerts.py es # fix a single language
+```
+
# Translating UI Strings
The `_ui-strings.json` file controls the text of site-wide UI elements that are not part of the documentation content itself: the header navigation, header buttons, footer text, and the AI translation warning banner. These strings are applied at runtime by the JavaScript bundle for non-English pages.
@@ -175,3 +199,4 @@ If a key is missing from a language's file, or no `_ui-strings.json` exists at a
| `tableOfContents` | `Table of Contents` | Mobile TOC offcanvas title |
| `selectLanguage` | `Select language` | Language picker label |
| `copyCode` | `Copy code` | Code block copy button aria-label |
+
diff --git a/build-docs.py b/build-docs.py
index 1b7d517bf..87dd2b6b7 100644
--- a/build-docs.py
+++ b/build-docs.py
@@ -23,25 +23,61 @@
import argparse
import json
import os
+import re
import shutil
import subprocess
import sys
from pathlib import Path
-def run_command(cmd: list[str], description: str, check: bool = True) -> int:
- """Run a command and return exit code."""
+_DOCFX_WARNING_RE = re.compile(r': warning ', re.IGNORECASE)
+
+
+def run_command(cmd: list[str], description: str, check: bool = True, fail_on_warnings: bool = False) -> int:
+ """Run a command and return exit code.
+
+ If fail_on_warnings=True, streams output line-by-line, counts DocFX warning
+ diagnostics (lines matching ': warning '), and returns exit code 1 if any
+ are found — even when the process itself exits 0.
+ """
print(f"\n{'='*60}")
print(f" {description}")
print(f"{'='*60}")
print(f"Running: {' '.join(cmd)}\n")
-
+
+ if fail_on_warnings:
+ warning_count = 0
+ process = subprocess.Popen(
+ cmd,
+ shell=(os.name == 'nt'),
+ stdout=subprocess.PIPE,
+ stderr=subprocess.STDOUT,
+ text=True,
+ encoding='utf-8',
+ errors='replace'
+ )
+ for line in process.stdout:
+ print(line, end='', flush=True)
+ if _DOCFX_WARNING_RE.search(line):
+ warning_count += 1
+ process.wait()
+
+ if check and process.returncode != 0:
+ print(f"Error: Command failed with exit code {process.returncode}")
+ return process.returncode
+
+ if warning_count > 0:
+ print(f"\nError: DocFX produced {warning_count} warning(s). Failing build.")
+ return 1
+
+ return process.returncode
+
result = subprocess.run(cmd, shell=(os.name == 'nt'))
-
+
if check and result.returncode != 0:
print(f"Error: Command failed with exit code {result.returncode}")
return result.returncode
-
+
return result.returncode
@@ -85,15 +121,24 @@ def prepare_localized_content(lang: str, sync: bool = False) -> int:
)
if sync:
- return run_command(
+ result = run_command(
[sys.executable, "build_scripts/sync-localized-content.py", "--sync", lang],
f"Syncing {lang} content (fallback to English for outdated)"
)
else:
- return run_command(
+ result = run_command(
[sys.executable, "build_scripts/sync-localized-content.py", "--shared-only", lang],
f"Syncing shared directories for {lang}"
)
+ if result != 0:
+ return result
+
+ # Repair Crowdin-collapsed DocFX alerts (e.g. "> [!NOTE]> text") before docfx
+ # builds this language, so alerts render as styled boxes instead of plain quotes.
+ return run_command(
+ [sys.executable, "build_scripts/normalize-localized-alerts.py", lang],
+ f"Normalizing DocFX alerts for {lang}"
+ )
def build_language(lang: str, sync: bool = False) -> int:
@@ -110,10 +155,13 @@ def build_language(lang: str, sync: bool = False) -> int:
if result != 0:
return result
- # Build the documentation
+ # Build the documentation — fail on DocFX warnings only for English (the
+ # authored source). Localized content is Crowdin-managed and may carry
+ # translation warnings that must not block deployment.
return run_command(
["docfx", config_path],
- f"Building {lang} documentation"
+ f"Building {lang} documentation",
+ fail_on_warnings=(lang == "en")
)
diff --git a/build_scripts/normalize-localized-alerts.py b/build_scripts/normalize-localized-alerts.py
new file mode 100644
index 000000000..3582c6990
--- /dev/null
+++ b/build_scripts/normalize-localized-alerts.py
@@ -0,0 +1,172 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+"""
+Normalize DocFX alerts in Crowdin-translated content.
+
+Crowdin collapses DocFX/GitHub-style alerts that are nested inside list items,
+joining the marker line and the first content line. This:
+
+ > [!NOTE]
+ > text
+
+comes back from Crowdin as:
+
+ > [!NOTE]> text
+
+DocFX requires the alert marker (e.g. [!NOTE]) to stand alone on its line.
+Otherwise the parser emits an "invalid-note-section" warning and downgrades the
+alert to a plain , losing the styled NOTE/TIP/IMPORTANT box.
+
+This script finds the collapsed form and splits it back into two lines,
+preserving the original indentation so the alert stays inside its list item.
+It is idempotent and only rewrites the exact collapsed pattern, so it is safe
+to run after every Crowdin pull. Lines inside fenced code blocks are skipped so
+documentation that shows alert syntax verbatim is never altered.
+
+Usage:
+ python normalize-localized-alerts.py # fix all languages
+ python normalize-localized-alerts.py --dry-run # preview only
+ python normalize-localized-alerts.py --check # exit 1 if fixes needed (CI)
+ python normalize-localized-alerts.py es # fix only Spanish
+"""
+
+import argparse
+import sys
+import re
+from pathlib import Path
+
+# localizedContent/ lives one level up from this build_scripts/ directory.
+TEDOC_ROOT = Path(__file__).resolve().parent.parent
+LOCALIZED_DIR = TEDOC_ROOT / "localizedContent"
+
+# A blockquote line where a DocFX alert marker is immediately followed by '>'
+# and inline content, e.g. " > [!NOTE]> text". Captures the leading
+# indentation, the marker, and the trailing content.
+COLLAPSED_ALERT_RE = re.compile(r"^([ \t]*)>[ \t]?(\[![A-Za-z]+\])>[ \t]?(.*)$")
+
+# A fenced-code delimiter: 3+ backticks or 3+ tildes, optionally indented.
+# Group 1 is the run of fence characters; group 2 is any trailing text
+# (an info string on an opener; must be blank on a valid closer).
+FENCE_RE = re.compile(r"^\s*(`{3,}|~{3,})(.*)$")
+
+
+def normalize_text(text: str, newline: str) -> tuple[str, int]:
+ """Return (new_text, fixes) with collapsed alerts split into two lines.
+
+ Fenced code blocks are tracked per CommonMark so alert-looking text inside a
+ code sample is never rewritten: a fence is only *closed* by a delimiter using
+ the same character, at least as long as the opener, with no trailing text.
+ This keeps state in sync across nested/mismatched fences (e.g. a ```` block
+ that contains ``` lines, or backtick and tilde fences mixed in one file).
+ """
+ lines = text.split(newline)
+ out: list[str] = []
+ fence_char = "" # "" when outside a fence, else the opener's char ("`"/"~")
+ fence_len = 0
+ fixes = 0
+
+ for line in lines:
+ fence = FENCE_RE.match(line)
+ if fence:
+ run, tail = fence.group(1), fence.group(2)
+ char, length = run[0], len(run)
+ if not fence_char:
+ fence_char, fence_len = char, length # opening fence
+ elif char == fence_char and length >= fence_len and not tail.strip():
+ fence_char, fence_len = "", 0 # matching closing fence
+ # Otherwise it's a fence-looking line inside the block: leave as content.
+ out.append(line)
+ continue
+
+ if not fence_char:
+ m = COLLAPSED_ALERT_RE.match(line)
+ if m:
+ indent, marker, rest = m.group(1), m.group(2), m.group(3)
+ out.append(f"{indent}> {marker}")
+ out.append(f"{indent}> {rest}" if rest else f"{indent}>")
+ fixes += 1
+ continue
+
+ out.append(line)
+
+ return newline.join(out), fixes
+
+
+def normalize_file(path: Path, dry_run: bool) -> int:
+ """Normalize a single file in place. Returns number of alerts fixed."""
+ with open(path, "r", encoding="utf-8", newline="") as f:
+ text = f.read()
+
+ newline = "\r\n" if "\r\n" in text else "\n"
+ new_text, fixes = normalize_text(text, newline)
+
+ if fixes and not dry_run:
+ with open(path, "w", encoding="utf-8", newline="") as f:
+ f.write(new_text)
+
+ return fixes
+
+
+def iter_markdown_files(lang: str | None):
+ """Yield every .md file under localizedContent/ (optionally one language)."""
+ base = LOCALIZED_DIR / lang if lang else LOCALIZED_DIR
+ if not base.exists():
+ return
+ yield from sorted(base.rglob("*.md"))
+
+
+def main() -> int:
+ parser = argparse.ArgumentParser(
+ description="Split Crowdin-collapsed DocFX alerts back into two lines."
+ )
+ parser.add_argument(
+ "lang", nargs="?",
+ help="Language code to fix (default: all languages under localizedContent/)",
+ )
+ parser.add_argument(
+ "--dry-run", action="store_true",
+ help="Show what would change without writing files",
+ )
+ parser.add_argument(
+ "--check", action="store_true",
+ help="Exit 1 if any file needs fixing (implies --dry-run). For CI.",
+ )
+ args = parser.parse_args()
+
+ dry_run = args.dry_run or args.check
+
+ if not LOCALIZED_DIR.exists():
+ print(f"Error: {LOCALIZED_DIR} not found.")
+ return 1
+
+ total_files = 0
+ total_fixes = 0
+
+ for path in iter_markdown_files(args.lang):
+ fixes = normalize_file(path, dry_run)
+ if fixes:
+ total_files += 1
+ total_fixes += fixes
+ rel = path.relative_to(LOCALIZED_DIR)
+ verb = "Would fix" if dry_run else "Fixed"
+ print(f" {verb} {fixes} alert(s): {rel}")
+
+ if total_fixes == 0:
+ print("No collapsed alerts found. Everything is clean.")
+ return 0
+
+ action = "would be fixed" if dry_run else "fixed"
+ print(f"\n{total_fixes} alert(s) across {total_files} file(s) {action}.")
+
+ if args.check:
+ print("Run without --check to apply the fixes.")
+ return 1
+ return 0
+
+
+if __name__ == "__main__":
+ try:
+ sys.exit(main())
+ except KeyboardInterrupt:
+ print("\nInterrupted.")
+ sys.exit(1)
diff --git a/content/features/Command-line-Options.md b/content/features/Command-line-Options.md
index d46cb9677..863ae6f00 100644
--- a/content/features/Command-line-Options.md
+++ b/content/features/Command-line-Options.md
@@ -2,20 +2,79 @@
uid: command-line-options
title: Command Line (Tabular Editor 2)
author: Daniel Otykier
-updated: 2021-08-26
+updated: 2026-06-09
applies_to:
products:
- product: Tabular Editor 2
full: true
- product: Tabular Editor 3
none: true
+ - product: Tabular Editor CLI
+ none: true
---
# Command Line (Tabular Editor 2)
+Tabular Editor can be executed from the command-line to perform various tasks, which may be useful in Automated Build and Deployment scenarios, etc.
+
+## How the tools fit together
+
+Tabular Editor 3 is a desktop application for developers. It has no command-line interface of its own. For automated deployments and CI/CD pipelines, use either `TabularEditor.exe` (the Tabular Editor 2 CLI documented on this page) or the new cross-platform [Tabular Editor CLI](xref:te-cli) (`te`).
+
+Running `TabularEditor.exe` in a CI/CD pipeline does not require a Tabular Editor 3 license. Only users of the Tabular Editor 3 application need a license.
+
> [!TIP]
> Looking for the new cross-platform CLI? See @te-cli for the Tabular Editor CLI (Limited Public Preview), a successor that runs on Windows, macOS, and Linux.
-Tabular Editor can be executed from the command-line to perform various tasks, which may be useful in Automated Build and Deployment scenarios, etc.
+## TabularEditor.exe vs. the Tabular Editor CLI
+
+The Tabular Editor CLI (`te`) is the cross-platform successor to `TabularEditor.exe`. It's not just a rewrite for macOS and Linux - it adds model editing, inspection, diffing, testing, refresh triggering, and VertiPaq analysis as first-class pipeline operations, none of which were possible with `TabularEditor.exe`. The `te` CLI is in Limited Public Preview (expires 2026-09-30); use `TabularEditor.exe` for production pipelines today.
+
+| | TE2 CLI (`TabularEditor.exe`) | TE CLI (`te`) |
+|---|---|---|
+| Status | Stable, production-ready | Limited Public Preview (expires 2026-09-30) |
+| Platform | Windows only | Windows, macOS, Linux |
+| License required | No | No (preview); TBD at GA |
+| Binary | WinForms app, requires `start /wait` wrapper | Purpose-built console binary, no wrapper needed |
+| **Authentication** | | |
+| Service Principal | Via MSOLAP connection string | Native `--auth spn`, `--auth env`, `--auth managed-identity`; credentials via env vars, stdin, or certificate; OS-native secure credential store |
+| Managed identity | No | Yes (`--auth managed-identity`), for Azure-hosted runners |
+| Interactive browser login | No | Yes (`te auth login`) |
+| **CI/CD** | | |
+| CI annotations | `-V` (Azure DevOps), `-G` (GitHub) | `--ci vsts`, `--ci github` on every command |
+| Non-interactive mode | No explicit flag; errors may prompt | `--non-interactive` global flag - fails fast, no prompts |
+| Predictable exit codes | Partial | `0` = success, `1` = failure, `2` = diff mismatch |
+| Structured output | No | `--output-format json/csv/tmdl/tmsl` on every command |
+| VSTEST results | `-T` flag | `--trx ` on `validate`, `bpa run`, `test run` |
+| **Deployment** | | |
+| Deploy model | `-D` flag | `te deploy` with fine-grained flags (`--deploy-roles`, `--deploy-partitions`, `--deploy-connections`, `--deploy-full`, etc.) |
+| Generate XMLA/TMSL without deploying | `-X` flag | `te deploy --xmla ` or `--dry-run` |
+| BPA gate before deploy | No | Built-in; `--skip-bpa` or `--fix-bpa` to override |
+| Connection profiles | No | `te profile set/list/show` - reusable named profiles per environment |
+| **Best Practice Analyzer** | | |
+| Run BPA | `-A` / `-AX` flags | `te bpa run` with `--fail-on warning/error`, `--fix`, `--path` scoping, `--vpax` for VPA-aware rules |
+| BPA rule management | No | `te bpa rules add/rm/set/list/disable/enable/init` |
+| **Model editing in pipeline** | | |
+| Run C# scripts | `-S` flag | `te script` - multiple scripts, inline code, stdin, `--dry-run`, preprocessor symbols (`TECLI`) |
+| Run macros | No | `te macro run` with `--on ` context |
+| Set/get properties | No | `te get`, `te set`, `te add`, `te rm`, `te mv`, `te replace` |
+| DAX formatting | No | `te format` - all expressions or single object, DAX and M |
+| **Inspection** | | |
+| List model objects | No | `te ls` with wildcard path filters, `--type`, `--paths-only`, `--output-format bim` |
+| Search expressions/names | No | `te find` with regex and scope (`--in expressions/names/descriptions`) |
+| Diff two models | No | `te diff` - structural comparison with exit code `2` on any difference |
+| Dependency analysis | No | `te deps` - upstream/downstream for any object; `--unused` to find dead code |
+| **Refresh** | | |
+| Trigger refresh | No | `te refresh` with `--type`, `--table`, `--partition`, `--apply-refresh-policy`, `--dry-run` |
+| **Testing** | | |
+| DAX assertion tests | No | `te test run` with `--tag`, `--trx`, `--ci`; `te test init/snapshot/compare` |
+| **VertiPaq analysis** | | |
+| Storage statistics | No | `te vertipaq` - columns, relationships, partitions; `--export`/`--import` VPAX |
+| **Other** | | |
+| Interactive REPL | No | `te interactive` - model-aware shell with tab completion |
+| Shell tab completion | No | `te completion bash/zsh/pwsh` |
+| TE2 backward compatibility | Native | Built-in compatibility layer - existing `TabularEditor.exe` invocations work unchanged |
+
+For a flag-by-flag mapping from TE2 syntax to the new CLI, see @te-cli-migrate.
**Note:** Since TabularEditor.exe is a WinForms application, executing it directly from a windows command-prompt will cause the thread to return immediately to the prompt. This may cause issues in command scripts, etc. To wait for TabularEditor.exe to complete its command-line tasks, always execute it using: `start /wait TabularEditor ...`
diff --git a/content/features/te-cli/te-cli-auth.md b/content/features/te-cli/te-cli-auth.md
index 86b556b1d..472afcb45 100644
--- a/content/features/te-cli/te-cli-auth.md
+++ b/content/features/te-cli/te-cli-auth.md
@@ -130,7 +130,7 @@ te connect Finance "Revenue Model" -w ./revenue-model
te connect ./revenue-model -w Finance "Revenue Model"
```
-Save order is always **local first, then remote**, so the on-disk copy reflects the latest user change even if the server push fails. See @te-cli-commands#workspace-mode-w--workspace for `--workspace-format`, overwrite semantics, and clearing the mirror.
+Save order is always **local first, then remote**, so the on-disk copy reflects the latest user change even if the server push fails. See @te-cli-commands#workspace-mode--w----workspace for `--workspace-format`, overwrite semantics, and clearing the mirror.
## Connecting to different clouds
diff --git a/content/features/te-cli/te-cli.md b/content/features/te-cli/te-cli.md
index 5378c744c..8a8fb5f7d 100644
--- a/content/features/te-cli/te-cli.md
+++ b/content/features/te-cli/te-cli.md
@@ -54,7 +54,7 @@ See @te-cli-commands for a full command reference with syntax, options, and exam
| [Execution](xref:te-cli-commands#execution) | Run DAX queries, C# scripts, macros | [`te query`](xref:te-cli-commands#query), [`te script`](xref:te-cli-commands#script), [`te macro`](xref:te-cli-commands#macro) |
| [Deployment & Refresh](xref:te-cli-commands#deployment-and-refresh) | Deploy to workspace, trigger refresh, incremental refresh | [`te deploy`](xref:te-cli-commands#deploy), [`te refresh`](xref:te-cli-commands#refresh), [`te incremental-refresh`](xref:te-cli-commands#incremental-refresh) |
| [Testing](xref:te-cli-commands#testing) | Assertion tests, snapshots, A/B comparison | [`te test run`](xref:te-cli-commands#test-run) |
-| [Connection & Authentication](xref:te-cli-commands#connection-and-auth) | Connect to workspaces, manage authentication and profiles | [`te connect`](xref:te-cli-commands#connect), [`te auth`](xref:te-cli-commands#auth-login--status--logout), [`te profile`](xref:te-cli-commands#profile-list--show--set--remove) |
+| [Connection & Authentication](xref:te-cli-commands#connection-and-authentication) | Connect to workspaces, manage authentication and profiles | [`te connect`](xref:te-cli-commands#connect), [`te auth`](xref:te-cli-commands#auth-login--status--logout), [`te profile`](xref:te-cli-commands#profile-list--show--set--remove) |
| [Configuration](xref:te-cli-commands#configuration) | Settings and licensing | [`te config`](xref:te-cli-commands#config-show--paths--init--set) |
| [Shell](xref:te-cli-commands#shell) | Interactive mode, shell completions | [`te interactive`](xref:te-cli-commands#interactive), [`te completion`](xref:te-cli-commands#completion) |
diff --git a/content/getting-started/editions.md b/content/getting-started/editions.md
index 011c13053..84e65a187 100644
--- a/content/getting-started/editions.md
+++ b/content/getting-started/editions.md
@@ -2,7 +2,7 @@
uid: editions
title: Compare editions
author: Søren Toft Joensen
-updated: 2025-02-07
+updated: 2026-06-09
applies_to:
products:
- product: Tabular Editor 2
@@ -87,8 +87,6 @@ If you attempt to open a model that uses one or more of the modeling restriction
There are no other feature differences between the Tabular Editor 3 editions, than the ones listed above.
-> [!NOTE]
-> Please keep in mind that Power BI Desktop [currently does not support all Data modeling operations](xref:desktop-limitations). For this reason, Tabular Editor 3 by default blocks operations that are not supported by Power BI Desktop. However, this restriction can be removed under Tools > Preferences > Power BI.
> [!IMPORTANT]
> Tabular Editor can only be used as an external tool for Power BI Desktop when the Power BI report (.pbix, .pbip or .pbit) file contains a data model (Import, DirectQuery or Composite). **Reports using Live connection are not supported** since these reports do not contain a data model. [More information](xref:desktop-limitations).
@@ -138,3 +136,13 @@ Total $ 10,950.00
```
If you require more than 100 seats, please contact sales for a quote.
+
+
+## Command-line and CI/CD licensing
+
+Tabular Editor 3 is a desktop application. It has no command-line interface of its own. For automated deployments and CI/CD pipelines, use either `TabularEditor.exe` (the [Tabular Editor 2 command line](xref:command-line-options)) or the cross-platform [Tabular Editor CLI](xref:te-cli) (`te`). Both are separate from the Tabular Editor 3 desktop application.
+
+> **Do I need a license to run CI/CD pipelines?**
+> No. `TabularEditor.exe` (TE2 CLI) and the Tabular Editor CLI (`te`, during preview) do not require a Tabular Editor 3 license. Only developers using the Tabular Editor 3 desktop application need a license.
+
+At General Availability the Tabular Editor CLI will require a license; pricing is still being finalized and will be announced ahead of GA.
\ No newline at end of file
diff --git a/content/getting-started/general-introduction.md b/content/getting-started/general-introduction.md
index 29f25a2dd..59958bd33 100644
--- a/content/getting-started/general-introduction.md
+++ b/content/getting-started/general-introduction.md
@@ -2,7 +2,7 @@
uid: general-introduction
title: General introduction and architecture
author: Daniel Otykier
-updated: 2021-09-30
+updated: 2026-06-11
applies_to:
products:
- product: Tabular Editor 2
@@ -39,10 +39,10 @@ Tabular Editor can load model metadata from the following sources:
- [3] .pbit files (Power BI Template)
- [4] A database on SQL Server Analysis Services (Tabular)
- [5] A database on Azure Analysis Services
-- [6] A dataset in a Power BI Premium* Workspace
+- [6] A semantic model in a Power BI workspace assigned to a capacity*
- [7] A Power BI Desktop report in Import/DirectQuery mode
-*Power BI Premium/Embedded Capacity or Power BI Premium-Per-User is required in order to enable the [XMLA Endpoint](https://docs.microsoft.com/en-us/power-bi/admin/service-premium-connect-tools). The XMLA Endpoint must be enabled for any third party tool to connect to Power BI datasets.
+*Third party tools connect to Power BI semantic models through the [XMLA endpoint](https://learn.microsoft.com/en-us/fabric/enterprise/powerbi/service-premium-connect-tools). It requires a Microsoft Fabric capacity (F SKU), a Power BI Embedded capacity (A or EM SKU), a legacy Premium capacity (P SKU) or a Premium Per User license. XMLA read/write is enabled by default on all capacity SKUs since June 2025; see @xmla-as-connectivity if you can't connect.
> [!IMPORTANT]
> Tabular Editor 2.x supports all sources 1-7 above. Tabular Editor 3 supports only some sources depending on which [edition of Tabular Editor 3](xref:editions) you are using.
diff --git a/content/getting-started/migrate-from-te2.md b/content/getting-started/migrate-from-te2.md
index a561fc234..5733b4f56 100644
--- a/content/getting-started/migrate-from-te2.md
+++ b/content/getting-started/migrate-from-te2.md
@@ -2,7 +2,7 @@
uid: migrate-from-te2
title: Migrating from Tabular Editor 2.x
author: Daniel Otykier
-updated: 2021-09-30
+updated: 2026-06-10
applies_to:
products:
- product: Tabular Editor 2
@@ -29,37 +29,7 @@ Tabular Editor 3 has a different product code than Tabular Editor 2.x. This mean
In terms of features, Tabular Editor 3 is essentially a superset of Tabular Editor 2.x, with few exceptions. The table below compares all major features of the two tools:
-||Tabular Editor 2.x|Tabular Editor 3|
-|---|---|---|
-|Edit all TOM objects and properties|✔ |✔ |
-|Batch editing and renaming|✔ |✔ |
-|Copy/paste and drag/drop support|✔ |✔ |
-|Undo/redo data modeling operations|✔ |✔ |
-|Load/save model metadata to disk|✔ |✔ *|
-|Save-to-folder|✔ |✔ *|
-|[daxformatter.com](https://daxformatter.com) integration|✔ |✔ |
-|Advanced data modeling (OLS, Perspectives, Calculation Groups, Metadata Translations, etc.)|✔ |✔ *|
-|Syntax highlighting and automatic formula fixup|✔ |✔ |
-|View DAX dependencies between objects|✔ |✔ |
-|Import Table Wizard|✔ |✔ |
-|Deployment Wizard|✔ |✔ *|
-|Best Practice Analyzer|✔ |✔ |
-|C# scripting and automation|✔ |✔ |
-|Use as External Tool for Power BI Desktop|✔ |✔ |
-|Connect to SSAS/Azure AS/Power BI Premium|✔ |✔ *|
-|Command-line interface|✔ |*[Coming soon](xref:roadmap)*|
-|Premium, customizable user-interface with high-DPI, multi-monitor and theming support||✔ |
-|World-class DAX editor with IntelliSenseTM -like features||✔ |
-|Offline DAX syntax checking and column/data type inference||✔ |
-|Improved Table Import Wizard and Table Schema Update check with Power Query support||✔ |
-|DAX querying, table preview and Pivot Grids||✔ |
-|Create diagrams for visualizing and editing table relationships||✔ |
-|Execute data refresh operations in the background||✔ *|
-|C# macro recorder||✔ |
-|Edit multiple DAX expressions in a single document using DAX scripting||✔ |
-|[VertiPaq Analyzer](https://www.sqlbi.com/tools/vertipaq-analyzer/) integration||✔ |
-
-\***Note:** Limitations apply depending on which [edition](xref:editions) of Tabular Editor 3 you are using.
+[!include[feature-comparison](../includes/feature-comparison.partial.md)]
## Feature differences
@@ -71,7 +41,7 @@ The first thing you will notice when launching Tabular Editor 3, is the new Visu
In general, though, interface elements that exist in Tabular Editor 2.x have the same name in Tabular Editor 3, so it should be relatively easy to navigate the new interface. A few important differences are listed below:
-- The **Advanced Scripting** tab in Tabular Editor 2.x is gone. In Tabular Editor 3, you instead create *C# Scripts** using the **File > New** menu. You are not limited to working on a single script at a time. In addition, **Custom actions** have been renamed to **Macros**.
+- The **Advanced Scripting** tab in Tabular Editor 2.x is gone. In Tabular Editor 3, you instead create **C# Scripts** using the **File > New** menu. You are not limited to working on a single script at a time. In addition, **Custom actions** have been renamed to **Macros**.
- **Dynamic LINQ filtering** is not currently available within the TOM Explorer. Instead, if you want to find objects using [Dynamic LINQ](https://dynamic-linq.net/expression-language) you have to bring up the **Find and replace** dialog by pressing CTRL+F.
- If you close the **Expression Editor** you can bring it back by doubleclicking on the icon of an object in the **TOM Explorer**, or by choosing the **View > Expression Editor** menu option.
- When using the default layout in Tabular Editor 3, the **Best Practice Analyzer** will be located as a tab next to the **TOM Explorer**. Here, you will also find the new **Data Refresh** view (which lets you view the queue of background refresh operations) and the **Macros** view (which lets you manage any macros that were previously saved from C# scripts).
@@ -147,8 +117,26 @@ When working in **connected** or **workspace** mode, DAX scripting is an incredi
To learn more, see @dax-script-introduction.
+## Major additions since 2021
+
+Tabular Editor 3 has gained many features since this article was first written. The feature comparison table above is the canonical catalog. The highlights most relevant to developers coming from Tabular Editor 2.x are:
+
+- [DAX User-Defined Functions (UDFs)](xref:udfs) with authoring assistance, code actions and namespaces
+- [Calendar Editor](xref:calendars) for building date tables with enhanced time intelligence
+- [DAX Package Manager](xref:dax-package-manager) for installing and sharing reusable DAX
+- [Code Actions](xref:code-actions) for quick fixes and refactoring in the DAX editor
+- [DAX debugger](xref:dax-debugger) for stepping through expression evaluation
+- [DAX Optimizer integration](xref:dax-optimizer-integration) alongside VertiPaq Analyzer
+- [Table Groups](xref:table-groups) for organizing large models
+- [AI Assistant](xref:ai-assistant) for DAX and modeling help
+- [TMDL](xref:tmdl) serialization, [Save to folder](xref:save-to-folder) and [Save with supporting files](xref:save-with-supporting-files) for Fabric Git integration
+- Cross-platform [Tabular Editor CLI](xref:te-cli) (`te`, in Limited Public Preview) for automation and CI/CD
+- [Semantic Bridge](xref:semantic-bridge) for Databricks Metric Views (Enterprise Edition)
+- [Localization](xref:references-application-language) of the application interface
+
## Next steps
- @migrate-from-vs
+- @te-cli-migrate
- @parallel-development
- @boosting-productivity-te3
diff --git a/content/getting-started/migrate-from-vs.md b/content/getting-started/migrate-from-vs.md
index 25202c30f..c427736c5 100644
--- a/content/getting-started/migrate-from-vs.md
+++ b/content/getting-started/migrate-from-vs.md
@@ -2,7 +2,7 @@
uid: migrate-from-vs
title: Migrating from Visual Studio
author: Daniel Otykier
-updated: 2021-09-30
+updated: 2026-06-10
applies_to:
products:
- product: Tabular Editor 2
@@ -28,13 +28,19 @@ This article assumes that you are familiar with Tabular model development using
Tabular Editor 3 contains features that allow you to completely migrate away from Visual Studio for tabular model development. This is in contrast to Tabular Editor 2.x, where some users still preferred using Visual Studio for things like table import, visualization of relationships and preview of data.
-However, as you familiarize yourself with Tabular Editor 3, you might still find it useful to open your tabular models in Visual Studio from time to time. This is possible at any time, since Tabular Editor 3 does not modify the **Model.bim** file format (aka. the [TOM JSON](https://docs.microsoft.com/en-us/analysis-services/tom/introduction-to-the-tabular-object-model-tom-in-analysis-services-amo?view=asallproducts-allversions)) used by Visual Studio, thus ensuring compatibility with Visual Studio.
+However, as you familiarize yourself with Tabular Editor 3, you might still find it useful to open your tabular models in Visual Studio from time to time. This is possible at any time, since Tabular Editor 3 does not modify the **Model.bim** file format (aka. the [TOM JSON](https://learn.microsoft.com/en-us/analysis-services/tom/introduction-to-the-tabular-object-model-tom-in-analysis-services-amo?view=asallproducts-allversions)) used by Visual Studio, thus ensuring compatibility with Visual Studio.
-The only exception is, if you decide to use Tabular Editor's [Save-to-folder](xref:parallel-development#what-is-save-to-folder) feature, as this file format is not supported by Visual Studio. However, you can easily recreate a Model.bim file for use with Visual Studio, using the **File > Save As...** option in Tabular Editor. The opposite conversion can also be performed by loading a Model.bim file in Tabular Editor and then using the **File > Save to Folder...** option.
+The only exception is, if you decide to use Tabular Editor's [Save-to-folder](xref:save-to-folder) feature, as this file format is not supported by Visual Studio. However, you can easily recreate a Model.bim file for use with Visual Studio, using the **File > Save As...** option in Tabular Editor. The opposite conversion can also be performed by loading a Model.bim file in Tabular Editor and then using the **File > Save to Folder...** option.
+
+> [!TIP]
+> If you prefer a text-based, version-control-friendly format, use [Tabular Model Definition Language (TMDL)](xref:tmdl) instead of Model.bim. Tabular Editor 3 supports TMDL for both **File > Save to Folder...** and **File > Save As...**, and recent versions of the Analysis Services projects extension for Visual Studio also support TMDL. This lets you move models between the two tools without converting back to a single Model.bim file.
### Automating file format conversion
-If you often face the need to convert back and forth between Tabular Editor's (database.json) folder-based format and Visual Studio's (model.bim) file format, consider writing a small Windows command script using [Tabular Editor 2.x CLI](xref:command-line-options) to automate the conversion process.
+If you often face the need to convert back and forth between Tabular Editor's (database.json) folder-based format and Visual Studio's (model.bim) file format, consider writing a small Windows command script using the [Tabular Editor 2.x CLI](xref:command-line-options) to automate the conversion process.
+
+> [!TIP]
+> The cross-platform [Tabular Editor CLI](xref:te-cli) (`te`, in Limited Public Preview) can also convert between formats, including [TMDL](xref:tmdl), and runs on Windows, macOS and Linux.
# [Model.bim to folder](#tab/frombim)
@@ -53,7 +59,7 @@ tabulareditor.exe database.json -B model.bim
***
> [!NOTE]
-> The command line script above assumes you have [Tabular Editor 2.x](xref:getting-started-te2) installed. The installation location of Tabular Editor 2.x should also be specified as part of your [PATH environment variable](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/path).
+> The command line script above assumes you have [Tabular Editor 2.x](xref:getting-started-te2) installed. The installation location of Tabular Editor 2.x should also be specified as part of your [PATH environment variable](https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/path).
## Integrated Workspace server
@@ -74,16 +80,12 @@ If you enable the **Use workspace database** option, Tabular Editor will prompt
### Compatibility level requirements
-Tabular Editor lets you choose the following compatibility levels for creating Analysis Services databases:
-
-- 1200 (Azure Analysis Services / SQL Server 2016+)
-- 1400 (Azure Analysis Services / SQL Server 2017+)
-- 1500 (Azure Analysis Services / SQL Server 2019+)
+Tabular Editor lets you create and edit models at compatibility level 1200 and higher, covering Analysis Services, Azure Analysis Services, and Power BI datasets deployed through the [XMLA endpoint](xref:powerbi-xmla). The set of available levels depends on your deployment target, and newer levels unlock features such as custom calendars and DAX user-defined functions.
-In addition, Tabular Editor lets you choose compatibility levels suitable for Power BI datasets that will be deployed to the Power BI service through the [XMLA endpoint](xref:powerbi-xmla).
+For the full list of levels and guidance on choosing and changing them, see @update-compatibility-level.
> [!NOTE]
-> Tabular Editor does not support compatibility levels below 1200, as these do not use the [Tabular Object Model (TOM)](https://docs.microsoft.com/en-us/analysis-services/tom/introduction-to-the-tabular-object-model-tom-in-analysis-services-amo?view=asallproducts-allversions) metadata format. If you plan on migrating development from Visual Studio to Tabular Editor for a model in compatibility level 1100 or 1103, **you must upgrade the compatibility level to at least 1200** before migrating to Tabular Editor. By doing so, you will no longer be able to deploy the model to SQL Server 2014 Analysis Services.
+> Tabular Editor does not support compatibility levels below 1200, as these do not use the [Tabular Object Model (TOM)](https://learn.microsoft.com/analysis-services/tom/introduction-to-the-tabular-object-model-tom-in-analysis-services-amo?view=asallproducts-allversions) metadata format. If you plan on migrating development from Visual Studio to Tabular Editor for a model in compatibility level 1100 or 1103, **you must upgrade the compatibility level to at least 1200** before migrating to Tabular Editor. By doing so, you will no longer be able to deploy the model to SQL Server 2014 Analysis Services.
## Visual Studio projects
@@ -103,10 +105,13 @@ If you want to use the [Save-to-folder](xref:parallel-development#what-is-save-t
## Version control
-Tabular Editor does not have any integrated version control of model metadata. However, since all model metadata is stored as simple text (JSON) files on the disk, it is straightforward to include the tabular model metadata in any type of version control system. For this reason, most Tabular Editor users prefer to still keep Visual Studio installed, in order to have access to the [Visual Studio Team Explorer](https://docs.microsoft.com/en-us/azure/devops/user-guide/work-team-explorer?view=azure-devops) or, specifically for git, the new [Git Changes window](https://docs.microsoft.com/en-us/visualstudio/version-control/git-with-visual-studio?view=vs-2019) of Visual Studio 2019.
+Tabular Editor stores all model metadata as simple text files on disk, so it is straightforward to include the tabular model metadata in any type of version control system. Tabular Editor 3 supports several text-based serialization formats designed for this purpose:
-> [!NOTE]
-> These days, it seems that [git](https://git-scm.com/) is the preferred version control system by most developers. Git integration in Tabular Editor 3 is planned for a future update.
+- [Save to folder](xref:save-to-folder) breaks the model out into many small files, which minimizes merge conflicts during parallel development (see below).
+- [TMDL](xref:tmdl) is a concise, human-readable serialization format supported by Tabular Editor and recent versions of Visual Studio.
+- [Save with supporting files](xref:save-with-supporting-files) produces the folder structure required for [Git integration in Microsoft Fabric](xref:save-with-supporting-files).
+
+You can manage these files with [git](https://git-scm.com/) directly, or continue to use the version control tooling built into Visual Studio, such as the [Git Changes window](https://learn.microsoft.com/visualstudio/version-control/git-with-visual-studio).
Once you migrate to Tabular Editor, you do not need to keep the original Tabular model project and supporting files created by Visual Studio. You can still use the Visual Studio Team Explorer or Git Changes window to look at code changes, manage version control branches, perform code check-ins, merges, etc.
@@ -166,7 +171,7 @@ In Tabular Editor, we use the Messages View to consolidate all error, warning an
In the screenshot above, notice how there are three different message-posting sources:
-- **Analysis Services**: When metadata changes are saved to a connected instance of Analysis Services, the server updates the TOM metadata to indicate if any objects are in an erroneous state. Specifically, the [State](https://docs.microsoft.com/en-us/dotnet/api/microsoft.analysisservices.tabular.measure.state?view=analysisservices-dotnet#Microsoft_AnalysisServices_Tabular_Measure_State) and [ErrorMessage](https://docs.microsoft.com/en-us/dotnet/api/microsoft.analysisservices.tabular.measure.errormessage?view=analysisservices-dotnet#Microsoft_AnalysisServices_Tabular_Measure_ErrorMessage) properties are updated. Tabular Editor displays these error messages in the Messages View. These messages are not shown when Tabular Editor is used offline (i.e. without a connection to Analysis Services).
+- **Analysis Services**: When metadata changes are saved to a connected instance of Analysis Services, the server updates the TOM metadata to indicate if any objects are in an erroneous state. Specifically, the [State](https://learn.microsoft.com/en-us/dotnet/api/microsoft.analysisservices.tabular.measure.state?view=analysisservices-dotnet#Microsoft_AnalysisServices_Tabular_Measure_State) and [ErrorMessage](https://learn.microsoft.com/en-us/dotnet/api/microsoft.analysisservices.tabular.measure.errormessage?view=analysisservices-dotnet#Microsoft_AnalysisServices_Tabular_Measure_ErrorMessage) properties are updated. Tabular Editor displays these error messages in the Messages View. These messages are not shown when Tabular Editor is used offline (i.e. without a connection to Analysis Services).
- **Tabular Editor Semantic Analysis**: In addition, Tabular Editor 3 performs its own semantic analysis of all DAX expressions in the model. Any syntax or semantic errors encountered are reported here.
- **Expression Editor**: Lastly, if any documents are open in Tabular Editor 3, such as the Expression Editor, any DAX syntax or semantic errors encountered in the document are reported here.
@@ -212,10 +217,11 @@ Once tables have been added to the diagram, you can create relationship between
Tabular Editor lets you easily deploy the model metadata to any instance of Analysis Services. You can invoke Tabular Editor's Deployment Wizard under **Model > Deploy...** or by hitting CTRL+SHIFT+D.
-For more information, see [Model deployment](../features/deployment.md).
+For more information, see [Model deployment](xref:deployment).
## Next steps
- @migrate-from-te2
- @parallel-development
+- @save-with-supporting-files
- @boosting-productivity-te3
\ No newline at end of file
diff --git a/content/getting-started/parallel-development.md b/content/getting-started/parallel-development.md
index 3b78007fb..aee3700e4 100644
--- a/content/getting-started/parallel-development.md
+++ b/content/getting-started/parallel-development.md
@@ -2,7 +2,7 @@
uid: parallel-development
title: Enabling parallel development using Git and Save to Folder
author: Daniel Otykier
-updated: 2021-09-30
+updated: 2026-06-11
applies_to:
products:
- product: Tabular Editor 2
@@ -28,7 +28,7 @@ This article describes the principles of parallel model development (that is, th
- The destination of your data model must be one of the following:
- SQL Server 2016 (or newer) Analysis Services Tabular
- Azure Analysis Services
- - Fabric/Power BI Premium Capacity/Power BI Premium-per-user with [XMLA read/write enabled](https://docs.microsoft.com/en-us/power-bi/admin/service-premium-connect-tools#enable-xmla-read-write)
+ - a Power BI workspace assigned to a Fabric capacity, Power BI Embedded capacity, legacy Premium capacity or Premium Per User license, with [XMLA read/write enabled](https://learn.microsoft.com/en-us/fabric/enterprise/powerbi/service-premium-connect-tools#enable-xmla-read-write) (the default since June 2025)
- Git repository accessible by all team members (on-premises or hosted in Azure DevOps, GitHub, etc.)
## TOM as source code
@@ -104,7 +104,7 @@ These limitations are:
To enable parallel development, we must be able to store the model metadata in one of the text-based (JSON) formats mentioned above (Model.bim or Database.json). There is no way to "recreate" a .pbix or .pbit file from the text-based format, so **once we decide to go this route, we will no longer be able to use Power BI Desktop for editing the data model**. Instead, we will have to rely on tools that can use the JSON-based format, which is exactly the purpose of Tabular Editor.
> [!WARNING]
-> If you do not have access to a Power BI Premium workspace (either Premium capacity or Premium-Per-User), you will not be able to publish the model metadata stored in the JSON files, since this operation requires access to the [XMLA endpoint](https://docs.microsoft.com/en-us/power-bi/admin/service-premium-connect-tools).
+> If you do not have access to a workspace assigned to a capacity or Premium Per User license, you will not be able to publish the model metadata stored in the JSON files, since this operation requires access to the [XMLA endpoint](https://learn.microsoft.com/en-us/fabric/enterprise/powerbi/service-premium-connect-tools).
> [!NOTE]
> Power BI Desktop is still needed for purpose of creating the visual part of the report. It is a [best practice to always separate reports from models](https://docs.microsoft.com/en-us/power-bi/guidance/report-separate-from-model). In case you have an existing Power BI file that contains both, [this blog post](https://powerbi.tips/2020/06/split-an-existing-power-bi-file-into-a-model-and-report/) ([video](https://www.youtube.com/watch?v=PlrtBm9YN_Q)) describes how to split it into a model file and a report file.
diff --git a/content/how-tos/xmla-as-connectivity.md b/content/how-tos/xmla-as-connectivity.md
index c05dbb262..087b11cba 100644
--- a/content/how-tos/xmla-as-connectivity.md
+++ b/content/how-tos/xmla-as-connectivity.md
@@ -2,7 +2,7 @@
uid: xmla-as-connectivity
title: XMLA / Analysis Services connectivity
author: Daniel Otykier
-updated: 2024-05-01
+updated: 2026-06-11
applies_to:
products:
- product: Tabular Editor 2
@@ -70,27 +70,27 @@ Most Analysis Services instances support several languages. See [this page for a
## Fabric/Power BI XMLA Settings
-Two admin settings must be switched on to enable the XMLA endpoint in Fabric/Power BI.
+XMLA read/write is enabled by default on all Fabric and Power BI capacities since June 2025. If you can't connect through the XMLA endpoint, verify that an admin hasn't disabled one of these two settings.
-### Enable Tennant XMLA Endpoint
+### Tenant XMLA endpoint setting
-In the Fabric/Power BI admin portal, the integration setting "Allow XMLA endpoints and Analyze in Excel with on-premises semantic models" must be enabled
+In the Fabric/Power BI admin portal, the integration setting "Allow XMLA endpoints and Analyze in Excel with on-premises semantic models" must be enabled.
At the tenant level, the setting may be restricted to only certain users. If the setting is restricted in your organization, ensure all required users are allowed to use the XMLA endpoint at the tenant level.
-
+
-### Enable XMLA Read Write on Capacity
+### XMLA read/write on the capacity
-To use the XMLA endpoint, the workspace that hosts a semantic model must be assigned to a capacity (FSku or Power BI Premium Per User), and the capacity must have XMLA ["Read Write" enabled in the capacity settings.](https://learn.microsoft.com/en-us/power-bi/enterprise/service-premium-connect-tools#enable-xmla-read-write)
+To use the XMLA endpoint, assign the workspace that hosts the semantic model to a Fabric capacity (F SKU), a Power BI Embedded capacity (A or EM SKU), a legacy Premium capacity (P SKU) or a Premium Per User (PPU) license. The capacity must have the XMLA endpoint set to [**Read Write** in the capacity settings](https://learn.microsoft.com/en-us/fabric/enterprise/powerbi/service-premium-connect-tools#enable-xmla-read-write). This is the default since June 2025.
-
+
-Read Write is enabled in the Admin Portal by navigating to
-1. Capacity Settings
-1. Choosing the type of capacity
-3. Selecting the relevant Capacity
-4. Navigating to Power BI Workloads and scrolling down to find the XMLA Endpoint setting choosing "Read Write"
+If read/write has been switched off, ask your capacity admin to re-enable it in the Admin Portal:
+1. Open **Capacity Settings**.
+2. Choose the type of capacity.
+3. Select the relevant capacity.
+4. Navigate to **Power BI Workloads** and set **XMLA Endpoint** to **Read Write**.
### Workspace Level User Rights
To edit models using the XMLA endpoint the user's account needs to have access to the workspace as either **Contributor**, **Member** or **Admin**. In the workspace choose 'Manage Access' and add the user account or a Entra ID group that the user belongs to with the required role. For more information on roles in workspaces please see Microsoft's Documentation: [Roles in Workspaces](https://learn.microsoft.com/en-us/fabric/fundamentals/roles-workspaces)
@@ -118,7 +118,7 @@ To ensure the best experience while editing models using the XMLA endpoint the w
If another user, other than the semantic model's owner, needs to edit the model through the XMLA endpoint, the security admin setting in Fabric/Power BI called "Block republish and disable package refresh" must be disabled.
-
+
## Unsupported model types
diff --git a/content/includes/feature-comparison.partial.md b/content/includes/feature-comparison.partial.md
new file mode 100644
index 000000000..3f7b217c4
--- /dev/null
+++ b/content/includes/feature-comparison.partial.md
@@ -0,0 +1,51 @@
+||TE2 (Free)|TE3 (Commercial)|[TE CLI](xref:te-cli) (Preview)|
+|---|---|---|---|
+|Edit all TOM objects and properties|✔ |✔ |✔ |
+|Batch editing and renaming|✔ |✔ |✔ |
+|Copy/paste and drag/drop support|✔ |✔ ||
+|Undo/redo data modeling operations|✔ |✔ ||
+|Load/save model metadata to disk|✔ |✔ \*|✔ |
+|Save-to-folder|✔ |✔ \*|✔ |
+|Built in DAX Formating||✔ ||
+|Advanced data modeling (OLS, Perspectives, Calculation Groups, Metadata Translations, etc.)|✔ |✔ \*|✔ |
+|Syntax highlighting and automatic formula fixup|✔ |✔ ||
+|View DAX dependencies between objects|✔ |✔ |✔ |
+|Import Table Wizard|✔ |✔ ||
+|Deployment Wizard|✔ |✔ \*|✔ |
+|Best Practice Analyzer|✔ |✔ |✔ |
+|C# scripting and automation|✔ |✔ |✔ |
+|Use as External Tool for Power BI Desktop|✔ |✔ ||
+|Connect to SSAS/Azure AS/Power BI Premium|✔ |✔ \*|✔ |
+|Command-line interface|✔ ||✔ |
+|Premium, customizable user-interface with high-DPI, multi-monitor and theming support||✔ ||
+|World-class DAX editor with IntelliSenseTM -like features, auto-complete, and more||✔ ||
+|Offline DAX syntax checking and column/data type inference||✔ |✔ |
+|Improved Table Import Wizard and Table Schema Update check with Power Query support||✔ ||
+|DAX querying||✔ |✔ |
+|Table preview and Pivot Grids||✔ ||
+|Create diagrams for visualizing and editing table relationships||✔ ||
+|Execute data refresh operations||✔ \*|✔ |
+|C# macro recorder||✔ ||
+|Edit multiple DAX expressions in a single document using [DAX scripting](xref:dax-scripts)||✔ ||
+|[VertiPaq Analyzer](https://www.sqlbi.com/tools/vertipaq-analyzer/) integration||✔ |✔ |
+|[DAX debugger](xref:dax-debugger)||✔ ||
+|[Metadata Translation Editor](xref:metadata-translation-editor)||✔ ||
+|[Perspective Editor](xref:perspective-editor)||✔ ||
+|[Table Groups](xref:table-groups)||✔ ||
+|[DAX Optimizer Integration](xref:dax-optimizer-integration)||✔ ||
+|[Code Actions](xref:code-actions)||✔ ||
+|[DAX User-Defined Functions (UDFs)](xref:udfs) Assistance, Code Action and Namespaces||✔ ||
+|[Calendar Editor](xref:calendars) for enhanced time intelligence||✔ ||
+|[DAX Package Manager](xref:dax-package-manager)||✔ ||
+|[Built-in Best Practice Analyzer rules](xref:built-in-bpa-rules)||✔ ||
+|[Advanced Refresh dialog](xref:advanced-refresh) with [refresh override profiles](xref:refresh-overrides) (Business/Enterprise Edition)||✔ \*||
+|[Save with supporting files for Fabric](xref:save-with-supporting-files)||✔ ||
+|Semantic Bridge for Databricks Metric Views (Enterprise Edition)||✔ \*||
+|[Localization support](xref:references-application-language) (Chinese, Spanish, Japanese, German, French)||✔ ||
+|[Semantic model testing](xref:te-cli-commands#testing) (assertions, snapshots, A/B comparison)|||✔ |
+|Cross-platform (Windows, macOS, Linux)|||✔ |
+|Structured output (JSON, CSV, TMDL, TMSL) for scripting and AI agents|||✔ |
+|[CI/CD integration](xref:te-cli-cicd) with GitHub Actions and Azure DevOps annotations and VSTEST results|||✔ |
+|[Interactive shell](xref:te-cli-interactive) (REPL) with shell completions|||✔ |
+
+\***Note:** Limitations apply depending on which [edition](xref:editions) of Tabular Editor 3 you are using.
diff --git a/content/index.md b/content/index.md
index 19181bca9..00370b9bb 100644
--- a/content/index.md
+++ b/content/index.md
@@ -2,7 +2,7 @@
uid: index
title: Tabular Editor
author: Daniel Otykier
-updated: 2021-09-09
+updated: 2026-06-10
---
# Tabular Editor
@@ -70,51 +70,7 @@ Tabular Editor 2.x is a lightweight application for quickly modifying the TOM (T
The table below lists all the main features of both tools.
-||TE2 (Free)|TE3 (Commercial)|
-|---|---|---|
-|Edit all TOM objects and properties|✔ |✔ |
-|Batch editing and renaming|✔ |✔ |
-|Copy/paste and drag/drop support|✔ |✔ |
-|Undo/redo data modeling operations|✔ |✔ |
-|Load/save model metadata to disk|✔ |✔ \*|
-|Save-to-folder|✔ |✔ \*|
-|[daxformatter.com](https://daxformatter.com) integration|✔ |✔ |
-|Advanced data modeling (OLS, Perspectives, Calculation Groups, Metadata Translations, etc.)|✔ |✔ \*|
-|Syntax highlighting and automatic formula fixup|✔ |✔ |
-|View DAX dependencies between objects|✔ |✔ |
-|Import Table Wizard|✔ |✔ |
-|Deployment Wizard|✔ |✔ \*|
-|Best Practice Analyzer|✔ |✔ |
-|C# scripting and automation|✔ |✔ |
-|Use as External Tool for Power BI Desktop|✔ |✔ |
-|Connect to SSAS/Azure AS/Power BI Premium|✔ |✔ \*|
-|Command-line interface|✔ ||
-|Premium, customizable user-interface with high-DPI, multi-monitor and theming support||✔ |
-|World-class DAX editor with IntelliSenseTM -like features, offline formatting, and more||✔ |
-|Offline DAX syntax checking and column/data type inference||✔ |
-|Improved Table Import Wizard and Table Schema Update check with Power Query support||✔ |
-|DAX querying, table preview and Pivot Grids||✔ |
-|Create diagrams for visualizing and editing table relationships||✔ |
-|Execute data refresh operations in the background||✔ \*|
-|C# macro recorder||✔ |
-|Edit multiple DAX expressions in a single document using [DAX scripting](xref:dax-scripts)||✔ |
-|[VertiPaq Analyzer](https://www.sqlbi.com/tools/vertipaq-analyzer/) integration||✔ |
-|[DAX debugger](xref:dax-debugger)||✔ |
-|[Metadata Translation Editor](xref:metadata-translation-editor)||✔ |
-|[Perspective Editor](xref:perspective-editor)||✔ |
-|[Table Groups](xref:table-groups)||✔ |
-|[DAX Optimizer Integration](xref:dax-optimizer-integration)||✔ |
-|[Code Actions](xref:code-actions)||✔ |
-|[DAX User-Defined Functions (UDFs)](xref:udfs) Assistance, Code Action and Namespaces||✔ |
-|[Calendar Editor](xref:calendars) for enhanced time intelligence||✔ |
-|[DAX Package Manager](xref:dax-package-manager)||✔ |
-|[Built-in Best Practice Analyzer rules](xref:built-in-bpa-rules)||✔ |
-|[Advanced Refresh dialog](xref:advanced-refresh) with [refresh override profiles](xref:refresh-overrides) (Business/Enterprise Edition)||✔ \*|
-|[Save with supporting files for Fabric](xref:save-with-supporting-files)||✔ |
-|Semantic Bridge for Databricks Metric Views (Enterprise Edition)||✔ \*|
-|[Localization support](xref:references-application-language) (Chinese, Spanish, Japanese, German, French)||✔ |
-
-\***Note:** Limitations apply depending on which [edition](xref:editions) of Tabular Editor 3 you are using.
+[!include[feature-comparison](includes/feature-comparison.partial.md)]
### Common features
diff --git a/content/references/release-history.md b/content/references/release-history.md
index 5bb6598df..3d80d1cc9 100644
--- a/content/references/release-history.md
+++ b/content/references/release-history.md
@@ -4,6 +4,10 @@ title: Full release history
---
# Full release history
+- 2026-04-17 **Tabular Editor 3.26.1** (*[Release notes](release-notes/3_26_1.md)*)
+ - .NET 8 installer (.exe): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.1.Installer.x64.Net8.exe), [ARM64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.1.Installer.ARM64.Net8.exe)
+ - .NET 8 portable (.zip): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.1.x64.Net8.zip), [ARM64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.1.ARM64.Net8.zip)
+ - .NET 8 installer (.msi): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.1.x64.Net8.msi), [ARM64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.1.ARM64.Net8.msi)
- 2026-03-25 **Tabular Editor 3.26.0** (*[Release notes](release-notes/3_26_0.md)*)
- .NET 8 installer (.exe): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.0.Installer.x64.Net8.exe), [ARM64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.0.Installer.ARM64.Net8.exe)
- .NET 8 portable (.zip): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.0.x64.Net8.zip), [ARM64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.0.ARM64.Net8.zip)
diff --git a/content/tutorials/data-security/data-security-setup-ols.md b/content/tutorials/data-security/data-security-setup-ols.md
index 2e5369726..a10baecb1 100644
--- a/content/tutorials/data-security/data-security-setup-ols.md
+++ b/content/tutorials/data-security/data-security-setup-ols.md
@@ -102,7 +102,7 @@ Setup or Modification of OLS is trivial for Columns and Table. You just have to
Figure 4: The Object-Level Security property can be changed with an adjacent drop-down, allowing selection of Default , None or Read .
----
+---
### 5. Combine OLS with RLS
Successfully combining RLS with OLS requires designing a model and Data Security / Access Management strategy that align. Since RLS and OLS cannot combine across roles, this means if you plan on implementing both RLS and OLS, users are limited to a single role.
diff --git a/content/tutorials/new-pbi-model.md b/content/tutorials/new-pbi-model.md
index 485b4f879..441d983bd 100644
--- a/content/tutorials/new-pbi-model.md
+++ b/content/tutorials/new-pbi-model.md
@@ -2,7 +2,7 @@
uid: new-pbi-model
title: Create a Power BI Semantic Model
author: Daniel Otykier
-updated: 2021-09-06
+updated: 2026-06-11
applies_to:
products:
- product: Tabular Editor 2
@@ -22,7 +22,7 @@ applies_to:
This page walks you through the process of creating a new Power BI semantic model from scratch using Tabular Editor 3.
> [!IMPORTANT]
-> Tabular Editor 3 Business Edition is limited to [Power BI Premium Per User](https://docs.microsoft.com/en-us/power-bi/admin/service-premium-per-user-faq). For Fabric/Power BI Premium or Embedded capacity, you must upgrade to Tabular Editor 3 Enterprise Edition. In either case, the Power BI workspace in which the semantic model is to be deployed, must have its [XMLA read/write endpoint enabled](https://docs.microsoft.com/en-us/power-bi/admin/service-premium-connect-tools#enable-xmla-read-write).
+> Tabular Editor 3 Business Edition is limited to [Power BI Premium Per User](https://learn.microsoft.com/en-us/fabric/enterprise/powerbi/service-premium-per-user-faq). For Fabric, Power BI Premium or Embedded capacity, you must upgrade to Tabular Editor 3 Enterprise Edition. In either case, the target workspace must allow [XMLA read/write access](https://learn.microsoft.com/en-us/fabric/enterprise/powerbi/service-premium-connect-tools#enable-xmla-read-write) - the default on all capacity SKUs since June 2025.
>
> Tabular Editor 3 Desktop Edition does not have any support for Power BI semantic models.
>
diff --git a/content/tutorials/powerbi-xmla.md b/content/tutorials/powerbi-xmla.md
index 038d45fe6..a215bade8 100644
--- a/content/tutorials/powerbi-xmla.md
+++ b/content/tutorials/powerbi-xmla.md
@@ -2,7 +2,7 @@
uid: powerbi-xmla
title: Editing through XMLA endpoint
author: Daniel Otykier
-updated: 2021-10-01
+updated: 2026-06-11
applies_to:
products:
- product: Tabular Editor 2
@@ -17,35 +17,35 @@ applies_to:
- edition: Enterprise
full: true
---
-# Editing a Power BI dataset through the XMLA endpoint
+# Editing a Power BI semantic model through the XMLA endpoint
-You can use Tabular Editor 3 to connect to a Power BI dataset published to the Power BI service through the [XMLA endpoint](https://docs.microsoft.com/en-us/power-bi/admin/service-premium-connect-tools). The XMLA endpoint is available for Power BI Premium Capacity workspaces (i.e. workspaces assigned to a Px, Ax or EMx SKU), or Power BI Premium-Per-User (PPU) workspaces.
+You can use Tabular Editor 3 to connect to a Power BI semantic model published to the Power BI service through the [XMLA endpoint](https://learn.microsoft.com/en-us/fabric/enterprise/powerbi/service-premium-connect-tools). The XMLA endpoint is available for workspaces assigned to a Microsoft Fabric capacity (F SKU), a Power BI Embedded capacity (A or EM SKU), a legacy Premium capacity (P SKU) or a Premium Per User (PPU) license.
> [!NOTE]
-> Power BI Pro licenses are not sufficient for accessing Power BI datasets in a shared workspace. Premium/Embedded capacity or Premium-Per-User Power BI licensing is required for XMLA access.
+> Power BI Pro licenses are not sufficient for accessing Power BI semantic models in a shared workspace. A Fabric capacity, Embedded capacity, legacy Premium capacity or Premium Per User license is required for XMLA access.
## Prerequisites
-Tabular Editor requires the XMLA endpoint to allow both read/write access. This setting is controlled by [your capacity admin](https://docs.microsoft.com/en-us/power-bi/admin/service-premium-connect-tools#enable-xmla-read-write).
+Tabular Editor requires the XMLA endpoint to allow both read and write access. Microsoft enabled XMLA read/write by default on all Fabric and Power BI capacity SKUs in June 2025. If you can't connect, ask [your capacity admin](https://learn.microsoft.com/en-us/fabric/enterprise/powerbi/service-premium-connect-tools#enable-xmla-read-write) to verify the settings described in @xmla-as-connectivity.
> [!IMPORTANT]
> If using Tabular Editor 3 be aware of the [license limitations](xref:editions) for connecting to the Power BI XMLA endpoint. You need at least Tabular Editor 3 Business or Enterprise Edition depending on the type of Power BI Workspace used.
## Limitations
-When connecting to a dataset through the XMLA endpoint, all data modeling operations supported by the [Tabular Object Model (TOM)](https://docs.microsoft.com/en-us/analysis-services/tom/introduction-to-the-tabular-object-model-tom-in-analysis-services-amo?view=asallproducts-allversions) are available for editing. In other words, the [Power BI Desktop Limitations](xref:desktop-limitations) do not apply when editing a dataset through the XMLA endpoint of the Power BI Service.
+When connecting to a semantic model through the XMLA endpoint, all data modeling operations supported by the [Tabular Object Model (TOM)](https://learn.microsoft.com/en-us/analysis-services/tom/introduction-to-the-tabular-object-model-tom-in-analysis-services-amo?view=asallproducts-allversions) are available for editing. In other words, the [Power BI Desktop Limitations](xref:desktop-limitations) do not apply when editing a semantic model through the XMLA endpoint of the Power BI Service.
## Workflow
-The Power BI XMLA endpoint essentially exposes an instance of Analysis Services that Tabular Editor can connect to. As such, you can treat the Power BI workspace as the Analysis Services **server** with each Power BI dataset in the workspace corresponding to an Analysis Services **database**. All of Tabular Editor's modeling and management features are available when connecting to the XMLA endpoint. If you decide to use Tabular Editor to build and maintain your Power BI datasets, you should also consider some kind of version control system for your model metadata.
+The Power BI XMLA endpoint essentially exposes an instance of Analysis Services that Tabular Editor can connect to. As such, you can treat the Power BI workspace as the Analysis Services **server** with each Power BI semantic model in the workspace corresponding to an Analysis Services **database**. All of Tabular Editor's modeling and management features are available when connecting to the XMLA endpoint. If you decide to use Tabular Editor to build and maintain your Power BI semantic models, you should also consider some kind of version control system for your model metadata.
The workflow is then:
-1. Create a new data model in Tabular Editor or connect to an existing dataset through the Power BI XMLA endpoint
+1. Create a new data model in Tabular Editor or connect to an existing semantic model through the Power BI XMLA endpoint
2. Save this model as a **Model.bim** file or use Tabular Editor's [Save to folder](xref:save-to-folder) option.
3. Whenever you want to make changes to the model, load the file/folder you saved in step 2. The first time you do this, decide whether you want to use a [workspace database](xref:workspace-mode) or not.
-4. Once you are ready to publish your changes to the Power BI service, perform a deployment through Tabular Editor (**Model > Deploy...**), thus creating a new or overwriting an existing dataset in a Power BI workspace.
+4. Once you are ready to publish your changes to the Power BI service, perform a deployment through Tabular Editor (**Model > Deploy...**), thus creating a new or overwriting an existing semantic model in a Power BI workspace.
## Next steps
diff --git a/content/whats-new/index.html b/content/whats-new/index.html
index be60282c3..d5556b17d 100644
--- a/content/whats-new/index.html
+++ b/content/whats-new/index.html
@@ -46,14 +46,15 @@ Community
Ask questions, suggest enhancements and help other TE fans get their answers at our GitHub community :
Articles
Share your favorite blog or SoMe post with the community
Video
@@ -85,9 +86,9 @@ Tabular Editor Learn
Meet the team
The Tabular Editor Team will be at the following conferences:
- SQLBits in Newport, Wales, April 22-25
- SQLDay in Wroclaw, Poland, May 11-13
- Data Point Prague in Prague, May 28-29
+ Power BI Next Step in Odense, Denmark, September 7-8
+ FabCon Barcelona in Barcelona, Spain, September 28 - October 1
+ dataMinds Connect in Mechelen, Belgium, October 12-14
diff --git a/localizedContent/es/content/_ui-strings.json b/localizedContent/es/content/_ui-strings.json
index 5b6b37c6c..623ce2290 100644
--- a/localizedContent/es/content/_ui-strings.json
+++ b/localizedContent/es/content/_ui-strings.json
@@ -13,14 +13,18 @@
"header.button1": "Prueba gratuita",
"header.button2": "Página principal",
"footer.heading": "¿Listo para empezar?",
- "footer.button1": "Prueba Tabular Editor 3 gratis",
+ "footer.button1": "Prueba Tabular Editor 3",
"footer.button2": "Comprar Tabular Editor 3",
"footer.aboutUs": "Sobre nosotros",
+ "footer.career": "Carreras",
+ "footer.newsroom": "Sala de prensa",
"footer.contactUs": "Contacta con nosotros",
"footer.technicalSupport": "Soporte técnico",
- "footer.privacyPolicy": "Política de privacidad y de cookies",
- "footer.termsConditions": "Términos y condiciones",
- "footer.licenseTerms": "Términos de licencia",
+ "footer.securityTrust": "Centro de seguridad y confianza",
+ "footer.privacyPolicy": "Política de privacidad",
+ "footer.cookiePolicy": "Política de cookies",
+ "footer.siteTerms": "Términos del Sitio",
+ "footer.commercialTerms": "Términos y condiciones comerciales",
"appliesTo": "Se aplica a: ",
"availableSince": "Disponible desde",
"availableIn": "Disponible en",
diff --git a/localizedContent/es/content/features/Command-line-Options.md b/localizedContent/es/content/features/Command-line-Options.md
index bea1789d2..8b06a51ea 100644
--- a/localizedContent/es/content/features/Command-line-Options.md
+++ b/localizedContent/es/content/features/Command-line-Options.md
@@ -1,20 +1,82 @@
---
uid: command-line-options
-title: Línea de comandos
+title: Línea de comandos (Tabular Editor 2)
author: Daniel Otykier
-updated: 2021-08-26
+updated: 2026-06-09
applies_to:
products:
- product: Tabular Editor 2
full: true
- product: Tabular Editor 3
none: true
+ - product: CLI de Tabular Editor
+ none: true
---
-# Línea de comandos
+# Línea de comandos (Tabular Editor 2)
Tabular Editor se puede ejecutar desde la línea de comandos para realizar diversas tareas, lo que puede ser útil en escenarios de compilación e implementación automatizadas, etc.
+## Cómo encajan las herramientas
+
+Tabular Editor 3 es una aplicación de escritorio para desarrolladores. No tiene su propia interfaz de línea de comandos. Para implementaciones automatizadas y canalizaciones de CI/CD, usa `TabularEditor.exe` (la CLI de Tabular Editor 2 documentada en esta página) o la nueva [CLI de Tabular Editor](xref:te-cli) multiplataforma (`te`).
+
+Ejecutar `TabularEditor.exe` en una canalización de CI/CD no requiere una licencia de Tabular Editor 3. Solo los usuarios de la aplicación Tabular Editor 3 necesitan una licencia.
+
+> [!TIP]
+> ¿Busca la nueva CLI multiplataforma? Consulte @te-cli para obtener la CLI de Tabular Editor (versión preliminar pública limitada), su sucesora que se ejecuta en Windows, macOS y Linux.
+
+## TabularEditor.exe frente a la CLI de Tabular Editor
+
+La CLI de Tabular Editor (`te`) es la sucesora multiplataforma de `TabularEditor.exe`. No es solo una reescritura para macOS y Linux: incorpora la edición, la inspección, la comparación de diferencias de modelos, las pruebas, la activación de actualizaciones y el análisis de VertiPaq como operaciones de canalización de primera clase; nada de esto era posible con `TabularEditor.exe`. La CLI `te` está en versión preliminar pública limitada (expira el 2026-09-30); por ahora, usa `TabularEditor.exe` en canalizaciones de producción.
+
+| | CLI de TE2 (`TabularEditor.exe`) | CLI de TE (`te`) |
+| ---------------------------------------------- | ------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Estado | Estable y lista para producción | Versión preliminar pública limitada (expira el 2026-09-30) |
+| Plataforma | Solo para Windows | Windows, macOS, Linux |
+| Requiere licencia | No | No (versión preliminar); por determinar cuando llegue a GA |
+| Binario | Aplicación WinForms; requiere el wrapper `start /wait` | Binario de consola diseñado específicamente para este fin; no requiere wrapper |
+| **Autenticación** | | |
+| Entidad de servicio | Mediante una cadena de conexión de MSOLAP | Compatibilidad nativa con `--auth spn`, `--auth env`, `--auth managed-identity`; credenciales a través de variables de entorno, stdin o certificado; almacén seguro de credenciales nativo del sistema operativo |
+| Identidad administrada | No | Sí (`--auth managed-identity`), para runners alojados en Azure |
+| Inicio de sesión interactivo en el navegador | No | Sí (`te auth login`) |
+| **CI/CD** | | |
+| Anotaciones de CI | `-V` (Azure DevOps), `-G` (GitHub) | `--ci vsts`, `--ci github` en cada comando |
+| Modo no interactivo | Sin opción explícita; si hay errores, puede solicitarte datos | Opción global `--non-interactive`: falla de inmediato, sin solicitar datos |
+| Códigos de salida predecibles | Parcial | `0` = éxito, `1` = fallo, `2` = discrepancia del diff |
+| Salida estructurada | No | `--output-format json/csv/tmdl/tmsl` en cada comando |
+| Resultados de VSTEST | Opción `-T` | `--trx ` en `validate`, `bpa run`, `test run` |
+| **Implementación** | | |
+| Implementar el modelo | Opción `-D` | `te deploy` con opciones detalladas (`--deploy-roles`, `--deploy-partitions`, `--deploy-connections`, `--deploy-full`, etc.) |
+| Generar XMLA/TMSL sin realizar el despliegue | opción `-X` | `te deploy --xmla ` o `--dry-run` |
+| Comprobación de BPA antes del despliegue | No | Integrado; usa `--skip-bpa` o `--fix-bpa` para anularlo |
+| Perfiles de conexión | No | `te profile set/list/show` - perfiles reutilizables con nombre por entorno |
+| **Best Practice Analyzer** | | |
+| Ejecutar BPA | opciones `-A` / `-AX` | `te bpa run` con `--fail-on warning/error`, `--fix`, delimitación mediante `--path` y `--vpax` para reglas compatibles con VPA |
+| Gestión de reglas de BPA | No | `te bpa rules add/rm/set/list/disable/enable/init` |
+| **Edición de modelos en la canalización** | | |
+| Ejecutar C# Script | opción `-S` | `te script` - múltiples scripts, código en línea, stdin, `--dry-run`, símbolos del preprocesador (`TECLI`) |
+| Ejecutar macros | No | `te macro run` con contexto `--on ` |
+| Establecer/consultar propiedades | No | `te get`, `te set`, `te add`, `te rm`, `te mv`, `te replace` |
+| Formato DAX | No | `te format` - todas las expresiones o un único objeto; DAX y M |
+| **Inspección** | | |
+| Listar objetos del modelo | No | `te ls` con filtros de ruta con comodines, `--type`, `--paths-only`, `--output-format bim` |
+| Buscar expresiones/nombres | No | `te find` con expresiones regulares y ámbito (`--in expressions/names/descriptions`) |
+| Comparar dos modelos | No | `te diff` - comparación estructural con código de salida `2` ante cualquier diferencia |
+| Análisis de dependencias | No | `te deps` - dependencias ascendentes y descendentes para cualquier objeto; `--unused` para encontrar código muerto |
+| **Actualización** | | |
+| Iniciar una actualización | No | `te refresh` con `--type`, `--table`, `--partition`, `--apply-refresh-policy`, `--dry-run` |
+| **Pruebas** | | |
+| Pruebas de aserción de DAX | No | `te test run` con `--tag`, `--trx`, `--ci`; `te test init/snapshot/compare` |
+| **Análisis de VertiPaq** | | |
+| Estadísticas de almacenamiento | No | `te vertipaq` - columnas, relaciones, particiones; `--export`/`--import` VPAX |
+| **Otro** | | |
+| REPL interactivo | No | `te interactive` - shell con reconocimiento del modelo y autocompletado con Tab |
+| Autocompletado con Tab en el shell | No | `te completion bash/zsh/pwsh` |
+| Compatibilidad con versiones anteriores de TE2 | Nativa | Capa de compatibilidad integrada: las invocaciones existentes de `TabularEditor.exe` funcionan sin cambios |
+
+Para ver una correspondencia opción por opción entre la sintaxis de TE2 y la nueva CLI, consulta @te-cli-migrate.
+
**Nota:** Dado que TabularEditor.exe es una aplicación WinForms, si la ejecutas directamente desde un símbolo del sistema de Windows, el hilo volverá inmediatamente al símbolo del sistema. Esto puede provocar problemas en scripts de comandos, etc. Para esperar a que TabularEditor.exe termine sus tareas de línea de comandos, ejecútalo siempre así: `start /wait TabularEditor ...`
Para ver las opciones de línea de comandos disponibles en Tabular Editor, ejecuta el siguiente comando:
diff --git a/localizedContent/es/content/features/ai-assistant.md b/localizedContent/es/content/features/ai-assistant.md
index ddd6aff5d..30f01f3ff 100644
--- a/localizedContent/es/content/features/ai-assistant.md
+++ b/localizedContent/es/content/features/ai-assistant.md
@@ -187,7 +187,7 @@ El Asistente de IA tiene acceso al contexto de tu modelo y puede realizar las si
- **Exploración del modelo**: Consultar los metadatos del modelo, incluidas tablas, columnas, medidas, relaciones y sus propiedades
- **Redacción de Consultas DAX**: Generar Consultas DAX y ejecutarlas contra tu modelo en modo conectado, devolviendo conjuntos de resultados directamente en el chat
-- **Generación de C# Scripts**: Crear C# Scripts para modificar el modelo, que se abren en una nueva ventana del editor. Cuando haces clic en **Ejecutar** en el chat, de forma predeterminada se muestra el cuadro de diálogo [Vista previa de cambios](xref:csharp-scripts#running-scripts-with-preview), lo que te permite revisar todos los cambios en los metadatos del modelo antes de aceptarlos. También puedes abrir el script en el editor y ejecutarlo desde la barra de herramientas de scripts, con o sin la vista previa. Los cambios en los metadatos del modelo se pueden deshacer con **Ctrl+Z**
+- **Generación de C# Scripts**: Crear C# Scripts para modificar el modelo, que se abren en una nueva ventana del editor. Al hacer clic en **Ejecutar** en el chat, se muestra de forma predeterminada el cuadro de diálogo [Vista previa de los cambios](xref:csharp-scripts#run-c-scripts-with-preview), que te permite revisar todos los cambios en los metadatos del modelo antes de aceptarlos. También puedes abrir el script en el editor y ejecutarlo desde la barra de herramientas de scripts, con o sin la vista previa. Los cambios en los metadatos del modelo se pueden deshacer con **Ctrl+Z**
- **Best Practice Analyzer**: Ejecutar el análisis de BPA, ver infracciones de las reglas y crear o modificar reglas de BPA
- **Analizador VertiPaq**: Consultar estadísticas de uso de memoria y cardinalidad de columnas
- **Acceso a documentos**: Leer y modificar documentos abiertos, como scripts DAX y Consultas DAX
diff --git a/localizedContent/es/content/features/csharp-scripts.md b/localizedContent/es/content/features/csharp-scripts.md
index 5f5dba34d..8600aed6d 100644
--- a/localizedContent/es/content/features/csharp-scripts.md
+++ b/localizedContent/es/content/features/csharp-scripts.md
@@ -2,7 +2,7 @@
uid: csharp-scripts
title: C# Scripts
author: Daniel Otykier
-updated: 2026-03-19
+updated: 2026-05-27
applies_to:
products:
- product: Tabular Editor 2
@@ -15,6 +15,8 @@ applies_to:
full: true
- edition: Enterprise
full: true
+ - product: CLI de Tabular Editor
+ full: true
---
# C# Scripts
@@ -377,18 +379,27 @@ Info($"Modelo configurado para el entorno {environment}");
## Compatibilidad
-Las API de scripting de Tabular Editor 2 y Tabular Editor 3 son en gran medida compatibles. Sin embargo, en algunos casos conviene compilar el código condicionalmente en función de la versión que estés usando. Para ello, puedes usar directivas de preprocesador, que se introdujeron en Tabular Editor 3.10.0.
+Las API de scripting de Tabular Editor 2, Tabular Editor 3 (Desktop) y la CLI de Tabular Editor son compatibles en su mayor parte, pero hay casos en los que conviene compilar el código de forma condicional según el host en el que se ejecute. El host de la CLI define un símbolo de preprocesador `TECLI`; TE3 Desktop define `TE3` (y símbolos dependientes de la versión, como `TE3_3_15_OR_GREATER`, para la versión secundaria activa); TE2 no define ninguno de los dos. Las directivas de preprocesador se introdujeron en Tabular Editor 3.10.0. Úsalas para escribir scripts portátiles:
```csharp
-#if TE3
- // This code will only be compiled when the script is running in TE3 (version 3.10.0 or newer).
- Info("Hello from TE3!");
+#if TECLI
+ // Host de la CLI: no hay APIs de UI disponibles
+ Info($"Se está ejecutando en la CLI en {Environment.OSVersion.Platform}");
+#elif TE3
+ // TE3 Desktop: hay APIs de UI disponibles
+ ShowMessage("Hola desde TE3");
#else
- // This code will be compiled in all other cases.
- Info("Hello from TE2!");
+ // TE2 (heredado): no se define ni TECLI ni TE3
+ Info("Hola desde TE2");
+#endif
+
+#if TE3_3_15_OR_GREATER
+ // Condicionado a una versión secundaria específica de TE3
#endif
```
+Una salvedad específica de la CLI: los ayudantes de UI de TE3 Desktop `SelectMeasure()`, `SelectTable()`, `SelectColumn()`, `SelectObject()` y `SelectObjects()` lanzan `NotSupportedException` al ejecutar `te script`, ya que la CLI no tiene una interfaz de usuario para mostrar. Envuelve esas llamadas en `#if TE3` (o en `try/catch`) cuando compartas scripts entre distintos hosts.
+
Si necesitas conocer la versión exacta de Tabular Editor en tiempo de ejecución del script, puedes inspeccionar la versión del ensamblado:
```csharp
diff --git a/localizedContent/es/content/features/pivot-grid.md b/localizedContent/es/content/features/pivot-grid.md
index 3cc55bf21..689ee27e9 100644
--- a/localizedContent/es/content/features/pivot-grid.md
+++ b/localizedContent/es/content/features/pivot-grid.md
@@ -2,7 +2,7 @@
uid: pivot-grid
title: Pivot Grids
author: Daniel Otykier
-updated: 2024-05-28
+updated: 2026-05-27
applies_to:
products:
- product: Tabular Editor 2
@@ -166,4 +166,6 @@ El Pivot Grid tiene algunas funciones más que conviene conocer:
A continuación se muestra una lista de limitaciones y problemas conocidos de los Pivot Grid en Tabular Editor 3.16.0, que estamos trabajando para resolver en próximas versiones:
- Reglas de formato (como conjuntos de iconos, barras de datos, etc.) no se conservan correctamente al guardar un diseño de Pivot Grid como archivo `.te3pivot`.
-- Si abre un archivo .te3pivot en un modelo distinto de aquel del que se guardó el diseño, los campos que no existan en el modelo actual se eliminarán del diseño. Al pulsar Guardar (Ctrl+S), se guardará el diseño con esos campos ya eliminados. Es posible que cambiemos este comportamiento en una versión futura para que el archivo .te3pivot no se sobrescriba sin una confirmación explícita.
\ No newline at end of file
+- Si abre un archivo .te3pivot en un modelo distinto de aquel del que se guardó el diseño, los campos que no existan en el modelo actual se eliminarán del diseño. Al pulsar Guardar (Ctrl+S), se guardará el diseño con esos campos ya eliminados. Es posible que cambiemos este comportamiento en una versión futura para que el archivo .te3pivot no se sobrescriba sin una confirmación explícita.
+- Las columnas que usan la propiedad **Agrupar por columnas** (incluidas las columnas de parámetros de campo) no se pueden agregar por sí solas al Área de filas ni al Área de columnas. Al hacerlo, se produce el error _"La columna X forma parte de una clave compuesta, pero no se incluyen todas las columnas de la clave compuesta en la expresión o en su expresión dependiente"_. Esta es una limitación general de los clientes MDX y también sucede al usar una columna de este tipo en una tabla dinámica de Excel. Para evitarlo, agrega la columna de agrupación relacionada al Pivot Grid _antes_ de agregar la columna dependiente. Por ejemplo, si `[ProductKey]` está configurada como la columna de agrupación de `[ProductName]`, agrega primero `[ProductKey]` al Área de filas o al Área de columnas y, después, agrega `[ProductName]`.
+- Aplicar una ordenación ascendente o descendente explícita a una columna del Área de filas o del Área de columnas ordena los valores alfabéticamente como cadenas, independientemente del tipo de datos de la columna. Las fechas con formato de fecha larga (por ejemplo, "4 de mayo de 2024") y los enteros se ordenan de forma lexicográfica, no cronológica ni numérica. Esta es una limitación de la forma en que ordenan los clientes MDX, y el mismo comportamiento se produce en una tabla dinámica de Excel conectada al modelo. Para obtener una ordenación cronológica o numérica, usa la ordenación natural de la columna (no apliques una ordenación explícita) o usa la propiedad **Ordenar por columna** en la columna del modelo para que apunte a una columna con un valor subyacente ordenable.
\ No newline at end of file
diff --git a/localizedContent/es/content/features/te-cli/te-cli-auth.md b/localizedContent/es/content/features/te-cli/te-cli-auth.md
index 97cfd9cd3..c38262d72 100644
--- a/localizedContent/es/content/features/te-cli/te-cli-auth.md
+++ b/localizedContent/es/content/features/te-cli/te-cli-auth.md
@@ -131,7 +131,7 @@ te connect Finance "Revenue Model" -w ./revenue-model
te connect ./revenue-model -w Finance "Revenue Model"
```
-El orden de guardado siempre es **primero local y después remoto**, para que la copia en disco refleje el cambio más reciente incluso si falla el envío al servidor. Consulta @te-cli-commands#workspace-mode-w--workspace para `--workspace-format`, la semántica de sobrescritura y cómo vaciar el mirror del Workspace.
+El orden de guardado siempre es **primero local y después remoto**, para que la copia en disco refleje el cambio más reciente incluso si falla el envío al servidor. Consulta @te-cli-commands#workspace-mode--w----workspace para obtener información sobre `--workspace-format`, la semántica de sobrescritura y cómo vaciar el espejo del workspace.
## Conexión a distintas nubes
diff --git a/localizedContent/es/content/features/te-cli/te-cli-commands.md b/localizedContent/es/content/features/te-cli/te-cli-commands.md
index 4a92314e5..eb61e9ef6 100644
--- a/localizedContent/es/content/features/te-cli/te-cli-commands.md
+++ b/localizedContent/es/content/features/te-cli/te-cli-commands.md
@@ -210,7 +210,7 @@ te set "'Net Sales'[Sales Amount]" -q formatString -i "#,0" --save # DAX form
te set Sales -q isHidden -i true --save
```
-### agregar
+### add
Agrega un objeto al modelo. Especifica un `` para el nuevo objeto (el elemento padre ya debe existir; el segmento final es el nuevo nombre) y el tipo mediante `-t` / `--type`. Las relaciones mantienen su sintaxis abreviada (`Sales[Key]->Dim[Key]`).
@@ -453,7 +453,7 @@ La línea `Rules loaded:` de la salida atribuye cada capa que contribuye, por ej
Rules loaded: 41 from 1 file(s) from bpa.rules config + built-in defaults + model annotations
```
-### reglas de bpa
+### bpa rules
Administra colecciones de reglas de BPA: enumera, inspecciona, inicializa y activa o desactiva reglas en tu archivo local de reglas o en las anotaciones del modelo. Las reglas integradas son de solo lectura; para omitir una sin perder el resto, usa `te bpa rules disable` (no edites directamente el conjunto integrado).
@@ -578,7 +578,7 @@ te format --lang m --save # Format M
## Ejecución
-### consulta
+### query
Ejecuta una consulta DAX contra un modelo implementado.
diff --git a/localizedContent/es/content/features/te-cli/te-cli.md b/localizedContent/es/content/features/te-cli/te-cli.md
index a9e5afa15..b83ab30b9 100644
--- a/localizedContent/es/content/features/te-cli/te-cli.md
+++ b/localizedContent/es/content/features/te-cli/te-cli.md
@@ -46,18 +46,18 @@ La CLI organiza más de 50 comandos en 10 familias. Cada familia se corresponde
Consulta @te-cli-commands para ver una referencia completa de los comandos, con la sintaxis, las opciones y ejemplos de cada uno. Haz clic en cualquier comando de ejemplo de la tabla para ir directamente a su entrada de referencia.
-| Familia | Qué hace | Comandos de ejemplo |
-| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| [E/S del modelo](xref:te-cli-commands#model-io) | Cargar, guardar, convertir e inicializar modelos | [`te load`](xref:te-cli-commands#load), [`te save`](xref:te-cli-commands#save), [`te init`](xref:te-cli-commands#init) |
-| [Edición del modelo](xref:te-cli-commands#model-editing) | Obtener y establecer propiedades; añadir, quitar y mover objetos | [`te set`](xref:te-cli-commands#set), [`te add`](xref:te-cli-commands#add), [`te rm`](xref:te-cli-commands#rm), [`te mv`](xref:te-cli-commands#mv) |
-| [Inspección](xref:te-cli-commands#inspection) | Listar objetos, buscar, comparar y analizar dependencias | [`te ls`](xref:te-cli-commands#ls), [`te find`](xref:te-cli-commands#find), [`te diff`](xref:te-cli-commands#diff), [`te deps`](xref:te-cli-commands#deps) |
-| [Análisis y calidad](xref:te-cli-commands#analysis-and-quality) | Validar, ejecutar BPA, dar formato a DAX y analizar el almacenamiento | [`te validate`](xref:te-cli-commands#validate), [`te bpa run`](xref:te-cli-commands#bpa-run), [`te format`](xref:te-cli-commands#format), [`te vertipaq`](xref:te-cli-commands#vertipaq) |
-| [Ejecución](xref:te-cli-commands#execution) | Ejecutar consultas DAX, C# Scripts y macros | [`te query`](xref:te-cli-commands#query), [`te script`](xref:te-cli-commands#script), [`te macro`](xref:te-cli-commands#macro) |
-| [Implementación y actualización](xref:te-cli-commands#deployment-and-refresh) | Implementar en el Workspace, iniciar una actualización y realizar una actualización incremental | [`te deploy`](xref:te-cli-commands#deploy), [`te refresh`](xref:te-cli-commands#refresh), [`te incremental-refresh`](xref:te-cli-commands#incremental-refresh) |
-| [Pruebas](xref:te-cli-commands#testing) | Pruebas de aserciones, instantáneas, comparación A/B | [`te test run`](xref:te-cli-commands#test-run) |
-| [Conexión y autenticación](xref:te-cli-commands#connection-and-auth) | Conéctate a los Workspace y gestiona la autenticación y los perfiles | [`te connect`](xref:te-cli-commands#connect), [`te auth`](xref:te-cli-commands#auth-login--status--logout), [`te profile`](xref:te-cli-commands#profile-list--show--set--remove) |
-| [Configuración](xref:te-cli-commands#configuration) | Configuración y licencias | [`te config`](xref:te-cli-commands#config-show--paths--init--set) |
-| [Shell](xref:te-cli-commands#shell) | Modo interactivo, autocompletado de la shell | [`te interactive`](xref:te-cli-commands#interactive), [`te completion`](xref:te-cli-commands#completion) |
+| Familia | Qué hace | Comandos de ejemplo |
+| ------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| [E/S del modelo](xref:te-cli-commands#model-io) | Cargar, guardar, convertir e inicializar modelos | [`te load`](xref:te-cli-commands#load), [`te save`](xref:te-cli-commands#save), [`te init`](xref:te-cli-commands#init) |
+| [Edición del modelo](xref:te-cli-commands#model-editing) | Obtener y establecer propiedades; añadir, quitar y mover objetos | [`te set`](xref:te-cli-commands#set), [`te add`](xref:te-cli-commands#add), [`te rm`](xref:te-cli-commands#rm), [`te mv`](xref:te-cli-commands#mv) |
+| [Inspección](xref:te-cli-commands#inspection) | Listar objetos, buscar, comparar y analizar dependencias | [`te ls`](xref:te-cli-commands#ls), [`te find`](xref:te-cli-commands#find), [`te diff`](xref:te-cli-commands#diff), [`te deps`](xref:te-cli-commands#deps) |
+| [Análisis y calidad](xref:te-cli-commands#analysis-and-quality) | Validar, ejecutar BPA, dar formato a DAX y analizar el almacenamiento | [`te validate`](xref:te-cli-commands#validate), [`te bpa run`](xref:te-cli-commands#bpa-run), [`te format`](xref:te-cli-commands#format), [`te vertipaq`](xref:te-cli-commands#vertipaq) |
+| [Ejecución](xref:te-cli-commands#execution) | Ejecutar consultas DAX, C# Scripts y macros | [`te query`](xref:te-cli-commands#query), [`te script`](xref:te-cli-commands#script), [`te macro`](xref:te-cli-commands#macro) |
+| [Implementación y actualización](xref:te-cli-commands#deployment-and-refresh) | Implementar en el Workspace, iniciar una actualización y realizar una actualización incremental | [`te deploy`](xref:te-cli-commands#deploy), [`te refresh`](xref:te-cli-commands#refresh), [`te incremental-refresh`](xref:te-cli-commands#incremental-refresh) |
+| [Pruebas](xref:te-cli-commands#testing) | Pruebas de aserciones, instantáneas, comparación A/B | [`te test run`](xref:te-cli-commands#test-run) |
+| [Conexión y autenticación](xref:te-cli-commands#connection-and-authentication) | Conéctate a los Workspace y gestiona la autenticación y los perfiles | [`te connect`](xref:te-cli-commands#connect), [`te auth`](xref:te-cli-commands#auth-login--status--logout), [`te profile`](xref:te-cli-commands#profile-list--show--set--remove) |
+| [Configuración](xref:te-cli-commands#configuration) | Configuración y licencias | [`te config`](xref:te-cli-commands#config-show--paths--init--set) |
+| [Shell](xref:te-cli-commands#shell) | Modo interactivo, autocompletado de la shell | [`te interactive`](xref:te-cli-commands#interactive), [`te completion`](xref:te-cli-commands#completion) |
## Primeros pasos
diff --git a/localizedContent/es/content/getting-started/editions.md b/localizedContent/es/content/getting-started/editions.md
index 31d219674..d35cb0e7c 100644
--- a/localizedContent/es/content/getting-started/editions.md
+++ b/localizedContent/es/content/getting-started/editions.md
@@ -2,7 +2,7 @@
uid: editions
title: Comparar ediciones
author: Søren Toft Joensen
-updated: 2025-02-07
+updated: 2026-06-09
applies_to:
products:
- product: Tabular Editor 2
@@ -37,7 +37,7 @@ Consulta la matriz siguiente para ver el resumen completo de escenarios compatib
| Escenario / Edición | Desktop | Business | Enterprise |
| ------------------------------------------------------------------------- | ------------------------------------------------------- | --------------------------------------------------------- | ------------------------------------------------------- |
| Herramienta externa para Power BI Desktop | ✔ | ✔ | ✔ |
-| Cargar/guardar metadatos del modelo en disco\*\* | ❌ | ✔ \* | ✔ |
+| Cargar/guardar los metadatos del modelo en disco\*\* | ❌ | ✔ \* | ✔ |
| Modo del área de trabajo\*\*\* | ❌ | ✔ \* | ✔ |
| Power BI Premium por usuario | ❌ | ✔ | ✔ |
| SQL Server Developer Edition - edición para desarrolladores | ❌ | ✔ \* | ✔ |
@@ -88,9 +88,6 @@ Si intentas abrir un modelo que utiliza una o más de las restricciones de model
No hay más diferencias de funcionalidades entre las ediciones de Tabular Editor 3 que las enumeradas arriba.
-> [!NOTE]
-> Tenga en cuenta que Power BI Desktop [actualmente no admite todas las operaciones de modelado de datos](xref:desktop-limitations). Por este motivo, Tabular Editor 3 bloquea, de forma predeterminada, las operaciones que Power BI Desktop no admite. Sin embargo, esta restricción se puede quitar en Herramientas > Preferencias > Power BI.
-
> [!IMPORTANT]
> Tabular Editor solo puede usarse como herramienta externa para Power BI Desktop cuando el archivo de Report de Power BI (.pbix, .pbip o .pbit) contiene un Data model (Importación, DirectQuery o compuesto). **No se admiten los Report que usan Live connection** porque estos Report no incluyen un Data model. [Más información](xref:desktop-limitations).
@@ -139,3 +136,12 @@ Total $ 10.950,00
```
Si necesitas más de 100 puestos, contacta con ventas para solicitar un presupuesto.
+
+## Licencias para la línea de comandos y para CI/CD
+
+Tabular Editor 3 es una aplicación de escritorio. No tiene una interfaz de línea de comandos propia. Para implementaciones automatizadas y canalizaciones de CI/CD, utiliza `TabularEditor.exe` (la [línea de comandos de Tabular Editor 2](xref:command-line-options)) o la [Tabular Editor CLI](xref:te-cli) multiplataforma (`te`). Ambos son independientes de la aplicación de escritorio Tabular Editor 3.
+
+> **¿Necesito una licencia para ejecutar canalizaciones de CI/CD?**
+> No. `TabularEditor.exe` (TE2 CLI) y Tabular Editor CLI (`te`, durante la vista previa) no requieren una licencia de Tabular Editor 3. Solo los desarrolladores que usan la aplicación de escritorio Tabular Editor 3 necesitan una licencia.
+
+En la disponibilidad general, Tabular Editor CLI requerirá una licencia; los precios aún se están ultimando y se anunciarán antes de GA.
\ No newline at end of file
diff --git a/localizedContent/es/content/getting-started/general-introduction.md b/localizedContent/es/content/getting-started/general-introduction.md
index c71e50f34..20f33d3b7 100644
--- a/localizedContent/es/content/getting-started/general-introduction.md
+++ b/localizedContent/es/content/getting-started/general-introduction.md
@@ -2,7 +2,7 @@
uid: general-introduction
title: Introducción general y arquitectura
author: Daniel Otykier
-updated: 2021-09-30
+updated: 2026-06-11
applies_to:
products:
- product: Tabular Editor 2
@@ -39,10 +39,10 @@ Tabular Editor puede cargar los metadatos del modelo desde las siguientes fuente
- [3] Archivos .pbit (plantilla de Power BI)
- [4] Una base de datos en SQL Server Analysis Services (Tabular)
- [5] Una base de datos en Azure Analysis Services
-- [6] Un Dataset en un Workspace de Power BI Premium\*
+- [6] Un modelo semántico en un Workspace de Power BI asignado a una capacidad\*
- [7] Un Report de Power BI Desktop en modo Import/DirectQuery
-\*Se requiere una capacidad de Power BI Premium/Embedded o Power BI Premium-Per-User para habilitar el [punto de conexión XMLA](https://docs.microsoft.com/en-us/power-bi/admin/service-premium-connect-tools). El punto de conexión XMLA debe estar habilitado para que cualquier herramienta de terceros pueda conectarse a los Datasets de Power BI.
+\*Las herramientas de terceros se conectan a los modelos semánticos de Power BI a través del [punto de conexión XMLA](https://learn.microsoft.com/en-us/fabric/enterprise/powerbi/service-premium-connect-tools). Requiere una capacidad de Fabric (SKU F), una capacidad de Power BI Embedded (SKU A o EM), una capacidad Premium heredada (SKU P) o una licencia Premium por usuario. La lectura/escritura XMLA está habilitada de forma predeterminada en todos los SKU de capacidad desde junio de 2025; consulta @xmla-as-connectivity si no puedes conectarte.
> [!IMPORTANT]
> Tabular Editor 2.x admite todas las fuentes 1-7 anteriores. Tabular Editor 3 solo admite algunas fuentes, en función de la [edición de Tabular Editor 3](xref:editions) que estés utilizando.
diff --git a/localizedContent/es/content/getting-started/getting-started.md b/localizedContent/es/content/getting-started/getting-started.md
index 28b139d79..855fc5c32 100644
--- a/localizedContent/es/content/getting-started/getting-started.md
+++ b/localizedContent/es/content/getting-started/getting-started.md
@@ -2,7 +2,7 @@
uid: getting-started
title: Instalación y activación
author: Morten Lønskov
-updated: 2026-03-27
+updated: 2026-05-19
applies_to:
products:
- product: Tabular Editor 2
@@ -23,21 +23,25 @@ applies_to:
Descarga la versión más reciente de Tabular Editor 3 desde nuestra [página de descargas](xref:downloads).
-## Requisitos previos
+Recomendamos el instalador MSI de 64 bits para la mayoría de los casos. Una vez descargado, haz doble clic en el archivo MSI y completa las pantallas del instalador.
+
+
+
+### Requisitos previos
Ninguno.
-## Requisitos del sistema
+### Requisitos del sistema
- **Sistema operativo:** Windows 10, Windows 11, Windows Server 2016, Windows Server 2019 o versiones posteriores
-- **Arquitectura:** x64, ARM64 (nativo a partir de 3.23.0)
+- **Arquitectura:** x64, ARM64 (nativo desde la versión 3.23.0)
- **Runtime de .NET:** [.NET Runtime de Escritorio 8.0](https://dotnet.microsoft.com/en-us/download/dotnet/8.0)
Consulta la directiva de sistemas operativos compatibles de .NET para ver qué versiones actuales de Windows admite cada entorno de ejecución.
## Activación de su instalación
-Tabular Editor 3 es software comercial. Visita nuestra [página principal](https://tabulareditor.com) para conocer los precios y las opciones de compra. Si no ha usado Tabular Editor 3 previamente, puede optar a una prueba gratuita de 30 días.
+Tabular Editor 3 es software comercial. Visita nuestra [página principal](https://tabulareditor.com) para conocer los precios y las opciones de compra. Si no has usado antes Tabular Editor 3, puedes acceder a una prueba gratuita de 30 días.
La primera vez que inicie Tabular Editor 3 en un equipo nuevo, se le pedirá que active el producto.
@@ -45,120 +49,90 @@ La primera vez que inicie Tabular Editor 3 en un equipo nuevo, se le pedirá que
### Activación con una clave de licencia existente
-Una vez que compres una licencia de Tabular Editor 3, deberías recibir un correo electrónico con una cadena de 25 caracteres; esa es tu clave de licencia. Cuando se te solicite, introduce la clave de licencia y pulsa "Siguiente >" para activar el producto.
+Cuando compres una licencia de Tabular Editor 3, recibirás un correo electrónico con una cadena de 25 caracteres, que es tu clave de licencia. Cuando se te solicite, escribe la clave de licencia y haz clic en **Siguiente >** para activar el producto.

> [!NOTE]
-> Para los tipos de licencia multiusuario, tendrás que introducir tu dirección de correo electrónico además de la clave de licencia. Tabular Editor 3 te lo solicitará si la clave de licencia que introduces corresponde a una licencia multiusuario.
+> Para los tipos de licencia multiusuario, además de la clave de licencia también debes introducir tu dirección de correo electrónico. Tabular Editor 3 te lo solicitará cuando la clave de licencia corresponda a una licencia multiusuario.
+
+Las instalaciones de Tabular Editor 3 se activan **por usuario**. Si varios usuarios comparten el mismo equipo, cada usuario debe activar el producto en su propio perfil de usuario de Windows.
+
+### Cuenta de Windows vs. cuenta de Power BI / Entra
+
+La cuenta de Windows en la que está instalado Tabular Editor 3 es independiente de la cuenta de Microsoft Entra que se usa para autenticarse en un Workspace de Power BI / Fabric.
+
+- **La activación de la licencia** se almacena en el Registro de Windows, en `HKEY_CURRENT_USER`, del usuario de Windows que activó el producto. La licencia no está vinculada a ninguna identidad en la nube.
+- **La autenticación del Workspace** se realiza al conectarte, en el cuadro de diálogo **Cargar modelo semántico desde la base de datos**. Inicias sesión con la cuenta de Microsoft Entra que tiene permisos en el Workspace.
-Ten en cuenta que las instalaciones de Tabular Editor 3 se activan **por usuario**. En otras palabras, si varios usuarios comparten el mismo equipo, cada uno tendrá que activar el producto en su perfil de usuario de Windows.
+No necesitas iniciar Tabular Editor 3 con **Ejecutar como** desde otra cuenta de Windows solo porque uses una cuenta de Entra distinta (por ejemplo, una cuenta de administrador no habilitada para correo) para administrar el Workspace de Power BI. Inicia Tabular Editor 3 con tu cuenta habitual de Windows, actívalo con tu clave de licencia en esa cuenta y proporciona tus credenciales de administrador de Entra en el cuadro de diálogo de conexión.
+
+Para más información sobre cómo Tabular Editor se autentica en el punto de conexión XMLA y cómo elegir el modo de autenticación adecuado (por ejemplo, **Microsoft Entra MFA** cuando tu inicio de sesión de Windows no coincide con tu cuenta de Power BI), consulta @xmla-as-connectivity.
### Solicitar una licencia de prueba
-Si no ha usado Tabular Editor 3 antes, puede optar a una prueba gratuita de 30 días. Al elegir esta opción, se te solicitará una dirección de correo electrónico. Usamos la dirección de correo electrónico para validar si ya tienes una activación de Tabular Editor 3.
+Si no has usado antes Tabular Editor 3, puedes acceder a una prueba gratuita de 30 días. Al elegir esta opción, se te pedirá una dirección de correo electrónico. Usamos la dirección de correo electrónico para comprobar si ya tienes una activación previa de Tabular Editor 3.
> [!NOTE]
-> Al registrarse para obtener una licencia de prueba de 30 días, Tabular Editor ApS no le enviará correos electrónicos no solicitados ni reenviará su dirección de correo electrónico a terceros. Consulta nuestra @privacy-policy para obtener más información.
+> Tabular Editor ApS no envía correos electrónicos no solicitados ni cede tu dirección de correo electrónico a terceros al registrarte para obtener una licencia de prueba de 30 días. Consulta nuestra @privacy-policy para obtener más información.
### Cambiar una clave de licencia
-Cuando Tabular Editor 3 esté activado, puedes cambiar tu clave de licencia en el menú Ayuda seleccionando "Acerca de Tabular Editor".
+Una vez activado Tabular Editor 3, puedes cambiar la clave de licencia en el menú Ayuda seleccionando **Acerca de Tabular Editor**.

-En el cuadro de diálogo, selecciona "Cambiar clave de licencia". Ten en cuenta que esta opción solo está disponible si no hay ningún modelo cargado en Tabular Editor. Si ya has cargado un modelo, puedes cerrarlo desde Archivo > Cerrar modelo. Cuando hagas clic en "Cambiar clave de licencia", Tabular Editor te preguntará si quieres eliminar la licencia actual:
+En el cuadro de diálogo, selecciona **Cambiar clave de licencia**. Esta opción solo está disponible cuando no hay ningún modelo cargado en Tabular Editor. Si hay un modelo abierto, ciérralo desde **Archivo > Cerrar modelo**. Al hacer clic en **Cambiar clave de licencia**, Tabular Editor te preguntará si quieres quitar la licencia actual:

-Al aceptarlo, se quita la licencia actual y tendrás que volver a introducir una clave de licencia para usar el producto.
+Si aceptas, se quita la licencia actual y tendrás que volver a introducir una clave de licencia para usar el producto.
> [!IMPORTANT]
-> Una vez que se quita una clave de licencia, tal como se describe arriba, el usuario actual no podrá usar el producto en ese equipo hasta que se introduzca una nueva clave de licencia.
-
-
-
-#### Detalles del registro
-
-Tabular Editor 3 usa el Registro de Windows para almacenar los detalles de activación.
-
-Para ver la clave de licencia actual asignada al equipo, ejecuta el siguiente comando en el Símbolo del sistema de Windows (Inicio > Ejecutar > cmd.exe):
+> Una vez eliminada una clave de licencia, el producto no puede ser utilizado por el usuario actual en ese equipo hasta que se introduzca una nueva clave de licencia.
-```cmd
-REG QUERY "HKCU\Software\Kapacity\Tabular Editor 3" /v LicenseKey
-```
+## Configuración posterior a la instalación
-Un administrador del sistema también puede asignar por adelantado licencias de Tabular Editor 3 a un equipo, especificando los valores **LicenseKey** y **User** en la clave de registro `SOFTWARE\\Kapacity\\Tabular Editor 3` de cada usuario.
+Tabular Editor 3 ofrece muchas opciones de configuración. La configuración predeterminada es suficiente para la mayoría de los escenarios de desarrollo, pero revisa las opciones siguientes.
-También puedes usar `regedit.exe` (Editor del Registro de Windows) y navegar a `HKEY_CURRENT_USER\SOFTWARE\Kapacity\Tabular Editor 3` para ver y modificar los valores **LicenseKey** y **User**.
+### Buscar actualizaciones al iniciar
-
+De forma predeterminada, cada vez que se inicia Tabular Editor 3, la herramienta comprueba en línea si hay una versión más reciente disponible. Puedes controlar cómo se realiza esta comprobación de actualizaciones en **Herramientas > Preferencias > Actualizaciones y comentarios**.
-### Cambiar una clave de licencia mediante el Registro
-
-Si por cualquier motivo no puedes cambiar la clave de licencia siguiendo el procedimiento descrito anteriormente, siempre puedes restablecer la licencia asignada a Tabular Editor 3 mediante el Editor del Registro:
-
-1. Cierra todas las instancias de Tabular Editor 3.
-2. Abre el Editor del Registro en Windows (Inicio > Ejecutar > regedit.msc).
-3. Localiza `HKEY_CURRENT_USER\\SOFTWARE\\Kapacity\\Tabular Editor 3` (consulta la captura de pantalla anterior).
-4. Elimina todos los valores dentro de esta clave.
-5. Cierra el Editor del Registro y reinicia Tabular Editor 3.
-
-Como alternativa, ejecuta el siguiente comando en el Símbolo del sistema de Windows (Inicio > Ejecutar > cmd.exe):
-
-```cmd
-REG DELETE "HKCU\Software\Kapacity\Tabular Editor 3" /va
-```
-
-La próxima vez que inicies Tabular Editor 3, se te pedirá una clave de licencia, igual que cuando la herramienta se instaló por primera vez en el equipo.
-
-### Instalación silenciosa y aprovisionamiento previo de licencias
-
-Puedes implementar Tabular Editor de forma silenciosa y aprovisionar previamente la licencia mediante el Registro de Windows.
-
-1. **Instalar de forma silenciosa** (sin interfaz de usuario, sin reinicio):
-
- ```powershell
- msiexec /i TabularEditor..x64.Net8.msi /qn /norestart /l*v C:\Temp\TE3_install.log
- ```
-
- Para incluir la característica **Asistente de IA**, especifique la propiedad `ADDLOCAL`. El Asistente de IA no se instala de forma predeterminada.
+> [!NOTE]
+> Usa siempre la versión más reciente de Tabular Editor 3. Nuestro equipo de soporte asume que estás en la versión más reciente antes de enviar un Report de error.
- ```powershell
- msiexec /i TabularEditor..x64.Net8.msi /qn /norestart ADDLOCAL=MainFeature,AIAssistant /l*v C:\Temp\TE3_install.log
- ```
+### Desactivar la recopilación de telemetría
- | Característica de MSI | Descripción | Instalado de forma predeterminada |
- | --------------------- | ---------------------------------------- | ----------------------------------- |
- | `MainFeature` | Aplicación principal de Tabular Editor 3 | Sí (obligatorio) |
- | `AIAssistant` | Asistente de IA para Tabular Editor 3 | No |
+Tabular Editor 3 recopila datos de uso anónimos y telemetría, lo que nos ayuda a mejorar el producto. Puedes desactivar esta recopilación en cualquier momento: inicia Tabular Editor 3 y ve a **Herramientas > Preferencias > Actualizaciones y comentarios**. Para desactivar esta recopilación, desmarca la casilla **Ayudar a mejorar Tabular Editor recopilando datos de uso anónimos**.
- > [!NOTE]> When using `ADDLOCAL`, you must include `MainFeature` alongside any optional features. Especificar solo `AIAssistant` sin `MainFeature` da como resultado una instalación incompleta.
+
-También puedes usar `/package` en lugar de `/i`. Sustituye `` por la cadena de versión real. Usa el MSI de ARM64 si corresponde.
+### Configuración del proxy
-Para obtener más información sobre las opciones disponibles de la línea de comandos de MSI, consulte la documentación oficial de Microsoft:
-[Opciones de línea de comandos de Microsoft Standard Installer - aplicaciones Win32 | Microsoft Learn](https://learn.microsoft.com/windows/win32/msi/command-line-options)
+Si estás en una red con conectividad a Internet limitada, especifica la dirección, el nombre de usuario y la contraseña de un servidor proxy en **Herramientas > Preferencias > Configuración del proxy**. Esto es necesario para que Tabular Editor 3 pueda usar cualquier funcionalidad que dependa de solicitudes web salientes. En concreto:
-2. **Escribe la licencia en el Registro** **antes de la primera ejecución** de la aplicación:
+- Comprobaciones de actualizaciones
+- Activación del producto
+- Formato de DAX
+- Descarga de reglas de mejores prácticas desde direcciones URL externas
- ```bat
- REM Clave de licencia por usuario (HKCU)
- REG ADD "HKCU\Software\Kapacity\Tabular Editor 3" /v LicenseKey /t REG_SZ /d YOUR-25-CHAR-KEY /f
- ```
+> [!TIP]
+> A veces, la configuración del proxy puede interferir con los cuadros de diálogo de autenticación u otros avisos externos. Prueba a cambiar la configuración del proxy entre **System** y **None** y, a continuación, cierra y vuelve a abrir Tabular Editor 3 para comprobarlo.
- Si utilizas una clave de licencia de **Edición Enterprise**, establece también el correo electrónico del usuario con licencia:
+### Otras preferencias
- ```bat
- REG ADD "HKCU\Software\Kapacity\Tabular Editor 3" /v User /t REG_SZ /d user@example.com /f
- ```
+Tabular Editor 3 incluye muchos otros ajustes para controlar el comportamiento de la aplicación. Para obtener más información, consulta @preferences.
-**Notas**
+## Escenarios avanzados
-- El instalador **no** acepta un parámetro de licencia; la gestión de licencias se realiza mediante las entradas del Registro indicadas arriba.
-- Las claves se almacenan en **HKCU** (por usuario). Asegúrese de que los comandos se ejecuten en el contexto del usuario de destino (por ejemplo, mediante un script de inicio de sesión o similar) para que los valores se escriban en el perfil correcto.
-- Para ver claves y valores adicionales, consulte los [detalles del Registro](#registry-details).
+Para la activación manual (sin conexión a Internet), la administración de licencias basada en el registro, la implementación desatendida y la administración de asientos de Enterprise, consulta @installation-activation-basic.
## Siguientes pasos
- [Información general sobre la interfaz de usuario de Tabular Editor 3](xref:user-interface)
+- @xmla-as-connectivity
+- @migrate-from-vs
+- @migrate-from-desktop
+- @migrate-from-te2
+- @installation-activation-basic
diff --git a/localizedContent/es/content/getting-started/index.md b/localizedContent/es/content/getting-started/index.md
index a5f74f37a..50945afa3 100644
--- a/localizedContent/es/content/getting-started/index.md
+++ b/localizedContent/es/content/getting-started/index.md
@@ -1,7 +1,8 @@
---
uid: onboarding-te3
title: Te damos la bienvenida
-author: Daniel Otykier
+author: Morten Lønskov
+updated: 2026-05-19
---
# Te damos la bienvenida
@@ -12,57 +13,70 @@ author: Daniel Otykier
**¡Gracias por elegir Tabular Editor 3!**
-Para ayudarte a sacarle el máximo partido a la herramienta, hemos reunido todo nuestro material de introducción en esta sección de primeros pasos, que esperamos que disfrutes. Recomendamos a todos los nuevos usuarios de Tabular Editor 3 que lean esta guía y se salten los temas con los que ya estén familiarizados.
+Para ayudarte a sacar el máximo partido a la herramienta, hemos reunido todo nuestro material de incorporación en esta sección de primeros pasos. Recomendamos a todos los nuevos usuarios de Tabular Editor 3 que lean esta guía y se salten los temas que ya conozcan.
> [!NOTE]
> Algunos artículos de esta guía hacen referencia a Tabular Editor 2, en concreto a la interfaz de línea de comandos (CLI), para fines de implementación y pruebas automatizadas. Está previsto publicar más adelante una aplicación CLI independiente para acompañar a Tabular Editor 3.
-Como este material de formación se centra en el producto Tabular Editor, asumimos que ya tienes una comprensión básica del modelado de datos tabulares (ya sea con Power BI Desktop, Visual Studio o Tabular Editor 2.x). Si eres nuevo en el modelado de datos tabulares, te recomendamos encarecidamente que consultes material de formación y cursos ofrecidos por terceros como [sqlbi.com](https://sqlbi.com).
+Este material de formación se centra en el producto Tabular Editor, por lo que asumimos que ya tienes una comprensión básica del modelado de datos tabulares (ya sea con Power BI Desktop, Visual Studio o Tabular Editor 2.x). Si estás empezando en el modelado de datos tabulares, te recomendamos el material de formación y los cursos ofrecidos por terceros, como [sqlbi.com](https://sqlbi.com).
**Temas tratados en esta guía:**
-- @general-introduction
- - @installation-activation-basic
- - @migrate-from-vs
- - @migrate-from-desktop
- - @migrate-from-te2
+**Primeros pasos con Tabular Editor 3**
+- @general-introduction
- @getting-started
- - @editions
- - @training-telearn
+- @installation-activation-basic
+- @migrate-from-vs
+- @migrate-from-desktop
+- @migrate-from-te2
+- @azure-marketplace
+- @editions
+- @training-telearn
+
+**Tabular Editor 2**
- @getting-started-te2
+**Power BI Desktop y Tabular Editor**
+
- @desktop-integration
- - @desktop-limitations
-
-- @user-interface
- - @bpa-view
- - @data-refresh-view
- - @find-replace
- - @macros-view
- - @messages-view
- - @properties-view
- - @tom-explorer-view
- - @diagram-view
+- @desktop-limitations
+
+**Interfaz de usuario**
+
+- @user-interface-reference
+- @bpa-view-reference
+- @data-refresh-view-reference
+- @find-replace-reference
+- @macros-view-reference
+- @messages-view-reference
+- @properties-view-reference
+- @tom-explorer-view-reference
+- @diagram-view-reference
+
+**Desarrollo paralelo**
- @parallel-development
- - @optimizing-workflow-workspace-mode
+- @optimizing-workflow-workspace-mode
+
+**Crea modelos más rápido con Tabular Editor**
- @boosting-productivity-te3
- - @importing-tables-data-modeling
- - @refresh-preview-query
- - @creating-and-testing-dax
- - @dax-script-introduction
- - @bpa
- - @cs-scripts-and-macros
- - @personalizing-te3
+- @importing-tables-data-modeling
+- @refresh-preview-query
+- @creating-and-testing-dax
+- @dax-script-introduction
+- @bpa
+- @cs-scripts-and-macros
+- @personalizing-te3
**Recursos adicionales:**
-- [Documentación de referencia de TE3](xref:getting-started)
+- [Primeros pasos con Tabular Editor 3](xref:getting-started)
+- [Instalación y activación avanzadas](xref:installation-activation-basic)
- [Descargar Tabular Editor](https://tabulareditor.com/download)
- [Tabular Editor Learn](https://tabulareditor.com/learn)
- [Soporte dedicado (solo para clientes de la Edición Enterprise)](mailto:support@tabulareditor.com)
- [Soporte de la comunidad](https://github.com/TabularEditor/TabularEditor3/issues)
-- [Discusiones de la comunidad](https://github.com/TabularEditor/TabularEditor3/discussions)
\ No newline at end of file
+- [Discusiones de la comunidad](https://github.com/TabularEditor/TabularEditor3/discussions)
diff --git a/localizedContent/es/content/getting-started/installation.md b/localizedContent/es/content/getting-started/installation.md
index c06c3a45e..fdf26edda 100644
--- a/localizedContent/es/content/getting-started/installation.md
+++ b/localizedContent/es/content/getting-started/installation.md
@@ -1,7 +1,7 @@
---
uid: installation-activation-basic
title: Instalación, activación y configuración básica
-author: Daniel Otykier
+author: Morten Lønskov
updated: 2021-09-30
applies_to:
products:
@@ -17,97 +17,119 @@ applies_to:
full: true
---
-## Instalación
+## Descripción general
-Para instalar Tabular Editor 3, descarga la versión más reciente desde nuestra [página de descargas](xref:downloads).
+Esta página abarca escenarios avanzados de instalación y activación de Tabular Editor 3: activación manual (sin conexión), administración de licencias mediante el Registro, despliegue desatendido y administración de asientos de la Edición Enterprise.
-Recomendamos descargar el instalador MSI de 64 bits, que es adecuado para la mayoría de los casos. Una vez descargado, haz doble clic en el archivo MSI y sigue los pasos del asistente de instalación.
+Para el flujo de activación estándar, consulta @getting-started.
-
+
-## Activar la instalación
+## Activación manual (sin Internet)
-La primera vez que inicias Tabular Editor 3 en un equipo nuevo, se te pedirá que actives el producto.
+Si no tienes acceso a Internet, por ejemplo, debido a un proxy, Tabular Editor te pedirá que realices una activación manual.
+
+
+
+Después de introducir tu correo electrónico, aparece un cuadro de diálogo con un enlace a una clave de activación. Copia la URL y ábrela en un navegador web conectado a Internet.
+
+La URL devuelve un objeto JSON:
+
+
+
+Copia el objeto JSON completo y pégalo en el cuadro de diálogo. El cuadro de diálogo de activación manual debería quedar como el que se muestra a continuación.
-
+
-### Activación con una clave de licencia existente
+De este modo, se verificará tu licencia de Tabular Editor 3.
-Una vez que compres una licencia de Tabular Editor 3, deberías recibir un correo electrónico con una cadena de 25 caracteres; esa es tu clave de licencia. Cuando se te solicite, introduce la clave de licencia y haz clic en "Siguiente >" para activar el producto.
+## Cambiar asientos en la Edición Enterprise
-
+Para cambiar un asiento de la Edición Enterprise, desasigna al usuario actual de ese asiento desde el [portal de autoservicio de Tabular Editor](https://tabulareditor.com/my-account/). El propietario de la suscripción o el administrador de licencias crea una cuenta, o inicia sesión con una cuenta existente, para administrar los asientos de la licencia.
> [!NOTE]
-> Para los tipos de licencia para varios usuarios, tendrás que introducir tu dirección de correo electrónico además de la clave de licencia. Tabular Editor 3 te lo solicitará si la clave de licencia que introduces corresponde a una licencia multiusuario.
+> Solo se puede cambiar de usuario en la Edición Enterprise.
-
+
-#### Activación manual (sin Internet)
+## Detalles del Registro
-Si no tienes acceso a Internet, por ejemplo, debido a un proxy, Tabular Editor te pedirá que realices una activación manual.
+Tabular Editor 3 usa el Registro de Windows para almacenar los detalles de activación.
-
+Para ver la clave de licencia actual asignada al equipo, ejecuta el siguiente comando en el Símbolo del sistema de Windows (Inicio > Ejecutar > cmd.exe):
-Después de introducir tu correo electrónico, aparece un cuadro de diálogo con un enlace a una clave de activación.
-Copia la URL y ábrela en un navegador web conectado a Internet.
+```cmd
+REG QUERY "HKCU\Software\Kapacity\Tabular Editor 3" /v LicenseKey
+```
-La URL devuelve un objeto JSON:
+También puedes usar `regedit.exe` (Editor del Registro de Windows) y navegar hasta `HKEY_CURRENT_USER\SOFTWARE\Kapacity\Tabular Editor 3` para ver y modificar los valores **LicenseKey** y **User**.
-
+
-Copia el objeto JSON completo y pégalo en el cuadro de diálogo.
-El cuadro de diálogo de activación manual debería quedar como el que se muestra a continuación.
+Un administrador del sistema también puede asignar de forma proactiva licencias de Tabular Editor 3 a un equipo especificando los valores **LicenseKey** y **User** en la clave del Registro `SOFTWARE\Kapacity\Tabular Editor 3` de cada usuario. Consulta [Instalación desatendida y preaprovisionamiento de licencias](#silent-installation-and-license-pre-provisioning) para ver el procedimiento de despliegue completo.
-
+## Cambiar una clave de licencia
-De este modo, se verificará tu licencia de Tabular Editor 3.
+En el cuadro de diálogo, selecciona "Cambiar clave de licencia". Ten en cuenta que esta opción solo está disponible si no hay ningún modelo cargado en Tabular Editor.
-### Cambiar una clave de licencia
+1. Cierra todas las instancias de Tabular Editor 3.
+2. Abre el Editor del Registro en Windows (Inicio > Ejecutar > regedit.msc).
+3. Localiza `HKEY_CURRENT_USER\SOFTWARE\Kapacity\Tabular Editor 3` (consulta la captura de pantalla anterior).
+4. Elimina todos los valores de esta clave.
+5. Cierra el Editor del Registro y reinicia Tabular Editor 3.
-Cuando Tabular Editor 3 está activado, puedes cambiar la clave de licencia en el menú Ayuda seleccionando "Acerca de Tabular Editor".
+Como alternativa, ejecuta el siguiente comando en el Símbolo del sistema de Windows (Inicio > Ejecutar > cmd.exe):
-
+```cmd
+REG DELETE "HKCU\Software\Kapacity\Tabular Editor 3" /va
+```
-En el cuadro de diálogo, selecciona "Cambiar clave de licencia". Ten en cuenta que esta opción solo está disponible si no hay ningún modelo cargado en Tabular Editor. Si ya has cargado un modelo, puedes cerrarlo en Archivo > Cerrar modelo.
+La primera vez que inicias Tabular Editor 3 en un equipo nuevo, se te pedirá que actives el producto.
-Para obtener más detalles sobre la administración de las claves de licencia, consulta [Detalles del registro](xref:getting-started#registry-details).
+## Instalación desatendida y preaprovisionamiento de licencias
-## Configuración básica
+Puedes desplegar Tabular Editor de forma desatendida y preaprovisionar la licencia a través del Registro de Windows.
-Después de activar Tabular Editor 3, te recomendamos dedicar unos minutos a familiarizarte con la [interfaz básica](xref:user-interface). Además, Tabular Editor 3 ofrece muchas opciones de configuración. La configuración predeterminada es suficiente para la mayoría de los escenarios de desarrollo, pero hay algunas opciones de configuración importantes que deberías revisar siempre.
+1. **Instalar en modo silencioso** (sin interfaz de usuario, sin reinicio):
-### Buscar actualizaciones al iniciar
+ ```powershell
+ msiexec /i TabularEditor..x64.Net8.msi /qn /norestart /l*v C:\Temp\TE3_install.log
+ ```
-De forma predeterminada, cada vez que inicias Tabular Editor 3, la herramienta comprueba en línea si hay una versión más reciente disponible. Puedes controlar cómo se realiza esta comprobación de actualizaciones en **Herramientas > Preferencias > Actualizaciones y comentarios**.
+ Para incluir la funcionalidad **AI Assistant**, especifica la propiedad `ADDLOCAL`. AI Assistant no se instala de forma predeterminada.
-> [!NOTE]
-> Recomendamos usar siempre la versión más reciente de Tabular Editor 3. Por lo general, nuestro equipo de soporte asumirá que siempre estás usando la versión más reciente antes de enviar un Report de errores.
+ ```powershell
+ msiexec /i TabularEditor..x64.Net8.msi /qn /norestart ADDLOCAL=MainFeature,AIAssistant /l*v C:\Temp\TE3_install.log
+ ```
-### No participar en la recopilación de telemetría
+ | Característica de MSI | Descripción | Activar la instalación |
+ | --------------------- | ---------------------------------------- | ----------------------------------- |
+ | `MainFeature` | Aplicación principal de Tabular Editor 3 | Sí (obligatorio) |
+ | `AIAssistant` | AI Assistant para Tabular Editor 3 | No |
-Tabular Editor 3 recopila datos de uso anónimos y telemetría, lo que nos ayuda a mejorar el producto. Puedes optar por no participar en cualquier momento: abre Tabular Editor 3 y ve a **Herramientas > Preferencias > Actualizaciones y comentarios**. Desmarca la casilla **Ayuda a mejorar Tabular Editor recopilando datos de uso anónimos** para no participar.
+ > [!NOTE]> Al usar `ADDLOCAL`, incluye `MainFeature` junto con cualquier característica opcional. Si especificas solo `AIAssistant` sin `MainFeature`, la instalación quedará incompleta.
-
+También puedes usar `/package` en lugar de `/i`. Reemplaza `` por la cadena de versión real. Usa el MSI de ARM64 si corresponde.
-### Configuración del proxy
+Para obtener información detallada sobre las opciones de línea de comandos de MSI disponibles, consulta la documentación oficial de Microsoft:
+[Opciones de la línea de comandos de Microsoft Standard Installer - aplicaciones Win32 | Microsoft Learn](https://learn.microsoft.com/windows/win32/msi/command-line-options)
-Si estás en una red con conectividad a Internet limitada, puedes especificar la dirección, el nombre de usuario y la contraseña de un servidor proxy en **Herramientas > Preferencias > Configuración del proxy**. Esto es necesario antes de que Tabular Editor 3 pueda usar cualquier función que dependa de solicitudes web salientes. En concreto, son:
+2. **Escribe la licencia en el Registro** **antes de abrir la aplicación por primera vez**:
-- Comprobación de actualizaciones
-- Activación del producto
-- Formato de DAX
-- Descarga de reglas de prácticas recomendadas desde URL externas
+ ```bat
+ REM Clave de licencia por usuario (HKCU)
+ REG ADD "HKCU\Software\Kapacity\Tabular Editor 3" /v LicenseKey /t REG_SZ /d YOUR-25-CHAR-KEY /f
+ ```
-> [!TIP]
-> En ocasiones, la configuración del proxy puede interferir con los cuadros de diálogo de autenticación u otras indicaciones externas.
-> Intenta cambiar la configuración del proxy entre "Sistema" y "Ninguno"; cierra y vuelve a abrir Tabular Editor 3 para comprobarlo.
+ Si usas una clave de licencia de la **Edición Enterprise**, configura también el correo electrónico del usuario licenciado:
-### Otras preferencias
+ ```bat
+ REG ADD "HKCU\Software\Kapacity\Tabular Editor 3" /v User /t REG_SZ /d user@example.com /f
+ ```
-Además de la configuración mencionada anteriormente, Tabular Editor 3 incluye muchas otras opciones para controlar distintos comportamientos de la aplicación, lo que te permite ajustar la herramienta a tus necesidades. Para obtener más información sobre estas otras preferencias, consulta @preferences.
+**Notas**
-## Siguientes pasos
+- El instalador no acepta un parámetro de licencia; la licencia se gestiona mediante las entradas del Registro anteriores.
+- Las claves se almacenan en **HKCU** (por usuario). Asegúrate de ejecutar los comandos en el contexto del usuario de destino (por ejemplo, mediante un script de inicio de sesión) para que los valores se escriban en el perfil correcto.
+- Para obtener más claves y valores, consulta [Detalles del registro](#registry-details).
-- @migrate-from-vs
-- @migrate-from-desktop
-- @migrate-from-te2
\ No newline at end of file
diff --git a/localizedContent/es/content/getting-started/migrate-from-te2.md b/localizedContent/es/content/getting-started/migrate-from-te2.md
index f4b2b4143..ce5cd2f8d 100644
--- a/localizedContent/es/content/getting-started/migrate-from-te2.md
+++ b/localizedContent/es/content/getting-started/migrate-from-te2.md
@@ -2,7 +2,7 @@
uid: migrate-from-te2
title: Migración desde Tabular Editor 2.x
author: Daniel Otykier
-updated: 2021-09-30
+updated: 2026-06-10
applies_to:
products:
- product: Tabular Editor 2
@@ -29,37 +29,7 @@ Tabular Editor 3 tiene un código de producto diferente al de Tabular Editor 2.x
En cuanto a funcionalidades, Tabular Editor 3 es, en esencia, un superconjunto de Tabular Editor 2.x, con pocas excepciones. La tabla siguiente compara las principales funcionalidades de ambas herramientas:
-| | Tabular Editor 2.x | Tabular Editor 3 |
-| --------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------- | --------------------------------------------------------- |
-| Editar todos los objetos y propiedades de TOM | ✔ | ✔ |
-| Edición y cambio de nombre por lotes | ✔ | ✔ |
-| Compatibilidad con copiar/pegar y arrastrar/soltar | ✔ | ✔ |
-| Deshacer/rehacer operaciones de modelado del Data model | ✔ | ✔ |
-| Cargar/guardar metadatos del modelo en disco | ✔ | ✔ \* |
-| Guardar en carpeta | ✔ | ✔ \* |
-| Integración con [daxformatter.com](https://daxformatter.com) | ✔ | ✔ |
-| Modelado de datos avanzado en Data model (OLS, perspectivas, grupos de cálculo, traducciones de metadatos, etc.) | ✔ | ✔ \* |
-| Resaltado de sintaxis y corrección automática de fórmulas | ✔ | ✔ |
-| Ver las dependencias de DAX entre objetos | ✔ | ✔ |
-| Asistente para importar tablas | ✔ | ✔ |
-| Asistente de implementación | ✔ | ✔ \* |
-| Best Practice Analyzer | ✔ | ✔ |
-| Secuencias de comandos y automatización con C# Script | ✔ | ✔ |
-| Usar como herramienta externa para Power BI Desktop | ✔ | ✔ |
-| Conectar a SSAS/Azure AS/Power BI Premium | ✔ | ✔ \* |
-| Interfaz de línea de comandos | ✔ | _[Próximamente](xref:roadmap)_ |
-| Interfaz de usuario prémium y personalizable, con compatibilidad con alta densidad de píxeles, varios monitores y temas | | ✔ |
-| Editor DAX de clase mundial con funciones similares a IntelliSenseTM | | ✔ |
-| Comprobación sin conexión de la sintaxis de DAX e inferencia de columnas y tipos de datos | | ✔ |
-| Asistente mejorado para importar tablas y comprobación de actualización del esquema de la tabla, con compatibilidad con Power Query | | ✔ |
-| Consultas DAX, vista previa de tabla y Pivot Grids | | ✔ |
-| Crear diagramas para visualizar y editar las relaciones entre tablas | | ✔ |
-| Ejecutar operaciones de actualización de datos en segundo plano | | ✔ \* |
-| Grabador de macros en C# | | ✔ |
-| Editar varias expresiones DAX en un único documento mediante Scripts DAX | | ✔ |
-| Integración con [Analizador VertiPaq](https://www.sqlbi.com/tools/vertipaq-analyzer/) | | ✔ |
-
-\***Nota:** Se aplican limitaciones según la [edición](xref:editions) de Tabular Editor 3 que estés usando.
+[!include[feature-comparison](../includes/feature-comparison.partial.md)]
## Diferencias de características
@@ -71,7 +41,7 @@ Lo primero que notarás al iniciar Tabular Editor 3 es la nueva interfaz, simila
En general, los elementos de la interfaz que existen en Tabular Editor 2.x tienen el mismo nombre en Tabular Editor 3, así que debería ser relativamente fácil orientarte en la nueva interfaz. A continuación se enumeran algunas diferencias importantes:
-- La pestaña **Scripting avanzado** de Tabular Editor 2.x ha desaparecido. En Tabular Editor 3, en cambio, creas **C# Scripts** desde el menú **Archivo > Nuevo**. No estás limitado a trabajar en un único script cada vez. Además, las **Acciones personalizadas** han pasado a llamarse **macros**.
+- La pestaña **Scripting avanzado** de Tabular Editor 2.x ha desaparecido. En Tabular Editor 3, en su lugar, se crean **C# Scripts** desde el menú **Archivo > Nuevo**. No estás limitado a trabajar en un único script cada vez. Además, las **Acciones personalizadas** han pasado a llamarse **macros**.
- El **filtrado con Dynamic LINQ** no está disponible actualmente en el Explorador TOM. En su lugar, si quieres buscar objetos usando [Dynamic LINQ](https://dynamic-linq.net/expression-language), tienes que abrir el cuadro de diálogo **Buscar y reemplazar** pulsando CTRL+F.
- Si cierras el **Editor de expresiones**, puedes volver a abrirlo haciendo doble clic en el icono de un objeto en el **Explorador TOM**, o eligiendo la opción de menú **Ver > Editor de expresiones**.
- Al usar el diseño predeterminado en Tabular Editor 3, el **Best Practice Analyzer** estará en una pestaña junto al **Explorador TOM**. Aquí también encontrarás la nueva vista **Actualización de datos** (que te permite ver la cola de operaciones de actualización en segundo plano) y la vista **macros** (que te permite gestionar las macros guardadas previamente a partir de C# Scripts).
@@ -149,8 +119,26 @@ Al trabajar en modo **conectado** o **Workspace**, Script DAX es una herramienta
Para obtener más información, consulta @dax-script-introduction.
+## Principales novedades desde 2021
+
+Tabular Editor 3 ha incorporado muchas funcionalidades desde que se escribió este artículo por primera vez. La tabla comparativa de funciones anterior es el catálogo de referencia. Los aspectos más relevantes para los desarrolladores que vienen de Tabular Editor 2.x son:
+
+- [funciones DAX definidas por el usuario (UDFs)](xref:udfs) con asistencia de autoría, acciones de código y espacios de nombres
+- [Editor de calendario](xref:calendars) para crear tablas de fechas con inteligencia temporal avanzada
+- [Administrador de paquetes DAX](xref:dax-package-manager) para instalar y compartir código DAX reutilizable
+- [Acciones de código](xref:code-actions) para correcciones rápidas y refactorización en el editor de DAX
+- [Depurador de DAX](xref:dax-debugger) para recorrer paso a paso la evaluación de expresiones
+- [Integración con el Optimizador de DAX](xref:dax-optimizer-integration) junto con el Analizador VertiPaq
+- [grupos de tablas](xref:table-groups) para organizar modelos grandes
+- [Asistente de IA](xref:ai-assistant) para obtener ayuda con DAX y modelado
+- Serialización de [TMDL](xref:tmdl), [Guardar en carpeta](xref:save-to-folder) y [Guardar con archivos auxiliares](xref:save-with-supporting-files) para la integración con Git de Fabric
+- [CLI de Tabular Editor](xref:te-cli) multiplataforma (`te`, en versión preliminar pública limitada) para la automatización y CI/CD
+- [Semantic Bridge](xref:semantic-bridge) para Databricks Metric Views (Edición Enterprise)
+- [Localización](xref:references-application-language) de la interfaz de la aplicación
+
## Siguientes pasos
- @migrate-from-vs
+- @te-cli-migrate
- @parallel-development
- @boosting-productivity-te3
diff --git a/localizedContent/es/content/getting-started/migrate-from-vs.md b/localizedContent/es/content/getting-started/migrate-from-vs.md
index 1aa8c91cd..e54154971 100644
--- a/localizedContent/es/content/getting-started/migrate-from-vs.md
+++ b/localizedContent/es/content/getting-started/migrate-from-vs.md
@@ -2,7 +2,7 @@
uid: migrate-from-vs
title: Migración desde Visual Studio
author: Daniel Otykier
-updated: 2021-09-30
+updated: 2026-06-10
applies_to:
products:
- product: Tabular Editor 2
@@ -28,14 +28,20 @@ Este artículo da por hecho que estás familiarizado con el desarrollo de modelo
Tabular Editor 3 incluye funciones que te permiten prescindir por completo de Visual Studio para el desarrollo de modelos tabulares. Esto contrasta con Tabular Editor 2.x, donde algunos usuarios seguían prefiriendo usar Visual Studio para tareas como importar tablas, visualizar relaciones y previsualizar datos.
-Sin embargo, a medida que te familiarices con Tabular Editor 3, puede que te siga resultando útil abrir tus modelos tabulares en Visual Studio de vez en cuando. Esto es posible en cualquier momento, ya que Tabular Editor 3 no modifica el formato del archivo **Model.bim** (también conocido como [TOM JSON](https://docs.microsoft.com/en-us/analysis-services/tom/introduction-to-the-tabular-object-model-tom-in-analysis-services-amo?view=asallproducts-allversions)) que usa Visual Studio, lo que garantiza la compatibilidad con Visual Studio.
+Sin embargo, a medida que te familiarices con Tabular Editor 3, puede que te siga resultando útil abrir tus modelos tabulares en Visual Studio de vez en cuando. Esto es posible en cualquier momento, ya que Tabular Editor 3 no modifica el formato del archivo **Model.bim** (también conocido como el [TOM JSON](https://learn.microsoft.com/en-us/analysis-services/tom/introduction-to-the-tabular-object-model-tom-in-analysis-services-amo?view=asallproducts-allversions)) que utiliza Visual Studio, garantizando así la compatibilidad con Visual Studio.
-La única excepción se da si decides usar la función [Guardar en carpeta](xref:parallel-development#what-is-save-to-folder) de Tabular Editor, ya que este formato de archivo no es compatible con Visual Studio. Sin embargo, puedes volver a crear fácilmente un archivo Model.bim para usarlo con Visual Studio, usando la opción **Archivo > Guardar como...** en Tabular Editor. También puedes hacer la conversión inversa cargando un archivo Model.bim en Tabular Editor y luego usando la opción **Archivo > Guardar en carpeta...**.
+La única excepción es si decides usar la función [Guardar en carpeta](xref:save-to-folder) de Tabular Editor, ya que este formato de archivo no es compatible con Visual Studio. Sin embargo, puedes volver a crear fácilmente un archivo Model.bim para usarlo con Visual Studio, usando la opción **Archivo > Guardar como...** en Tabular Editor. También puedes hacer la conversión inversa cargando un archivo Model.bim en Tabular Editor y luego usando la opción **Archivo > Guardar en carpeta...**.
+
+> [!TIP]
+> Si prefieres un formato basado en texto y adecuado para el control de versiones, usa [Tabular Model Definition Language (TMDL)](xref:tmdl) en lugar de Model.bim. Tabular Editor 3 admite TMDL tanto en **Archivo > Guardar en carpeta...** como en **Archivo > Guardar como...**, y las versiones recientes de la extensión Analysis Services Projects para Visual Studio también admiten TMDL. Esto te permite mover modelos entre las dos herramientas sin volver a convertirlos a un único archivo Model.bim.
### Automatización de la conversión de formatos de archivo
Si a menudo necesitas convertir de un lado a otro entre el formato basado en carpetas (Database.json) de Tabular Editor y el formato de archivo (model.bim) de Visual Studio, considera escribir un pequeño script de comandos de Windows usando la [CLI de Tabular Editor 2.x](xref:command-line-options) para automatizar el proceso de conversión.
+> [!TIP]
+> La [CLI de Tabular Editor](xref:te-cli) multiplataforma (`te`, en vista previa pública limitada) también puede convertir entre formatos, incluidos [TMDL](xref:tmdl), y funciona en Windows, macOS y Linux.
+
# [De Model.bim a carpeta](#tab/frombim)
Para convertir de model.bim a Database.json (formato basado en carpetas):
@@ -55,7 +61,7 @@ tabulareditor.exe Database.json -B model.bim
***
> [!NOTE]
-> El script de línea de comandos anterior asume que tienes instalado [Tabular Editor 2.x](xref:getting-started-te2). La ubicación de instalación de Tabular Editor 2.x también debe especificarse en tu [variable de entorno PATH](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/path).
+> El script de línea de comandos anterior asume que tienes instalado [Tabular Editor 2.x](xref:getting-started-te2). La ubicación de instalación de Tabular Editor 2.x también debe especificarse en tu [variable de entorno PATH](https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/path).
## Servidor de Workspace Integrada
@@ -76,16 +82,12 @@ Si habilitas la opción **Usar base de datos del Workspace**, Tabular Editor te
### Requisitos del nivel de compatibilidad
-Tabular Editor te permite elegir los siguientes niveles de compatibilidad para crear bases de datos de Analysis Services:
-
-- 1200 (Azure Analysis Services / SQL Server 2016+)
-- 1400 (Azure Analysis Services / SQL Server 2017+)
-- 1500 (Azure Analysis Services / SQL Server 2019+)
+Tabular Editor te permite crear y editar modelos con nivel de compatibilidad 1200 o superior, incluidos Analysis Services, Azure Analysis Services y los datasets de Power BI implementados a través del [punto de conexión XMLA](xref:powerbi-xmla). El conjunto de niveles disponibles depende de tu destino de implementación, y los niveles más recientes desbloquean características como calendarios personalizados y funciones definidas por el usuario en DAX.
-Además, Tabular Editor permite elegir niveles de compatibilidad adecuados para los Datasets de Power BI que se publicarán en el servicio de Power BI a través del [punto de conexión XMLA](xref:powerbi-xmla).
+Para consultar la lista completa de niveles y orientación sobre cómo elegirlos y cambiarlos, consulta @update-compatibility-level.
> [!NOTE]
-> Tabular Editor no admite niveles de compatibilidad inferiores a 1200, ya que estos no usan el formato de metadatos [Tabular Object Model (TOM)](https://docs.microsoft.com/en-us/analysis-services/tom/introduction-to-the-tabular-object-model-tom-in-analysis-services-amo?view=asallproducts-allversions). Si planea migrar el desarrollo de Visual Studio a Tabular Editor para un modelo con nivel de compatibilidad 1100 o 1103, **debe actualizar el nivel de compatibilidad al menos a 1200** antes de migrar a Tabular Editor. Al hacerlo, ya no podrá implementar el modelo en SQL Server 2014 Analysis Services.
+> Tabular Editor no admite niveles de compatibilidad inferiores a 1200, ya que estos no usan el formato de metadatos [Tabular Object Model (TOM)](https://learn.microsoft.com/analysis-services/tom/introduction-to-the-tabular-object-model-tom-in-analysis-services-amo?view=asallproducts-allversions). Si planea migrar el desarrollo de Visual Studio a Tabular Editor para un modelo con nivel de compatibilidad 1100 o 1103, **debe actualizar el nivel de compatibilidad al menos a 1200** antes de migrar a Tabular Editor. Al hacerlo, ya no podrá implementar el modelo en SQL Server 2014 Analysis Services.
## Proyectos de Visual Studio
@@ -105,10 +107,13 @@ Si quiere usar la función [Guardar en carpeta](xref:parallel-development#what-i
## Control de versiones
-Tabular Editor no incluye ninguna solución Integrada de control de versiones para los metadatos del modelo. Sin embargo, como todos los metadatos del modelo se almacenan en el disco como archivos de texto sin formato (JSON), resulta sencillo incluir los metadatos del modelo tabular en cualquier tipo de sistema de control de versiones. Por este motivo, la mayoría de los usuarios de Tabular Editor prefieren seguir teniendo Visual Studio instalado para acceder a [Visual Studio Team Explorer](https://docs.microsoft.com/en-us/azure/devops/user-guide/work-team-explorer?view=azure-devops) o, específicamente para Git, a la nueva [ventana Cambios de Git](https://docs.microsoft.com/en-us/visualstudio/version-control/git-with-visual-studio?view=vs-2019) de Visual Studio 2019.
+Tabular Editor almacena todos los metadatos del modelo como archivos de texto sin formato en disco, por lo que resulta sencillo incluir los metadatos del modelo tabular en cualquier tipo de sistema de control de versiones. Tabular Editor 3 admite varios formatos de serialización basados en texto diseñados para este fin:
-> [!NOTE]
-> A día de hoy, parece que [git](https://git-scm.com/) es el sistema de control de versiones preferido por la mayoría de los desarrolladores. La integración con Git en Tabular Editor 3 está prevista para una actualización futura.
+- [Guardar en carpeta](xref:save-to-folder) divide el modelo en muchos archivos pequeños, lo que minimiza los conflictos de fusión durante el desarrollo en paralelo (consulta más abajo).
+- [TMDL](xref:tmdl) es un formato de serialización conciso y legible, compatible con Tabular Editor y con las versiones recientes de Visual Studio.
+- [Guardar con archivos auxiliares](xref:save-with-supporting-files) genera la estructura de carpetas necesaria para la [integración con Git en Microsoft Fabric](xref:save-with-supporting-files).
+
+Puedes administrar estos archivos directamente con [git](https://git-scm.com/), o seguir usando las herramientas de control de versiones integradas en Visual Studio, como la [ventana Cambios de Git](https://learn.microsoft.com/visualstudio/version-control/git-with-visual-studio).
Una vez que migre a Tabular Editor, ya no necesita conservar el proyecto original del modelo Tabular ni los archivos de apoyo creados por Visual Studio. Aun así, puede usar Visual Studio Team Explorer o la ventana Cambios de Git para ver cambios en el código, administrar ramas del control de versiones, realizar check-ins, fusiones, etc.
@@ -168,7 +173,7 @@ En Tabular Editor, usamos la vista de mensajes para consolidar todos los mensaje
En la captura anterior, fíjate en que hay tres fuentes diferentes que publican mensajes:
-- **Analysis Services**: Cuando se guardan cambios de metadatos en una instancia conectada de Analysis Services, el servidor actualiza los metadatos TOM para indicar si algún objeto está en un estado erróneo. En concreto, se actualizan las propiedades [State](https://docs.microsoft.com/en-us/dotnet/api/microsoft.analysisservices.tabular.measure.state?view=analysisservices-dotnet#Microsoft_AnalysisServices_Tabular_Measure_State) y [ErrorMessage](https://docs.microsoft.com/en-us/dotnet/api/microsoft.analysisservices.tabular.measure.errormessage?view=analysisservices-dotnet#Microsoft_AnalysisServices_Tabular_Measure_ErrorMessage) de la medida. Tabular Editor muestra estos mensajes de error en la vista de mensajes. Estos mensajes no se muestran cuando Tabular Editor se usa sin conexión (es decir, sin conectarse a Analysis Services).
+- **Analysis Services**: Cuando se guardan cambios de metadatos en una instancia conectada de Analysis Services, el servidor actualiza los metadatos TOM para indicar si algún objeto está en un estado erróneo. En concreto, se actualizan las propiedades [State](https://learn.microsoft.com/en-us/dotnet/api/microsoft.analysisservices.tabular.measure.state?view=analysisservices-dotnet#Microsoft_AnalysisServices_Tabular_Measure_State) y [ErrorMessage](https://learn.microsoft.com/en-us/dotnet/api/microsoft.analysisservices.tabular.measure.errormessage?view=analysisservices-dotnet#Microsoft_AnalysisServices_Tabular_Measure_ErrorMessage) de la medida. Tabular Editor muestra estos mensajes de error en la vista de mensajes. Estos mensajes no se muestran cuando Tabular Editor se usa sin conexión (es decir, sin conectarse a Analysis Services).
- **Análisis semántico de Tabular Editor**: Además, Tabular Editor 3 realiza su propio análisis semántico de todas las expresiones DAX del modelo. Cualquier error de sintaxis o de semántica que se encuentre se informa aquí.
- **Editor de expresiones**: Por último, si hay documentos abiertos en Tabular Editor 3, como el Editor de expresiones, cualquier error de sintaxis o de semántica de DAX que se encuentre en el documento se informa aquí.
@@ -214,10 +219,11 @@ Una vez agregadas las tablas al diagrama, puedes crear una relación entre colum
Tabular Editor te permite implementar fácilmente los metadatos del modelo en cualquier instancia de Analysis Services. Puedes abrir el Asistente de implementación de Tabular Editor desde **Modelo > Implementar...** o pulsando CTRL+SHIFT+D.
-Para obtener más información, consulta [Implementación del modelo](../features/deployment.md).
+Para obtener más información, consulta [Implementación del modelo](xref:deployment).
## Pasos siguientes
- @migrate-from-te2
- @parallel-development
+- @save-with-supporting-files
- @boosting-productivity-te3
\ No newline at end of file
diff --git a/localizedContent/es/content/getting-started/parallel-development.md b/localizedContent/es/content/getting-started/parallel-development.md
index c55088e27..7fc4458ef 100644
--- a/localizedContent/es/content/getting-started/parallel-development.md
+++ b/localizedContent/es/content/getting-started/parallel-development.md
@@ -2,7 +2,7 @@
uid: parallel-development
title: Habilitar el desarrollo en paralelo con Git y Guardar en carpeta
author: Daniel Otykier
-updated: 2021-09-30
+updated: 2026-06-11
applies_to:
products:
- product: Tabular Editor 2
@@ -30,7 +30,7 @@ Este artículo describe los principios del desarrollo en paralelo de modelos (es
- El destino de su Data model debe ser uno de los siguientes:
- SQL Server 2016 (o posterior) Analysis Services Tabular
- Azure Analysis Services
- - Fabric/Power BI Premium Capacity/Power BI Premium-per-user con [XMLA de lectura/escritura habilitado](https://docs.microsoft.com/en-us/power-bi/admin/service-premium-connect-tools#enable-xmla-read-write)
+ - un Workspace de Power BI asignado a una capacidad de Fabric, Power BI Embedded, Premium heredada o a una licencia Premium Per User, con la [lectura y escritura de XMLA habilitada](https://learn.microsoft.com/en-us/fabric/enterprise/powerbi/service-premium-connect-tools#enable-xmla-read-write) (la opción predeterminada desde junio de 2025)
- Repositorio Git accesible para todos los miembros del equipo (en las instalaciones o alojado en Azure DevOps, GitHub, etc.)
## TOM como código fuente
@@ -107,7 +107,7 @@ Estas limitaciones son:
Para habilitar el desarrollo en paralelo, debemos poder almacenar los metadatos del modelo en uno de los formatos basados en texto (JSON) mencionados anteriormente (Model.bim o Database.json). No hay forma de "recrear" un archivo .pbix o .pbit a partir del formato basado en texto, así que **una vez que decidamos seguir esta ruta, ya no podremos usar Power BI Desktop para editar el Data model**. En su lugar, tendremos que apoyarnos en herramientas que puedan usar el formato basado en JSON, que es precisamente el propósito de Tabular Editor.
> [!WARNING]
-> Si no tienes acceso a un Workspace de Power BI Premium (ya sea capacidad Premium o Premium-Per-User), no podrás publicar los metadatos del modelo almacenados en los archivos JSON, ya que esta operación requiere acceso al [punto de conexión XMLA](https://docs.microsoft.com/en-us/power-bi/admin/service-premium-connect-tools).
+> Si no tiene acceso a un Workspace de Power BI asignado a una capacidad o a una licencia Premium Per User, no podrá publicar los metadatos del modelo almacenados en los archivos JSON, ya que esta operación requiere acceso al [punto de conexión XMLA](https://learn.microsoft.com/en-us/fabric/enterprise/powerbi/service-premium-connect-tools).
> [!NOTE]
> Power BI Desktop sigue siendo necesario para crear la parte Visual del Report. Es una [buena práctica separar siempre los Report de los modelos](https://docs.microsoft.com/en-us/power-bi/guidance/report-separate-from-model). Si tienes un archivo de Power BI existente que incluye ambos, [esta entrada de blog](https://powerbi.tips/2020/06/split-an-existing-power-bi-file-into-a-model-and-report/) ([vídeo](https://www.youtube.com/watch?v=PlrtBm9YN_Q)) describe cómo dividirlo en un archivo de modelo y un archivo de Report.
diff --git a/localizedContent/es/content/how-tos/xmla-as-connectivity.md b/localizedContent/es/content/how-tos/xmla-as-connectivity.md
index 485818bf6..3f6aba35c 100644
--- a/localizedContent/es/content/how-tos/xmla-as-connectivity.md
+++ b/localizedContent/es/content/how-tos/xmla-as-connectivity.md
@@ -2,7 +2,7 @@
uid: xmla-as-connectivity
title: Conectividad con XMLA / Analysis Services
author: Daniel Otykier
-updated: 2024-05-01
+updated: 2026-06-11
applies_to:
products:
- product: Tabular Editor 2
@@ -70,28 +70,28 @@ La mayoría de las instancias de Analysis Services admiten varios idiomas. Consu
## Configuración de XMLA de Fabric/Power BI
-Hay que activar dos configuraciones de administrador para habilitar el punto de conexión XMLA en Fabric/Power BI.
+La lectura/escritura de XMLA está habilitada de forma predeterminada en todas las capacidades de Fabric y Power BI desde junio de 2025. Si no puedes conectarte a través del punto de conexión XMLA, comprueba que un administrador no haya deshabilitado una de estas dos configuraciones.
-### Habilitar el punto de conexión XMLA del inquilino
+### Configuración del punto de conexión XMLA del inquilino
-En el portal de administración de Fabric/Power BI, se debe habilitar la configuración de integración "Permitir puntos de conexión XMLA y Analizar en Excel con modelos semánticos locales"
+En el portal de administración de Fabric/Power BI, se debe habilitar la configuración de integración "Permitir puntos de conexión XMLA y Analizar en Excel con modelos semánticos locales".
A nivel de inquilino, la configuración puede estar restringida a ciertos usuarios. Si en tu organización esta configuración está restringida, asegúrate de que todos los usuarios necesarios tengan permiso para usar el punto de conexión XMLA a nivel de inquilino.

-### Habilitar lectura y escritura de XMLA en la capacidad
+### Lectura/escritura de XMLA en la capacidad
-Para usar el punto de conexión XMLA, el Workspace que hospeda un modelo semántico debe estar asignado a una capacidad (FSku o Power BI Premium Per User) y la capacidad debe tener XMLA con ["Read Write" habilitado en la configuración de la capacidad.](https://learn.microsoft.com/en-us/power-bi/enterprise/service-premium-connect-tools#enable-xmla-read-write)
+Para usar el punto de conexión XMLA, asigna el Workspace que aloja el modelo semántico a una capacidad de Fabric (SKU F), una capacidad de Power BI Embedded (SKU A o EM), una capacidad Premium heredada (SKU P) o una licencia Premium por usuario (PPU). La capacidad debe tener el punto de conexión XMLA configurado como [**Lectura y escritura** en la configuración de la capacidad](https://learn.microsoft.com/en-us/fabric/enterprise/powerbi/service-premium-connect-tools#enable-xmla-read-write). Es la configuración predeterminada desde junio de 2025.
-
+
-La opción "Read Write" se habilita en el portal de administración, yendo a
+Si la lectura/escritura se ha desactivado, pide al administrador de la capacidad que la vuelva a habilitar en el portal de administración:
-1. Configuración de capacidad
-2. Elegir el tipo de capacidad
-3. Seleccionar la capacidad correspondiente
-4. Ve a Cargas de trabajo de Power BI y desplázate hacia abajo hasta encontrar la configuración del punto de conexión XMLA y elige "Read Write"
+1. Abre **Configuración de capacidad**.
+2. Elige el tipo de capacidad.
+3. Selecciona la capacidad correspondiente.
+4. Ve a **Cargas de trabajo de Power BI** y establece **punto de conexión XMLA** en **Lectura y escritura**.
### Permisos de usuario a nivel de Workspace
@@ -121,7 +121,7 @@ Para garantizar la mejor experiencia al editar modelos usando el punto de conexi
Si un usuario distinto del propietario del modelo semántico necesita editar el modelo a través del punto de conexión XMLA, debe deshabilitarse la configuración de administración de seguridad de Fabric/Power BI denominada "Bloquear la republicación y deshabilitar la actualización del paquete".
-
+
## Tipos de modelo no compatibles
diff --git a/localizedContent/es/content/includes/feature-comparison.partial.md b/localizedContent/es/content/includes/feature-comparison.partial.md
new file mode 100644
index 000000000..b82b9f1c4
--- /dev/null
+++ b/localizedContent/es/content/includes/feature-comparison.partial.md
@@ -0,0 +1,51 @@
+| | TE2 (Gratuito) | TE3 (De pago) | [TE CLI](xref:te-cli) (Vista previa) |
+| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------- | --------------------------------------------------------- | ------------------------------------------------------- |
+| Editar todos los objetos y propiedades de TOM | ✔ | ✔ | ✔ |
+| Edición y cambio de nombre en lote | ✔ | ✔ | ✔ |
+| Compatibilidad con copiar/pegar y arrastrar/soltar | ✔ | ✔ | |
+| Deshacer/rehacer operaciones de modelado del Data model | ✔ | ✔ | |
+| Cargar/guardar los metadatos del modelo en el disco | ✔ | ✔ \* | ✔ |
+| Guardar en una carpeta | ✔ | ✔ \* | ✔ |
+| Formateo de DAX integrado | | ✔ | |
+| Modelado avanzado del Data model (OLS, perspectivas, grupos de cálculo, traducciones de metadatos, etc.) | ✔ | ✔ \* | ✔ |
+| Resaltado de sintaxis y corrección automática de fórmulas | ✔ | ✔ | |
+| Ver dependencias de DAX entre objetos | ✔ | ✔ | ✔ |
+| Asistente para importar tablas | ✔ | ✔ | |
+| Asistente de implementación | ✔ | ✔ \* | ✔ |
+| Best Practice Analyzer | ✔ | ✔ | ✔ |
+| C# Script y automatización | ✔ | ✔ | ✔ |
+| Usar como herramienta externa para Power BI Desktop | ✔ | ✔ | |
+| Conéctate a SSAS, Azure AS o Power BI Premium | ✔ | ✔ \* | ✔ |
+| Interfaz de línea de comandos | ✔ | | ✔ |
+| Interfaz de usuario premium y personalizable, con compatibilidad con pantallas de alta densidad DPI, varios monitores y temas | | ✔ | |
+| Editor de DAX de primer nivel con funciones similares a IntelliSenseTM , autocompletado y mucho más | | ✔ | |
+| Comprobación sin conexión de la sintaxis de DAX e inferencia de tipos de columna y datos | | ✔ | ✔ |
+| Asistente para importar tablas mejorado y comprobación de actualización del esquema de tablas, con compatibilidad con Power Query | | ✔ | |
+| Consultas DAX | | ✔ | ✔ |
+| Vista previa de tabla y Pivot Grid | | ✔ | |
+| Crear diagrama para visualizar y editar relaciones entre tablas | | ✔ | |
+| Ejecutar operaciones de actualización de datos | | ✔ \* | ✔ |
+| Grabador de macros de C# | | ✔ | |
+| Edita varias expresiones DAX en un solo documento mediante [Script DAX](xref:dax-scripts) | | ✔ | |
+| Integración de [Analizador VertiPaq](https://www.sqlbi.com/tools/vertipaq-analyzer/) | | ✔ | ✔ |
+| [Depurador DAX](xref:dax-debugger) | | ✔ | |
+| [Editor de traducción de metadatos](xref:metadata-translation-editor) | | ✔ | |
+| [Editor de perspectiva](xref:perspective-editor) | | ✔ | |
+| [Grupos de tablas](xref:table-groups) | | ✔ | |
+| [Integración con el Optimizador de DAX](xref:dax-optimizer-integration) | | ✔ | |
+| [Acciones de código](xref:code-actions) | | ✔ | |
+| Asistencia, acciones de código y espacios de nombres para las [funciones DAX definidas por el usuario (UDFs)](xref:udfs) | | ✔ | |
+| [Editor de calendario](xref:calendars) para una mejor inteligencia temporal | | ✔ | |
+| [Administrador de paquetes DAX](xref:dax-package-manager) | | ✔ | |
+| [Reglas integradas de Best Practice Analyzer](xref:built-in-bpa-rules) | | ✔ | |
+| [Cuadro de diálogo de actualización avanzada](xref:advanced-refresh) con [perfiles de sobrescritura de actualización](xref:refresh-overrides) (Edición Business/Edición Enterprise) | | ✔ \* | |
+| [Guardar con archivos complementarios para Fabric](xref:save-with-supporting-files) | | ✔ | |
+| Puente semántico para Metric Views de Databricks (Edición Enterprise) | | ✔ \* | |
+| [Soporte de localización](xref:references-application-language) (chino, español, japonés, alemán, francés) | | ✔ | |
+| [Pruebas del modelo semántico](xref:te-cli-commands#testing) (aserciones, instantáneas, comparación A/B) | | | ✔ |
+| Multiplataforma (Windows, macOS, Linux) | | | ✔ |
+| Salida estructurada (JSON, CSV, TMDL, TMSL) para scripting y agentes de IA | | | ✔ |
+| [Integración de CI/CD](xref:te-cli-cicd) con anotaciones de GitHub Actions y Azure DevOps, y resultados de VSTEST | | | ✔ |
+| [Consola interactiva](xref:te-cli-interactive) (REPL) con autocompletado del shell | | | ✔ |
+
+\***Nota:** Se aplican limitaciones en función de la [edición](xref:editions) de Tabular Editor 3 que estés usando.
diff --git a/localizedContent/es/content/index.md b/localizedContent/es/content/index.md
index 00a8ff38c..e5ccd4c1e 100644
--- a/localizedContent/es/content/index.md
+++ b/localizedContent/es/content/index.md
@@ -2,7 +2,7 @@
uid: index
title: Tabular Editor
author: Daniel Otykier
-updated: 2021-09-09
+updated: 2026-06-10
---
# Tabular Editor
@@ -73,51 +73,7 @@ Tabular Editor 2.x es una aplicación liviana que permite modificar rápidamente
En la tabla siguiente se muestran las principales características de ambas herramientas.
-| | TE2 (Gratuito) | TE3 (De pago) |
-| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------- | --------------------------------------------------------- |
-| Editar todos los objetos y propiedades de TOM | ✔ | ✔ |
-| Edición y cambio de nombre en lote | ✔ | ✔ |
-| Compatibilidad con copiar y pegar y arrastrar y soltar | ✔ | ✔ |
-| Deshacer/rehacer operaciones de modelado del Data model | ✔ | ✔ |
-| Cargar/guardar los metadatos del modelo en el disco | ✔ | ✔ \* |
-| Guardar en una carpeta | ✔ | ✔ \* |
-| Integración con [daxformatter.com](https://daxformatter.com) | ✔ | ✔ |
-| Modelado avanzado del Data model (OLS, perspectivas, grupos de cálculo, traducciones de metadatos, etc.) | ✔ | ✔ \* |
-| Resaltado de sintaxis y corrección automática de fórmulas | ✔ | ✔ |
-| Ver dependencias de DAX entre objetos | ✔ | ✔ |
-| Asistente para importar tablas | ✔ | ✔ |
-| Asistente de implementación | ✔ | ✔ \* |
-| Best Practice Analyzer | ✔ | ✔ |
-| C# Script y automatización | ✔ | ✔ |
-| Usar como herramienta externa para Power BI Desktop | ✔ | ✔ |
-| Conéctate a SSAS, Azure AS o Power BI Premium | ✔ | ✔ \* |
-| Interfaz de línea de comandos | ✔ | |
-| Interfaz de usuario premium y personalizable, con compatibilidad con pantallas de alta densidad DPI, varios monitores y temas | | ✔ |
-| Editor de DAX de primer nivel con funciones similares a IntelliSenseTM , formato sin conexión y mucho más | | ✔ |
-| Comprobación sin conexión de la sintaxis de DAX e inferencia de tipos de columna y datos | | ✔ |
-| Asistente para importar tablas mejorado y comprobación de actualización del esquema de tablas, con compatibilidad con Power Query | | ✔ |
-| Consulta DAX, Vista previa de tabla y Pivot Grid | | ✔ |
-| Crear diagrama para visualizar y editar relaciones entre tablas | | ✔ |
-| Ejecuta operaciones de actualización de datos en segundo plano | | ✔ \* |
-| Grabador de macros de C# | | ✔ |
-| Edita varias expresiones DAX en un solo documento mediante [Script DAX](xref:dax-scripts) | | ✔ |
-| Integración de [Analizador VertiPaq](https://www.sqlbi.com/tools/vertipaq-analyzer/) | | ✔ |
-| [Depurador de DAX](xref:dax-debugger) | | ✔ |
-| [Editor de traducción de metadatos](xref:metadata-translation-editor) | | ✔ |
-| [Editor de perspectiva](xref:perspective-editor) | | ✔ |
-| [Grupos de tablas](xref:table-groups) | | ✔ |
-| [Integración con el Optimizador de DAX](xref:dax-optimizer-integration) | | ✔ |
-| [Acciones de código](xref:code-actions) | | ✔ |
-| Asistencia, acciones de código y espacios de nombres para las [funciones DAX definidas por el usuario (UDFs)](xref:udfs) | | ✔ |
-| [Editor de calendario](xref:calendars) para una mejor inteligencia temporal | | ✔ |
-| [Administrador de paquetes DAX](xref:dax-package-manager) | | ✔ |
-| [Reglas integradas de Best Practice Analyzer](xref:built-in-bpa-rules) | | ✔ |
-| [Cuadro de diálogo de actualización avanzada](xref:advanced-refresh) con [perfiles de sobrescritura de actualización](xref:refresh-overrides) (Edición Business/Edición Enterprise) | | ✔ \* |
-| [Guardar con archivos complementarios para Fabric](xref:save-with-supporting-files) | | ✔ |
-| Puente semántico para Metric Views de Databricks (Edición Enterprise) | | ✔ \* |
-| [Soporte de localización](xref:references-application-language) (chino, español, japonés, alemán, francés) | | ✔ |
-
-\***Nota:** Se aplican limitaciones en función de la [edición](xref:editions) de Tabular Editor 3 que estés usando.
+[!include[feature-comparison](includes/feature-comparison.partial.md)]
### Características comunes
diff --git a/localizedContent/es/content/references/release-history.md b/localizedContent/es/content/references/release-history.md
index 24fea2417..b994408c1 100644
--- a/localizedContent/es/content/references/release-history.md
+++ b/localizedContent/es/content/references/release-history.md
@@ -5,6 +5,10 @@ title: Historial completo de versiones
# Historial completo de versiones
+- 2026-04-17 **Tabular Editor 3.26.1** (_[Notas de la versión](release-notes/3_26_1.md)_)
+ - Instalador de .NET 8 (.exe): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.1.Installer.x64.Net8.exe), [ARM64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.1.Installer.ARM64.Net8.exe)
+ - Versión portátil de .NET 8 (.zip): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.1.x64.Net8.zip), [ARM64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.1.ARM64.Net8.zip)
+ - Instalador de .NET 8 (.msi): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.1.x64.Net8.msi), [ARM64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.1.ARM64.Net8.msi)
- 2026-03-25 **Tabular Editor 3.26.0** (_[Release notes](release-notes/3_26_0.md)_)
- Instalador de .NET 8 (.exe): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.0.Installer.x64.Net8.exe), [ARM64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.0.Installer.ARM64.Net8.exe)
- Versión portátil de .NET 8 (.zip): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.0.x64.Net8.zip), [ARM64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.0.ARM64.Net8.zip)
diff --git a/localizedContent/es/content/security/index.md b/localizedContent/es/content/security/index.md
index 60b288807..65481965d 100644
--- a/localizedContent/es/content/security/index.md
+++ b/localizedContent/es/content/security/index.md
@@ -7,7 +7,7 @@ Esta sección contiene información sobre seguridad, privacidad y licencias.
- @security-privacy - Consideraciones de seguridad y privacidad de Tabular Editor 3
- @privacy-policy - Política de privacidad y tratamiento de datos
- @gdpr-delete - Eliminación de datos del usuario
-- @te3-eula - La versión más reciente de nuestros términos de licencia
+- @terms - La versión más reciente de nuestros Términos y Condiciones
- @third-party-notices - Licencias y avisos de componentes de terceros
---
diff --git a/localizedContent/es/content/troubleshooting/licensing-activation.md b/localizedContent/es/content/troubleshooting/licensing-activation.md
index 0c2e496a7..b5a97bff6 100644
--- a/localizedContent/es/content/troubleshooting/licensing-activation.md
+++ b/localizedContent/es/content/troubleshooting/licensing-activation.md
@@ -1,7 +1,8 @@
---
uid: licensing-activation
title: Instalar y activar Tabular Editor 3
-author: Daniel Otykier
+author: Morten Lønskov
+updated: 2026-05-19
applies_to:
products:
- product: Tabular Editor 2
@@ -16,90 +17,124 @@ applies_to:
full: true
---
-# Tabular Editor 3
+# Instalar y activar Tabular Editor 3
-## Instalación
+Esta página explica los problemas habituales de instalación y activación de Tabular Editor 3 y cómo resolverlos. Para el flujo de activación estándar, consulta @getting-started. Para escenarios de implementación avanzada (instalación desatendida, aprovisionamiento previo de licencias y configuración posterior a la instalación), consulta @installation-activation-basic.
-Descarga la versión más reciente de Tabular Editor 3 desde nuestra [página de descargas](xref:downloads).
+## Verificar los requisitos del sistema
-## Requisitos previos
+Confirma que el equipo cumple los requisitos antes de seguir con la resolución de problemas:
-Ninguno.
+- **Sistema operativo:** Windows 10, Windows 11, Windows Server 2016, Windows Server 2019 o versiones posteriores
+- **Arquitectura:** x64, ARM64 (nativo a partir de la versión 3.23.0)
+- **.NET Runtime:** [.NET Runtime de Escritorio 8.0](https://dotnet.microsoft.com/en-us/download/dotnet/8.0)
-## Requisitos del sistema
+Usa el MSI correspondiente a tu arquitectura de la [página de descargas](xref:downloads). Una incompatibilidad entre el instalador y la arquitectura es una causa frecuente de instalaciones fallidas y de errores por dependencias faltantes al primer inicio.
-- **Sistema operativo:** Windows 7, Windows 8, Windows 10, Windows Server 2016, Windows Server 2019 o posterior
-- **.NET Framework:** [4.7.2](https://dotnet.microsoft.com/download/dotnet-framework)
+
-## Activación de la instalación
+## Inspeccionar la licencia activada
-Tabular Editor 3 es software comercial. Visita nuestra [página principal](https://tabulareditor.com) para consultar precios y opciones de compra. Si no has usado Tabular Editor 3 anteriormente, puedes optar a una prueba gratuita de 30 días.
+Tabular Editor 3 guarda los detalles de activación en el Registro de Windows, en `HKEY_CURRENT_USER\SOFTWARE\Kapacity\Tabular Editor 3`.
-La primera vez que inicies Tabular Editor 3 en un equipo nuevo, se te pedirá que actives el producto.
+Para ver la clave de licencia actual del usuario de Windows activo, ejecuta lo siguiente en el Símbolo del sistema de Windows (Inicio > Ejecutar > cmd.exe):
-
+```cmd
+REG QUERY "HKCU\Software\Kapacity\Tabular Editor 3" /v LicenseKey
+```
+
+También puedes inspeccionar y editar directamente los valores **LicenseKey** y **User** con `regedit.exe`.
-### Activación con una clave de licencia existente
+
-Una vez que compres una licencia de Tabular Editor 3, recibirás un correo electrónico con una cadena de 25 caracteres, que será tu clave de licencia. Cuando se te solicite, introduce la clave de licencia y pulsa "Siguiente >" para activar el producto.
+## El cuadro de diálogo de activación vuelve a aparecer
-
+Tabular Editor 3 contacta con `https://api.tabulareditor.com` al iniciarse y periódicamente para validar la licencia. Si no se puede acceder a este punto de conexión debido a un cortafuegos o un proxy, la aplicación debe reactivarse cada 30 días. Consulta @policies para ver la lista completa de puntos de conexión utilizados.
-> [!NOTE]
-> Para los tipos de licencia multiusuario, tendrás que introducir tu dirección de correo electrónico además de la clave de licencia. Tabular Editor 3 te lo solicitará si la clave de licencia que introduces corresponde a una licencia multiusuario.
+Si los avisos de activación siguen apareciendo:
-#### Cambiar asientos en la Edición Enterprise
+1. Confirma que se puede acceder a `api.tabulareditor.com` desde el equipo afectado.
+2. Configura el proxy en **Herramientas > Preferencias > Configuración de proxy**. Consulta @proxy-settings para la solución de problemas específicos del proxy, incluida la anulación en **AnalysisServices.AppSettings.json** que habilita la compatibilidad de MSAL con proxies externos.
+3. Si la red bloquea el tráfico saliente hacia el punto de conexión de activación, usa la [activación manual](#manual-activation-no-internet) que se indica a continuación.
-Para cambiar un asiento de Enterprise, primero hay que dar de baja al usuario actual del asiento a través del [portal de autoservicio de Tabular Editor](https://tabulareditor.com/my-account/). El propietario de la suscripción o el administrador de licencias puede crear una cuenta o iniciar sesión con una cuenta existente para administrar los asientos de la licencia.
+
-> [!NOTE]
-> Cambiar un usuario solo es posible en la Edición Enterprise.
+## Activación manual (sin conexión a Internet)
-### Solicitar una licencia de prueba
+Si el equipo donde se ejecuta Tabular Editor no puede acceder al punto de conexión de activación, el mensaje de activación ofrece un flujo manual.
-Si aún no has usado Tabular Editor 3, tienes derecho a una prueba gratuita de 30 días. Al elegir esta opción, se te pedirá una dirección de correo electrónico. Usamos la dirección de correo electrónico para validar si ya tienes una activación de Tabular Editor 3.
+
-> [!NOTE]
-> Tabular Editor ApS no enviará correos electrónicos no solicitados ni compartirá tu dirección de correo electrónico con terceros al registrarte para obtener una licencia de prueba de 30 días. Consulta nuestra @privacy-policy para obtener más información.
+1. Introduce tu correo electrónico. Aparece un cuadro de diálogo con un enlace a una clave de activación.
-### Cambiar una clave de licencia
+2. Copia la URL y ábrela en otro equipo que tenga acceso a Internet. La URL devuelve un objeto JSON.
-Cuando Tabular Editor 3 esté activado, puedes cambiar tu clave de licencia en el menú Ayuda seleccionando "Acerca de Tabular Editor".
+ 
-
+3. Copia el objeto JSON completo y pégalo en el cuadro de diálogo del equipo sin conexión.
-En el cuadro de diálogo, selecciona "Cambiar clave de licencia". Ten en cuenta que esta opción solo está disponible si no hay ningún modelo cargado en Tabular Editor. Si ya has cargado un modelo, puedes cerrarlo en Archivo > Cerrar modelo.
+ 
-#### Detalles del Registro de Windows
+Después, Tabular Editor 3 verifica la licencia.
-Tabular Editor 3 usa el Registro de Windows para almacenar los detalles de activación.
+## No se puede cambiar una clave de licencia desde la interfaz de usuario
-Para ver la clave de licencia actual asignada al equipo, ejecuta el siguiente comando en el Símbolo del sistema de Windows (Inicio > Ejecutar > cmd.exe):
+El botón **Cambiar clave de licencia** en **Ayuda > Acerca de Tabular Editor** solo está habilitado cuando no hay ningún modelo cargado. Si el botón aparece atenuado, cierra el modelo abierto en **Archivo > Cerrar modelo** e inténtalo de nuevo.
+
+Si la opción de la interfaz de usuario sigue fallando, restablece la licencia a través del Editor del Registro:
+
+1. Cierra todas las instancias de Tabular Editor 3.
+2. Abre el Editor del Registro (Inicio > Ejecutar > regedit.msc).
+3. Ubica `HKEY_CURRENT_USER\SOFTWARE\Kapacity\Tabular Editor 3`.
+4. Elimina todos los valores de esta clave.
+5. Reinicia Tabular Editor 3.
+
+Como alternativa, ejecuta lo siguiente en el Símbolo del sistema de Windows:
```cmd
-REG QUERY "HKCU\Software\Kapacity\Tabular Editor 3" /v LicenseKey
+REG DELETE "HKCU\Software\Kapacity\Tabular Editor 3" /va
```
-También puedes usar `regedit.exe` (Editor del Registro de Windows) y navegar a `HKEY_CURRENT_USER\SOFTWARE\Kapacity\Tabular Editor 3` para ver y modificar los valores **LicenseKey** y **User**.
+En el siguiente inicio, se solicitará una clave de licencia como si la aplicación acabara de instalarse.
-Un administrador del sistema también puede asignar de forma proactiva licencias de Tabular Editor 3 a un equipo especificando los valores **LicenseKey** y **User** en la clave del Registro `SOFTWARE\Kapacity\Tabular Editor 3` de cada usuario.
+> [!IMPORTANT]
+> Una vez que se elimine una clave de licencia, el producto no podrá usarse por el usuario actual de Windows en ese equipo hasta que se introduzca una nueva clave de licencia.
-
+## La licencia está en el usuario de Windows incorrecto
-### Cambiar una clave de licencia a través del Registro de Windows
+Las activaciones de Tabular Editor 3 se almacenan **por usuario** en `HKEY_CURRENT_USER`. Si varios usuarios comparten el mismo equipo, cada uno debe activar el producto en su propio perfil de usuario de Windows. Una licencia activada en una cuenta de Windows no es visible para otra cuenta de Windows en el mismo equipo.
-Si por cualquier motivo no puedes cambiar la clave de licencia mediante el procedimiento descrito anteriormente, siempre puedes restablecer la licencia asignada a Tabular Editor 3 mediante el Editor del Registro:
+Para comprobar qué cuenta de Windows tiene la licencia, inicia sesión como ese usuario y ejecuta la consulta del registro en [Inspeccionar la licencia activada](#inspect-the-activated-license).
-1. Cierra todas las instancias de Tabular Editor 3.
-2. Abre el Editor del Registro en Windows (Inicio > Ejecutar > regedit.msc).
-3. Busca `HKEY_CURRENT_USER\SOFTWARE\Kapacity\Tabular Editor 3` (consulta la captura de pantalla anterior).
-4. Elimina todos los valores de esta clave.
-5. Cierra el Editor del Registro y reinicia Tabular Editor 3.
+### Cuenta de Windows vs. cuenta de Power BI / Entra
-Como alternativa, ejecuta el siguiente comando en el Símbolo del sistema de Windows (Inicio > Ejecutar > cmd.exe):
+Una fuente habitual de confusión: la cuenta de Windows con la que se ejecuta Tabular Editor 3 es independiente de la cuenta de Microsoft Entra que se usa para autenticarse en un Workspace de Power BI / Fabric.
-```cmd
-REG DELETE "HKCU\Software\Kapacity\Tabular Editor 3" /va
-```
+- **La activación de la licencia** se almacena en `HKEY_CURRENT_USER` del usuario de Windows que activó el producto. No está vinculada a ninguna identidad en la nube.
+- **La autenticación del Workspace** se realiza al conectarse, en el cuadro de diálogo **Cargar modelo semántico desde base de datos**. Inicia sesión allí con la cuenta de Microsoft Entra que tenga permisos en el Workspace.
+
+No necesitas iniciar Tabular Editor 3 con **Ejecutar como** usando otra cuenta de Windows solo porque te conectes a Power BI con una cuenta de Microsoft Entra distinta (por ejemplo, una cuenta de administrador sin correo habilitado). Inícialo con tu cuenta habitual de Windows, activa la licencia en esa cuenta e introduce las credenciales de administrador de Microsoft Entra en el cuadro de diálogo de conexión.
+
+Para obtener información sobre cómo elegir el modo de autenticación adecuado (por ejemplo, **Microsoft Entra MFA** cuando tu inicio de sesión de Windows no coincide con tu cuenta de Power BI), consulta @xmla-as-connectivity.
+
+## Un puesto Enterprise está en uso por otro usuario
+
+Las licencias Enterprise se asignan por puesto. Para activar Tabular Editor 3 para un nuevo usuario cuando todos los puestos están ocupados, primero hay que cancelar la asignación del puesto al usuario actual desde el [portal de autoservicio de Tabular Editor](https://tabulareditor.com/my-account/). Esta acción la realiza el propietario de la suscripción o el administrador de licencias.
+
+> [!NOTE]
+> La reasignación de puestos solo es posible en la Edición Enterprise.
+
+## Activación detrás de un proxy
+
+Tabular Editor 3 usa solicitudes web salientes para la activación del producto, la comprobación de actualizaciones, el formato de DAX y la descarga de reglas externas de mejores prácticas. Si estás detrás de un proxy:
+
+1. Configura **Herramientas > Preferencias > Configuración del proxy**. Cambia el **Tipo de proxy** entre `System` y `None`, reinicia Tabular Editor 3 y vuelve a intentar la activación.
+2. Si la activación sigue fallando, consulta @proxy-settings para ver diagnósticos avanzados del proxy.
+3. Si el acceso saliente a `api.tabulareditor.com` está bloqueado, usa [Activación manual](#manual-activation-no-internet).
+
+> [!TIP]
+> La configuración del proxy puede interferir con los cuadros de diálogo de autenticación y otras indicaciones externas. Después de cambiar el tipo de proxy, cierra siempre Tabular Editor 3 y vuelve a abrirlo antes de repetir la prueba.
+
+## Comprueba que usas la versión más reciente
-La próxima vez que inicies Tabular Editor 3, se te pedirá una clave de licencia, igual que cuando la herramienta se instaló por primera vez en el equipo.
\ No newline at end of file
+Los errores relacionados con la activación a veces se corrigen en versiones más recientes de Tabular Editor 3. Comprueba que usas la versión más reciente antes de enviar una solicitud de soporte. Comprueba si hay actualizaciones en **Herramientas > Preferencia > Actualizaciones y comentarios**, o descarga el instalador más reciente desde la [página de descargas](xref:downloads).
diff --git a/localizedContent/es/content/troubleshooting/locale-not-supported.md b/localizedContent/es/content/troubleshooting/locale-not-supported.md
index c0dd1056f..75695129c 100644
--- a/localizedContent/es/content/troubleshooting/locale-not-supported.md
+++ b/localizedContent/es/content/troubleshooting/locale-not-supported.md
@@ -19,12 +19,16 @@ applies_to:
# Configuración regional no admitida
-Es posible que veas el siguiente mensaje de advertencia en los mensajes:
+Puede que se muestre alguno de los siguientes mensajes de advertencia:
```plaintext
La configuración regional XXXX no es compatible
```
+```plaintext
+XXXX no es un identificador de configuración regional válido
+```
+
en la vista de mensajes de Tabular Editor 3.

diff --git a/localizedContent/es/content/tutorials/incremental-refresh/incremental-refresh-setup.md b/localizedContent/es/content/tutorials/incremental-refresh/incremental-refresh-setup.md
index bc0db075b..4bda00ace 100644
--- a/localizedContent/es/content/tutorials/incremental-refresh/incremental-refresh-setup.md
+++ b/localizedContent/es/content/tutorials/incremental-refresh/incremental-refresh-setup.md
@@ -84,7 +84,9 @@ Las columnas de tipo fecha, cadena o entero también se pueden filtrar mantenien
- **RollingWindowPeriods:** Número de períodos (con la granularidad indicada más arriba) durante los cuales se deben archivar los datos.
- **Mode:** Si es una política de actualización `Import` estándar o `Hybrid`, en la que la última partición es DirectQuery.
- **PollingExpression:** Una expresión M válida configurada para detectar cambios en los datos. Para más información sobre _Polling Expression_ u otras propiedades de la política de actualización, consulta [aquí](xref:incremental-refresh-about#overview-of-all-properties).
+
8. **Aplicar cambios al modelo:** Guarda el modelo (Ctrl+S).
+
9. **Aplicar política de actualización:** Haz clic con el botón derecho en la tabla y elige "Aplicar política de actualización".
diff --git a/localizedContent/es/content/tutorials/new-pbi-model.md b/localizedContent/es/content/tutorials/new-pbi-model.md
index fab7ac40a..b71bd5d99 100644
--- a/localizedContent/es/content/tutorials/new-pbi-model.md
+++ b/localizedContent/es/content/tutorials/new-pbi-model.md
@@ -2,7 +2,7 @@
uid: new-pbi-model
title: Crear un modelo semántico de Power BI
author: Daniel Otykier
-updated: 2021-09-06
+updated: 2026-06-11
applies_to:
products:
- product: Tabular Editor 2
@@ -23,7 +23,7 @@ applies_to:
Esta página te guía paso a paso por el proceso de crear un nuevo modelo semántico de Power BI desde cero con Tabular Editor 3.
> [!IMPORTANT]
-> La Edición Business de Tabular Editor 3 está limitada a [Power BI Premium por usuario](https://docs.microsoft.com/en-us/power-bi/admin/service-premium-per-user-faq). Para usar una capacidad de Fabric/Power BI Premium o Embedded, debes actualizar a la Edición Enterprise de Tabular Editor 3. En cualquiera de los casos, el Workspace de Power BI en el que se vaya a implementar el modelo semántico debe tener habilitado el [punto de conexión XMLA de lectura/escritura](https://docs.microsoft.com/en-us/power-bi/admin/service-premium-connect-tools#enable-xmla-read-write).
+> La Edición Business de Tabular Editor 3 está limitada a [Power BI Premium Per User](https://learn.microsoft.com/en-us/fabric/enterprise/powerbi/service-premium-per-user-faq). Para Fabric, Power BI Premium o una capacidad Embedded, debes actualizar a la Edición Enterprise de Tabular Editor 3. En cualquier caso, el Workspace de destino debe permitir el [acceso de lectura y escritura de XMLA](https://learn.microsoft.com/en-us/fabric/enterprise/powerbi/service-premium-connect-tools#enable-xmla-read-write), que es el valor predeterminado en todas las SKU de capacidad desde junio de 2025.
>
> La Edición de escritorio de Tabular Editor 3 no admite modelos semánticos de Power BI.
>
diff --git a/localizedContent/es/content/tutorials/powerbi-xmla.md b/localizedContent/es/content/tutorials/powerbi-xmla.md
index ec6c32a2a..afcc522f1 100644
--- a/localizedContent/es/content/tutorials/powerbi-xmla.md
+++ b/localizedContent/es/content/tutorials/powerbi-xmla.md
@@ -2,7 +2,7 @@
uid: powerbi-xmla
title: Edición a través del punto de conexión XMLA
author: Daniel Otykier
-updated: 2021-10-01
+updated: 2026-06-11
applies_to:
products:
- product: Tabular Editor 2
@@ -18,34 +18,34 @@ applies_to:
full: true
---
-# Edición de un Dataset de Power BI a través del punto de conexión XMLA
+# Edición de un modelo semántico de Power BI mediante el punto de conexión XMLA
-Puedes usar Tabular Editor 3 para conectarte a un Dataset de Power BI publicado en el servicio Power BI a través del [punto de conexión XMLA](https://docs.microsoft.com/en-us/power-bi/admin/service-premium-connect-tools). El punto de conexión XMLA está disponible para Workspaces con capacidad de Power BI Premium (es decir, Workspaces asignados a una SKU Px, Ax o EMx) o para Workspaces de Power BI Premium Per User (PPU).
+Puedes usar Tabular Editor 3 para conectarte a un modelo semántico de Power BI publicado en el servicio Power BI a través del [punto de conexión XMLA](https://learn.microsoft.com/en-us/fabric/enterprise/powerbi/service-premium-connect-tools). El punto de conexión XMLA está disponible para los Workspace asignados a una capacidad de Fabric (SKU F), una capacidad de Power BI Embedded (SKU A o EM), una capacidad Premium heredada (SKU P) o una licencia Premium por usuario (PPU).
> [!NOTE]
-> Las licencias de Power BI Pro no son suficientes para acceder a Datasets de Power BI en un Workspace compartido. Para acceder a XMLA se requiere capacidad Premium/Embedded o una licencia de Power BI Premium Per User.
+> Las licencias de Power BI Pro no son suficientes para acceder a los modelos semánticos de Power BI en un Workspace compartido. Se requiere una capacidad de Fabric, una capacidad de Power BI Embedded, una capacidad Premium heredada o una licencia Premium por usuario para tener acceso a XMLA.
## Requisitos previos
-Tabular Editor requiere que el punto de conexión XMLA permita acceso de lectura y escritura. Esta configuración la controla [el administrador de tu capacidad](https://docs.microsoft.com/en-us/power-bi/admin/service-premium-connect-tools#enable-xmla-read-write).
+Tabular Editor requiere que el punto de conexión XMLA permita tanto el acceso de lectura como el de escritura. Microsoft habilitó de forma predeterminada el acceso de lectura y escritura a XMLA en todas las SKU de capacidad de Fabric y Power BI en junio de 2025. Si no puedes conectarte, pide a [tu administrador de capacidad](https://learn.microsoft.com/en-us/fabric/enterprise/powerbi/service-premium-connect-tools#enable-xmla-read-write) que compruebe la configuración descrita en @xmla-as-connectivity.
> [!IMPORTANT]
> Si usas Tabular Editor 3, ten en cuenta las [limitaciones de licencia](xref:editions) para conectarte al punto de conexión XMLA de Power BI. Necesitas al menos Tabular Editor 3 Business o Edición Enterprise, según el tipo de Workspace de Power BI que uses.
## Limitaciones
-Al conectarte a un Dataset a través del punto de conexión XMLA, todas las operaciones de modelado del Data model compatibles con el [Tabular Object Model (TOM)](https://docs.microsoft.com/en-us/analysis-services/tom/introduction-to-the-tabular-object-model-tom-in-analysis-services-amo?view=asallproducts-allversions) están disponibles para su edición. En otras palabras, las [Limitaciones de Power BI Desktop](xref:desktop-limitations) no se aplican cuando se edita un Dataset a través del punto de conexión XMLA del servicio Power BI.
+Al conectarte a un modelo semántico a través del punto de conexión XMLA, todas las operaciones de modelado de datos compatibles con el [Tabular Object Model (TOM)](https://learn.microsoft.com/en-us/analysis-services/tom/introduction-to-the-tabular-object-model-tom-in-analysis-services-amo?view=asallproducts-allversions) están disponibles para su edición. En otras palabras, las [Limitaciones de Power BI Desktop](xref:desktop-limitations) no se aplican cuando se edita un modelo semántico a través del punto de conexión XMLA del servicio Power BI.
## Flujo de trabajo
-El punto de conexión XMLA de Power BI, en esencia, expone una instancia de Analysis Services a la que Tabular Editor puede conectarse. Así, puedes considerar el Workspace de Power BI como el **servidor** de Analysis Services, y cada Dataset de Power BI del Workspace como una **base de datos** de Analysis Services. Todas las funciones de modelado y administración de Tabular Editor están disponibles al conectarse al punto de conexión XMLA. Si decides usar Tabular Editor para crear y mantener tus Datasets de Power BI, también deberías plantearte usar algún sistema de control de versiones para los metadatos del modelo.
+El punto de conexión XMLA de Power BI, en esencia, expone una instancia de Analysis Services a la que Tabular Editor puede conectarse. Así, puedes tratar el Workspace de Power BI como el **servidor** de Analysis Services, y cada modelo semántico de Power BI del Workspace como una **base de datos** de Analysis Services. Todas las funciones de modelado y administración de Tabular Editor están disponibles al conectarse al punto de conexión XMLA. Si decides usar Tabular Editor para crear y mantener tus modelos semánticos de Power BI, también deberías plantearte usar algún sistema de control de versiones para los metadatos del modelo.
El flujo de trabajo es el siguiente:
-1. Crea un nuevo Data model en Tabular Editor o conéctate a un Dataset existente a través del punto de conexión XMLA de Power BI
+1. Crea un nuevo Data model en Tabular Editor o conéctate a un modelo semántico existente a través del punto de conexión XMLA de Power BI
2. Guarda este modelo como un archivo **Model.bim** o usa la opción [Guardar en carpeta](xref:save-to-folder) de Tabular Editor.
3. Cada vez que quieras hacer cambios en el modelo, carga el archivo o la carpeta que guardaste en el paso 2. La primera vez que lo hagas, decide si quieres usar una [base de datos de Workspace](xref:workspace-mode) o no.
-4. Cuando estés listo para publicar los cambios en el servicio de Power BI, realiza un despliegue desde Tabular Editor (**Model > Deploy...**), lo que creará un nuevo Dataset o sobrescribirá uno existente en un Workspace de Power BI.
+4. Cuando estés listo para publicar tus cambios en el servicio Power BI, realiza un despliegue desde Tabular Editor (**Model > Deploy...**), y así crearás un modelo semántico nuevo o sobrescribirás uno existente en un Workspace de Power BI.
## Pasos siguientes
diff --git a/localizedContent/zh/content/_ui-strings.json b/localizedContent/zh/content/_ui-strings.json
index cfffdf19d..b12458295 100644
--- a/localizedContent/zh/content/_ui-strings.json
+++ b/localizedContent/zh/content/_ui-strings.json
@@ -13,14 +13,18 @@
"header.button1": "免费试用",
"header.button2": "主页",
"footer.heading": "准备开始了吗?",
- "footer.button1": "免费试用 Tabular Editor 3",
+ "footer.button1": "试用 Tabular Editor 3",
"footer.button2": "购买 Tabular Editor 3",
"footer.aboutUs": "关于我们",
+ "footer.career": "招贤纳士",
+ "footer.newsroom": "新闻中心",
"footer.contactUs": "联系我们",
"footer.technicalSupport": "技术支持",
- "footer.privacyPolicy": "隐私与 Cookie 政策",
- "footer.termsConditions": "条款与条件",
- "footer.licenseTerms": "许可条款",
+ "footer.securityTrust": "安全与信任中心",
+ "footer.privacyPolicy": "隐私政策",
+ "footer.cookiePolicy": "Cookie 使用政策",
+ "footer.siteTerms": "网站条款",
+ "footer.commercialTerms": "商业条款及条件",
"appliesTo": "适用于: ",
"availableSince": "自此版本起可用",
"availableIn": "适用范围",
diff --git a/localizedContent/zh/content/features/Command-line-Options.md b/localizedContent/zh/content/features/Command-line-Options.md
index 620ca2a89..b9af9c04b 100644
--- a/localizedContent/zh/content/features/Command-line-Options.md
+++ b/localizedContent/zh/content/features/Command-line-Options.md
@@ -1,20 +1,82 @@
---
uid: command-line-options
-title: 命令行
+title: 命令行(Tabular Editor 2)
author: Daniel Otykier
-updated: 2021-08-26
+updated: 2026-06-09
applies_to:
products:
- product: Tabular Editor 2
full: true
- product: Tabular Editor 3
none: true
+ - product: Tabular Editor CLI
+ none: true
---
-# 命令行
+# 命令行(Tabular Editor 2)
Tabular Editor 可通过命令行执行以执行各种任务,这在自动化构建和部署等场景中可能很有用。
+## 这些工具如何配合使用
+
+Tabular Editor 3 是面向开发人员的桌面应用程序。 它本身不提供命令行界面。 对于自动化部署和 CI/CD 管道,可以使用 `TabularEditor.exe`(本页介绍的 Tabular Editor 2 CLI),也可以使用新的跨平台 [Tabular Editor CLI](xref:te-cli)(`te`)。
+
+在 CI/CD 管道中运行 `TabularEditor.exe` 无需 Tabular Editor 3 许可证。 只有 Tabular Editor 3 应用程序的用户才需要许可证。
+
+> [!TIP]
+> 在寻找新的跨平台 CLI? 请参阅 @te-cli 了解 Tabular Editor CLI(有限公开预览版)。它是可在 Windows、macOS 和 Linux 上运行的后继版本。
+
+## TabularEditor.exe 与 Tabular Editor CLI 对比
+
+Tabular Editor CLI(`te`)是 `TabularEditor.exe` 的跨平台后继版本。 它不仅仅是面向 macOS 和 Linux 的重写版本——还将模型编辑、检查、差异对比、测试、触发刷新和 VertiPaq 分析作为管道中的一等公民操作引入,而这些都是 `TabularEditor.exe` 无法实现的。 `te` CLI 目前处于有限公开预览阶段(将于 2026-09-30 到期);当前生产环境的管道请使用 `TabularEditor.exe`。
+
+| | TE2 CLI (`TabularEditor.exe`) | TE CLI (`te`) |
+| -------------------------- | ------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------- |
+| 状态 | 稳定,可用于生产环境 | 有限公开预览(将于 2026-09-30 到期) |
+| 平台 | 仅限 Windows | Windows、macOS、Linux |
+| 需要许可证 | 否 | 否(预览版);正式发布时待定 |
+| 二进制文件 | WinForms 应用,需要通过 `start /wait` 进行封装 | 专为控制台设计的二进制文件,无需包装器 |
+| **身份验证** | | |
+| 服务主体 | 通过 MSOLAP 连接字符串 | 原生支持 `--auth spn`、`--auth env`、`--auth managed-identity`;凭据可通过环境变量、stdin 或证书提供;支持操作系统原生的安全凭据存储 |
+| 托管标识 | 否 | 是(`--auth managed-identity`),适用于 Azure 托管运行器 |
+| 交互式浏览器登录 | 否 | 是(`te auth login`) |
+| **CI/CD** | | |
+| CI 注释 | `-V`(Azure DevOps)、`-G`(GitHub) | 每个命令都可使用 `--ci vsts`、`--ci github` |
+| 非交互模式 | 无显式标志;出错时可能会提示 | 全局标志 `--non-interactive`——快速失败,不会出现提示 |
+| 可预测的退出代码 | 部分支持 | `0` = 成功,`1` = 失败,`2` = 差异不一致 |
+| 结构化输出 | 否 | 每个命令都支持 `--output-format json/csv/tmdl/tmsl` |
+| VSTEST 结果 | `-T` 标志 | 在 `validate`、`bpa run` 和 `test run` 命令中使用 `--trx ` |
+| **部署** | | |
+| 部署模型 | `-D` 标志 | `te deploy` 提供细粒度标志(`--deploy-roles`、`--deploy-partitions`、`--deploy-connections`、`--deploy-full` 等),可分别部署角色、分区、连接或完整内容 |
+| 无需部署即可生成 XMLA/TMSL | `-X` 标志 | `te deploy --xmla ` 或 `--dry-run` |
+| 部署前 BPA 门禁检查 | 否 | 内置;可用 `--skip-bpa` 或 `--fix-bpa` 覆盖默认行为 |
+| 连接配置文件 | 否 | `te profile set/list/show` - 为每个环境提供可复用的命名配置文件 |
+| **Best Practice Analyzer** | | |
+| 运行 BPA | `-A` / `-AX` 选项 | `te bpa run`,支持 `--fail-on warning/error`、`--fix`、`--path` 范围限定,以及用于 VPA 感知规则的 `--vpax` |
+| BPA 规则管理 | 否 | `te bpa rules add/rm/set/list/disable/enable/init` |
+| **在流水线中编辑模型** | | |
+| 运行 C# Script | `-S` 选项 | `te script`:支持多个脚本、内联代码、stdin、`--dry-run` 以及预处理器符号(`TECLI`) |
+| 运行宏 | 否 | `te macro run`,可通过 `--on ` 指定上下文 |
+| 设置/获取属性 | 否 | `te get`, `te set`, `te add`, `te rm`, `te mv`, `te replace` |
+| DAX 格式化 | 否 | `te format` - 格式化所有表达式或单个对象,支持 DAX 和 M |
+| **检查** | | |
+| 列出模型对象 | 否 | `te ls`,支持通配符路径筛选、`--type`、`--paths-only`、`--output-format bim` |
+| 搜索表达式/名称 | 否 | `te find`,支持正则表达式和搜索范围 (`--in expressions/names/descriptions`) |
+| 比较两个模型的差异 | 否 | `te diff` - 结构比较;如有任何差异则以退出代码 `2` 退出 |
+| 依赖关系分析 | 否 | `te deps` - 查看任何对象的上游/下游依赖;使用 `--unused` 查找死代码 |
+| **刷新** | | |
+| 触发刷新 | 否 | `te refresh` 支持 `--type`、`--table`、`--partition`、`--apply-refresh-policy`、`--dry-run` |
+| **测试** | | |
+| DAX 断言测试 | 否 | `te test run` 支持 `--tag`、`--trx`、`--ci`;也可使用 `te test init/snapshot/compare` |
+| **VertiPaq 分析** | | |
+| 存储统计 | 否 | `te vertipaq` - 列、关系、分区;`--export`/`--import` VPAX |
+| **其他** | | |
+| 交互式 REPL | 否 | `te interactive` - 支持模型感知的 Shell,提供 Tab 补全 |
+| Shell Tab 自动补全 | 否 | `te completion bash/zsh/pwsh` |
+| TE2 向后兼容性 | 原生 | 内置兼容层——现有 `TabularEditor.exe` 调用无需修改即可继续使用 |
+
+如需查看从 TE2 语法到新 CLI 的逐项标志映射,请参见 @te-cli-migrate。
+
**注意:** 由于 TabularEditor.exe 是一个 WinForms 应用程序,直接从 Windows 命令提示符执行会导致线程立即返回到提示符。 这可能会在命令脚本等场景中引发问题。 如需等待 TabularEditor.exe 完成其命令行任务,请始终使用以下方式执行:`start /wait TabularEditor ...`
要查看 Tabular Editor 提供的命令行选项,请运行以下命令:
diff --git a/localizedContent/zh/content/features/Semantic-Model/direct-query-over-as.md b/localizedContent/zh/content/features/Semantic-Model/direct-query-over-as.md
index fde02127b..2531772b7 100644
--- a/localizedContent/zh/content/features/Semantic-Model/direct-query-over-as.md
+++ b/localizedContent/zh/content/features/Semantic-Model/direct-query-over-as.md
@@ -19,19 +19,17 @@ applies_to:
## 概述
-Tabular Editor 3 可以**连接**使用 **DirectQuery over Analysis Services (DQ‑over‑AS)** 的复合模型,但完整的建模支持**尚未提供**。 大多数创作任务都符合预期;但是,依赖与远程语义模型同步元数据的操作——例如 _更新
-0表
-0架构_——目前受到限制。
+Tabular Editor 3 可以**连接**使用 **DirectQuery over Analysis Services (DQ‑over‑AS)** 的复合模型,但完整的建模支持**尚未提供**。 大多数创作任务都符合预期;但是,依赖与远程语义模型同步元数据的操作——例如 _更新表架构_——目前受到限制。
> [!IMPORTANT]
> 在完整的 DQ‑over‑AS 支持发布之前,Tabular Editor 3 中编辑的模型元数据**不会自动与源数据集保持同步**。 每当在底层 Analysis Services 模型中新增列或度量值时,都必须采用下面列出的其中一种变通方法。
## 当前限制
-| 功能 | TE3 中的状态 | 说明 |
-| --------------------- | -------- | ------------------------------------------------------------ |
-| **更新
0表
0架构** | ❌ 不支持 | 在 DQ‑over‑AS 表上尝试运行 **Model > Update table schema** 不会有任何效果。 |
-| **度量值同步** | ❌ 不支持 | 在源数据集中创建的度量值不会自动出现在复合模型中。 |
+| 功能 | TE3 中的状态 | 说明 |
+| --------- | -------- | ------------------------------------------------------------ |
+| **更新表架构** | ❌ 不支持 | 在 DQ‑over‑AS 表上尝试运行 **Model > Update table schema** 不会有任何效果。 |
+| **度量值同步** | ❌ 不支持 | 在源数据集中创建的度量值不会自动出现在复合模型中。 |
## 变通方法
@@ -41,12 +39,12 @@ Tabular Editor 3 可以**连接**使用 **DirectQuery over Analysis Services (
2. 选择 **添加 > 数据列**。
3. 在 _属性_ 窗口中,设置:
- - **SourceColumnName** – 必须与远程表中该列的 **Name** _完全_一致。
+ - **SourceColumnName** – 必须与远程表中该列的 **Name** 完全一致。
- **SourceLineageTag** – 从源列复制 **LineageTag** 值。
4. 保存并部署模型。
> [!NOTE]
-> 列名和 Lineage tag 必须_逐字符_完全一致。 任何不一致都会导致部署错误。
+> 列名和 Lineage tag 必须逐字符完全一致。 任何不一致都会导致部署错误。
### 2. 使用“Import tables from remote model” C# 脚本
diff --git a/localizedContent/zh/content/features/Useful-script-snippets.md b/localizedContent/zh/content/features/Useful-script-snippets.md
index c2a1ee247..2cd7bb25f 100644
--- a/localizedContent/zh/content/features/Useful-script-snippets.md
+++ b/localizedContent/zh/content/features/Useful-script-snippets.md
@@ -407,7 +407,7 @@ SaveFile("documentation.tsv", tsv);
## 从文件生成度量值
-如果你想批量编辑模型中_现有_对象的属性,上述导出/导入属性的方法会很有用。 如果你想导入一个尚不存在的度量值列表,该怎么办?
+如果你想批量编辑模型中现有对象的属性,上述导出/导入属性的方法会很有用。 如果你想导入一个尚不存在的度量值列表,该怎么办?
假设你有一个 TSV(制表符分隔值)文件,其中包含要导入到现有 Tabular 模型中的度量值名称、说明和 DAX 表达式。 你可以使用下面的脚本读取该文件,将其拆分为行和列,并生成这些度量值。 该脚本还会为每个度量值分配一个特殊注释,这样它就能删除之前使用同一脚本创建的度量值。
diff --git a/localizedContent/zh/content/features/ai-assistant.md b/localizedContent/zh/content/features/ai-assistant.md
index 051c02060..591cfe2ee 100644
--- a/localizedContent/zh/content/features/ai-assistant.md
+++ b/localizedContent/zh/content/features/ai-assistant.md
@@ -144,7 +144,7 @@ az cognitiveservices account deployment list --name "" --resource
> 本地模型的响应质量取决于模型规模以及你的硬件配置。 更大的模型通常能产生更好的结果,但需要更多 RAM 和性能更强的 GPU。 AI Assistant 的工具调用能力需要使用支持 OpenAI 兼容格式函数调用的模型。
> [!TIP]
-> 我们建议选择参数量_至少_为 30B 的模型,但理想情况下至少应有 100B 参数。 例如,Qwen3.5-122B-A10B 模型在我们的内部测试中表现良好。
+> 我们建议选择参数量至少为 30B 的模型,但理想情况下至少应有 100B 参数。 例如,Qwen3.5-122B-A10B 模型在我们的内部测试中表现良好。
### 使用 Microsoft Foundry
@@ -187,7 +187,7 @@ AI 助手可以访问你的模型上下文,并能执行以下操作:
- **模型探索**:查询模型元数据,包括表、列、度量值、关系及其属性
- **DAX 查询编写**:生成 DAX 查询并对你在连接模式下连接的模型执行,结果集会直接在聊天中返回
-- **C# Script 生成**:创建用于修改模型的 C# Script,并在新的编辑器窗口中打开。 当你在聊天中点击 **Execute** 时,默认会显示 [预览更改](xref:csharp-scripts#running-scripts-with-preview) 对话框,让你在接受前先审阅所有模型元数据更改。 你也可以在编辑器中打开脚本,并从脚本工具栏运行它,可选择是否启用预览。 模型元数据更改可通过 **Ctrl+Z** 撤销
+- **C# Script 生成**:创建用于修改模型的 C# Script,并在新的编辑器窗口中打开。 当你在聊天中点击 **执行** 时,默认会弹出“[预览更改](xref:csharp-scripts#run-c-scripts-with-preview)”对话框,方便你在接受之前先检查所有模型元数据变更。 你也可以在编辑器中打开脚本,并从脚本工具栏运行它,可选择是否启用预览。 模型元数据更改可通过 **Ctrl+Z** 撤销
- **Best Practice Analyzer**:运行 BPA 分析,查看规则违规情况,并创建或修改 BPA 规则
- **VertiPaq分析器**:查询内存使用统计信息和列的基数
- **文档访问**:读取并修改已打开的文档,例如 DAX 脚本和 DAX 查询
diff --git a/localizedContent/zh/content/features/csharp-scripts.md b/localizedContent/zh/content/features/csharp-scripts.md
index 7771c1288..b370908ea 100644
--- a/localizedContent/zh/content/features/csharp-scripts.md
+++ b/localizedContent/zh/content/features/csharp-scripts.md
@@ -2,7 +2,7 @@
uid: csharp-scripts
title: C# Script
author: Daniel Otykier
-updated: 2026-03-19
+updated: 2026-05-27
applies_to:
products:
- product: Tabular Editor 2
@@ -15,6 +15,8 @@ applies_to:
full: true
- edition: Enterprise
full: true
+ - product: Tabular Editor CLI
+ full: true
---
# C# Script
@@ -377,18 +379,27 @@ Info($"已为 {environment} 环境配置模型");
## 兼容性
-Tabular Editor 2 和 Tabular Editor 3 的脚本 API 大多兼容,但在某些情况下,你可能希望根据所使用的版本对代码进行条件编译。 为此,你可以使用预处理器指令,这些指令是在 Tabular Editor 3.10.0 中引入的。
+Tabular Editor 2、Tabular Editor 3(Desktop)和 Tabular Editor CLI 的脚本 API 基本兼容,但在某些情况下,你可能需要根据当前运行的宿主环境来有条件地编译代码。 CLI 宿主定义了 `TECLI` 预处理器符号;TE3 Desktop 定义了 `TE3`(以及与当前次版本对应的版本符号,例如 `TE3_3_15_OR_GREATER`);而 TE2 两者都不定义。 预处理器指令是在 Tabular Editor 3.10.0 中引入的。 用它们来编写可移植脚本:
```csharp
-#if TE3
- // 仅当脚本在 TE3(版本 3.10.0 或更高)中运行时才会编译此代码。
- Info("Hello from TE3!");
+#if TECLI
+ // CLI 宿主 - 没有可用的 UI API
+ Info($"正在 {Environment.OSVersion.Platform} 上的 CLI 下运行");
+#elif TE3
+ // TE3 Desktop - UI API 可用
+ ShowMessage("来自 TE3 的问候");
#else
- // 在其他所有情况下都会编译此代码。
- Info("Hello from TE2!");
+ // TE2(旧版)- 未定义 TECLI 和 TE3
+ Info("来自 TE2 的问候");
+#endif
+
+#if TE3_3_15_OR_GREATER
+ // 受特定 TE3 次版本限制
#endif
```
+有一个 CLI 特有的注意事项:由于 CLI 没有可弹出的 UI,TE3-Desktop 的 UI 辅助方法 `SelectMeasure()`、`SelectTable()`、`SelectColumn()`、`SelectObject()` 和 `SelectObjects()` 在 `te script` 下会抛出 `NotSupportedException`。 在不同宿主之间共享脚本时,请用 `#if TE3`(或 `try/catch`)把这类调用包起来。
+
如果你想在脚本运行时知道 Tabular Editor 的具体版本,可以查看程序集版本:
```csharp
diff --git a/localizedContent/zh/content/features/dax-debugger.md b/localizedContent/zh/content/features/dax-debugger.md
index befd41b5d..8f4a55d88 100644
--- a/localizedContent/zh/content/features/dax-debugger.md
+++ b/localizedContent/zh/content/features/dax-debugger.md
@@ -191,8 +191,8 @@ CALCULATE(
在上面的屏幕截图中:
1. 这是当前正在调试的标量谓词。 尽管这个子表达式看起来像是应返回标量值(true/false),但实际上它返回的是一张表。
-2. **(当前表达式)**:这是谓词在上文所述、由 `FILTER` 函数生成的当前_行语境_中求值后得到的_标量_值。 在截图中,标量值的计算结果为 `False`,因为当前行语境中 [Country Region Code] 的值是 "AU",如在 **Watch** 视图中所示 (4)。 我们可以使用 **Evaluation Context** 视图 (5) 逐行浏览迭代过程。
-3. **(筛选表达式)**:这是由 `FILTER` 函数生成的_表_表达式,如上所述。 在截图中,这是一个 1x2 表,包含值 "US" 和 "CA"。 点击放大镜按钮会打开一个弹出窗口,以网格形式显示表中的值。
+2. **(当前表达式)**:这是谓词在上文所述、由 `FILTER` 函数生成的当前行语境中求值后得到的标量值。 在截图中,标量值的计算结果为 `False`,因为当前行语境中 [Country Region Code] 的值是 "AU",如在 **Watch** 视图中所示 (4)。 我们可以使用 **Evaluation Context** 视图 (5) 逐行浏览迭代过程。
+3. **(筛选表达式)**:这是由 `FILTER` 函数生成的表表达式,如上所述。 在截图中,这是一个 1x2 表,包含值 "US" 和 "CA"。 点击放大镜按钮会打开一个弹出窗口,以网格形式显示表中的值。
4. 我们可以使用 **Watch** 窗口,在当前评估语境中对任意 DAX 表达式求值。 在这种情况下,由于我们有一个活动的行语境,因此可以直接引用行语境中的列,例如 `Geography[Country Region Code]`。 我们可以看到此列的当前值是“AU”,因此标量谓词 (2) 的求值结果为 `False`。
5. 我们可以使用 **Evaluation Context** 视图逐行浏览迭代过程。 这会更新 **Locals** 视图以及 **Watch** 视图中的值,以反映当前行语境中的值。
diff --git a/localizedContent/zh/content/features/dax-editor.md b/localizedContent/zh/content/features/dax-editor.md
index 2f7f75810..995c5edbe 100644
--- a/localizedContent/zh/content/features/dax-editor.md
+++ b/localizedContent/zh/content/features/dax-editor.md
@@ -21,7 +21,7 @@ applies_to:
**DAX编辑器**是 Tabular Editor 3 的核心功能。
-它提供三种不同的_模式_:
+它提供三种不同的模式:
- **表达式编辑器** 用于在 TOM Explorer 中对对象上的单个 DAX 表达式进行快速修改。
- **DAX 查询**(连接功能)用于编写 DAX 查询,从已连接的 Analysis Services / Power BI 实例中获取数据。
diff --git a/localizedContent/zh/content/features/pivot-grid.md b/localizedContent/zh/content/features/pivot-grid.md
index 35382b59a..9ef001afb 100644
--- a/localizedContent/zh/content/features/pivot-grid.md
+++ b/localizedContent/zh/content/features/pivot-grid.md
@@ -2,7 +2,7 @@
uid: pivot-grid
title: Pivot Grid
author: Daniel Otykier
-updated: 2024-05-28
+updated: 2026-05-27
applies_to:
products:
- product: Tabular Editor 2
@@ -39,7 +39,7 @@ applies_to:
> - Pivot Grid 中的**单元格**是行与列交叉处的单个数据点。 每个单元格仅包含一个值。该值是在由 _Row Area_ 和 _Column Area_ 中的值所产生的筛选语境下,并结合对 _Filter Area_ 中各字段应用的任何筛选条件,对特定度量值的 DAX 表达式求值得到的结果。
> [!NOTE]
-> 具有多维模型背景的开发者可能更熟悉 _Dimensions_ 和 _Attributes_ 这两个术语。 在语义模型中,_Dimensions_ 由模型_表_表示,而 _Attributes_ 由模型_列_表示。 语义模型中的 _Hierarchies_ 只是将多列分组在一起的一种方式,例如日历层次结构:Year > Quarter > Month > Day。 在多维模型中,这类层次结构过去称为 _Attribute Hierarchies_ 或 _User-Defined Hierarchies_。
+> 具有多维模型背景的开发者可能更熟悉 _Dimensions_ 和 _Attributes_ 这两个术语。 在语义模型中,_Dimensions_ 由模型表表示,而 _Attributes_ 由模型列表示。 语义模型中的 _Hierarchies_ 只是将多列分组在一起的一种方式,例如日历层次结构:Year > Quarter > Month > Day。 在多维模型中,这类层次结构过去称为 _Attribute Hierarchies_ 或 _User-Defined Hierarchies_。
## 创建 Pivot Grid
@@ -166,4 +166,6 @@ Pivot Grid 还有一些值得了解的功能:
下面列出了 Tabular Editor 3.16.0 中 Pivot Grid 的已知限制与问题,我们正在努力在后续版本中解决:
- 格式规则(例如图标集、数据条等) 在将 Pivot Grid 布局保存为 `.te3pivot` 文件时,这些规则无法被正确保留。
-- 如果你在与保存布局时不同的模型上打开 `.te3pivot` 文件,当前模型中不存在的字段会从布局中移除。 按“保存”(Ctrl+S) 会保存该布局,并将已移除的字段也一并从文件中去除。 我们可能会在未来版本中更改此行为,让 `.te3pivot` 文件在你明确确认之前不会被覆盖。
\ No newline at end of file
+- 如果你在与保存布局时不同的模型上打开 `.te3pivot` 文件,当前模型中不存在的字段会从布局中移除。 按“保存”(Ctrl+S) 会保存该布局,并将已移除的字段也一并从文件中去除。 我们可能会在未来版本中更改此行为,让 `.te3pivot` 文件在你明确确认之前不会被覆盖。
+- 使用 **Group By Columns** 属性的列(包括字段参数列)不能单独添加到行区域或列区域。 这样做会出现错误 _"Column X is part of a composite key, but not all columns of the composite key are included in the expression or its dependent expression"_。 这是 MDX 客户端的普遍限制,在 Excel 数据透视表中使用此类列时也会出现同样的情况。 为绕过此问题,请在添加依赖列之前,先将相关的 Group By Column 添加到 Pivot Grid,然后再添加依赖列。 例如,如果 `[ProductKey]` 被配置为 `[ProductName]` 的 Group By Column,先将 `[ProductKey]` 添加到行区域或列区域,再添加 `[ProductName]`。
+- 对行区域或列区域中的列显式应用升序或降序排序时,无论列的数据类型如何,值都会按字符串的字典序排序。 以长日期格式显示的日期(例如“2024 年 五月 4 日”)和整数会按字典序排序,而不是按时间顺序或数值顺序排序。 这是 MDX 客户端排序方式的限制;连接到该模型的 Excel 数据透视表中也会出现相同的行为。 要按时间顺序或数值顺序排序,请使用列的自然排序(不要显式设置排序),或在模型列上使用 **Sort By Column** 属性,将其指向一个底层值可用于排序的列。
\ No newline at end of file
diff --git a/localizedContent/zh/content/features/te-cli/te-cli-auth.md b/localizedContent/zh/content/features/te-cli/te-cli-auth.md
index 21c75ee28..5fb74e8f4 100644
--- a/localizedContent/zh/content/features/te-cli/te-cli-auth.md
+++ b/localizedContent/zh/content/features/te-cli/te-cli-auth.md
@@ -131,7 +131,7 @@ te connect Finance "Revenue Model" -w ./revenue-model
te connect ./revenue-model -w Finance "Revenue Model"
```
-保存顺序始终是 **先本地,后远程**,因此即使推送到服务器失败,磁盘上的副本也能反映用户的最新更改。 关于 `--workspace-format`、覆盖语义以及清空镜像,请参见 @te-cli-commands#workspace-mode-w--workspace 的 Workspace 模式部分。
+保存顺序始终是 **先本地,后远程**,因此即使推送到服务器失败,磁盘上的副本也能反映用户的最新更改。 有关 `--workspace-format`、覆盖规则以及如何清除镜像,请参见 @te-cli-commands#workspace-mode--w----workspace。
## 连接到不同的云
diff --git a/localizedContent/zh/content/features/te-cli/te-cli-commands.md b/localizedContent/zh/content/features/te-cli/te-cli-commands.md
index 83a196b5f..708f4ecbc 100644
--- a/localizedContent/zh/content/features/te-cli/te-cli-commands.md
+++ b/localizedContent/zh/content/features/te-cli/te-cli-commands.md
@@ -66,7 +66,7 @@ CLI 中的对象定位在所有命令中都采用同一套语法。 以下参考
凡是允许使用 `` 的位置,都接受两种 DAX 形式:
- **`'Table'[Member]`**:等同于 `Table/Member`。 方括号后缀会在存在歧义时优先匹配列和度量值,而不是层次结构/分区。
-- **`[Member]`**:一个_独立_的度量值或列,前面不带表名。 在整个模型中搜索具有该名称的度量值或列。 两者都存在时,优先选择度量值。
+- **`[Member]`**:一个独立的度量值或列,前面不带表名。 在整个模型中搜索具有该名称的度量值或列。 两者都存在时,优先选择度量值。
```bash
te get "'Sales'[Amount]" # Same as te get Sales/Amount
@@ -210,7 +210,7 @@ te set "'Net Sales'[Sales Amount]" -q formatString -i "#,0" --save # DAX form
te set Sales -q isHidden -i true --save
```
-### 添加
+### add
向模型添加对象。 为新对象传入 ``(父级必须已存在;最后一个分段就是新名称),并通过 `-t` / `--type` 指定类型。 关系仍使用其简写语法(`Sales[Key]->Dim[Key]`)。
@@ -453,7 +453,7 @@ te bpa run --path Sales/Measures # Path filter applied to the matched tables
Rules loaded: 41 from 1 file(s) from bpa.rules config + built-in defaults + model annotations
```
-### bpa 规则
+### bpa rules
管理 BPA 规则集——在本地规则文件或模型注释中列出、检查、初始化,以及启用或禁用规则。 内置规则是只读的。要跳过其中某一条而保留其余规则,请使用 `te bpa rules disable`(不要直接编辑内置规则集)。
@@ -578,7 +578,7 @@ te format --lang m --save # Format M
## 执行
-### 查询
+### query
针对已部署的模型执行 DAX 查询。
@@ -596,7 +596,7 @@ te query -q "EVALUATE TOPN(5, 'Sales')" -s my-ws -d my-model
te query --file query.dax --output-format json
```
-### 脚本
+### script
针对语义模型执行一个或多个 C# Script。 CLI 使用与 Tabular Editor 3 Desktop 相同的脚本宿主,因此能在 TE3 中运行的脚本在这里也可原样运行。
@@ -641,7 +641,7 @@ echo "Info(Model.Name);" | te script -e -
>
> 更全面的跨版本脚本说明,见 @csharp-scripts。
-### 宏
+### macro
通过宏 JSON 文件(通常为 `MacroActions.json`)管理和运行宏。 宏文件的 PATH 按以下顺序解析:`--macros ` → 环境变量 `TE_MACROS_PATH` → CLI 配置中的 `macros` → `./MacroActions.json`。
@@ -657,7 +657,7 @@ echo "Info(Model.Name);" | te script -e -
| `sort` | 排序并重新分配 ID。 |
| 宏:[`init`](#macro-init) | 在解析得到的路径处创建一个空的宏文件。 |
-#### 宏 init
+#### macro init
在配置的路径下创建一个空的宏文件(`{\"Actions\":[]}`)。 当解析后的宏文件尚不存在时,只需运行一次该命令。
@@ -672,7 +672,7 @@ te macro init --macros ./project-macros.json
te macro init --force
```
-#### 宏 run
+#### macro run
运行宏。 通过 `dataTable.Output()` 输出表格的宏会在终端中显示格式化输出,因此 DAX 风格的查询宏在 `te macro run` 中的行为与在 TE3 中相同。
@@ -721,7 +721,7 @@ te deploy ./model --profile staging --force
> [!IMPORTANT]
> `te deploy` 会在执行前运行 Best Practice Analyzer 作为门控检查。 在交互模式下,会显示摘要和确认提示,且 **默认安全选项为 `n`**。 在 CI 中,传入 `--force` 可跳过该提示。 BPA 门控配置请参见 @te-cli-config。
-### 刷新
+### refresh
在已部署的模型上触发数据刷新。
@@ -848,7 +848,7 @@ te migrate --output-format json # Machine-readable mapping
## Shell
-### 交互式
+### interactive
使用具备模型感知能力的提示词启动引导式 REPL 会话。 参见 @te-cli-interactive。
@@ -860,7 +860,7 @@ te interactive -s MyWorkspace -d MyModel # Start with a remote model
引号和 DAX 风格的引用在会话内外的用法一致——有关 REPL 中支持括号感知的 argv 拆分的详细信息,请参见上文的[对象路径](#object-paths)一节以及 @te-cli-interactive。
-### 补全
+### completion
生成 shell 补全脚本。 参见 @te-cli-install。
diff --git a/localizedContent/zh/content/features/te-cli/te-cli.md b/localizedContent/zh/content/features/te-cli/te-cli.md
index b9fe57894..0f1baa03f 100644
--- a/localizedContent/zh/content/features/te-cli/te-cli.md
+++ b/localizedContent/zh/content/features/te-cli/te-cli.md
@@ -46,18 +46,18 @@ CLI 将 50 多个命令划分为 10 个类别。 每个命令族都对应语义
有关每个命令的语法、选项和示例的完整命令参考,请参阅 @te-cli-commands。 点击表中的任意示例命令,直接跳转到对应的参考条目。
-| 命令族 | 功能 | 示例命令 |
-| ---------------------------------------------------- | ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| [模型 I/O](xref:te-cli-commands#model-io) | 加载、保存、转换和初始化模型 | [`te load`](xref:te-cli-commands#load)、[`te save`](xref:te-cli-commands#save)、[`te init`](xref:te-cli-commands#init) |
-| [模型编辑](xref:te-cli-commands#model-editing) | 获取/设置属性,添加/删除/移动对象 | [`te set`](xref:te-cli-commands#set)、[`te add`](xref:te-cli-commands#add)、[`te rm`](xref:te-cli-commands#rm)、[`te mv`](xref:te-cli-commands#mv) |
-| [检视](xref:te-cli-commands#inspection) | 列出对象、搜索、比较差异、分析依赖关系 | [`te ls`](xref:te-cli-commands#ls)、[`te find`](xref:te-cli-commands#find)、[`te diff`](xref:te-cli-commands#diff)、[`te deps`](xref:te-cli-commands#deps) |
-| [分析与质量](xref:te-cli-commands#analysis-and-quality) | 验证、运行 BPA、格式化 DAX、分析存储 | [`te validate`](xref:te-cli-commands#validate)、[`te bpa run`](xref:te-cli-commands#bpa-run)、[`te format`](xref:te-cli-commands#format)、[`te vertipaq`](xref:te-cli-commands#vertipaq) |
-| [执行](xref:te-cli-commands#execution) | 运行 DAX 查询、C# Script 和宏 | [`te query`](xref:te-cli-commands#query), [`te script`](xref:te-cli-commands#script), [`te 宏`](xref:te-cli-commands#macro) |
-| [部署与刷新](xref:te-cli-commands#deployment-and-refresh) | 部署到 Workspace、触发刷新、执行增量刷新 | [`te deploy`](xref:te-cli-commands#deploy)、[`te refresh`](xref:te-cli-commands#refresh)、[`te incremental-refresh`](xref:te-cli-commands#incremental-refresh) |
-| [测试](xref:te-cli-commands#testing) | 断言测试、快照、A/B 比较 | [`te test run`](xref:te-cli-commands#test-run) |
-| [连接和身份验证](xref:te-cli-commands#connection-and-auth) | 连接到 Workspace,管理身份验证和配置文件 | [`te connect`](xref:te-cli-commands#connect), [`te auth`](xref:te-cli-commands#auth-login--status--logout), [`te profile`](xref:te-cli-commands#profile-list--show--set--remove) |
-| [配置](xref:te-cli-commands#configuration) | 设置与许可 | [`te config`](xref:te-cli-commands#config-show--paths--init--set) |
-| [Shell](xref:te-cli-commands#shell) | 交互模式、Shell 自动补全 | [`te interactive`](xref:te-cli-commands#interactive), [`te completion`](xref:te-cli-commands#completion) |
+| 命令族 | 功能 | 示例命令 |
+| ------------------------------------------------------------- | ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| [模型 I/O](xref:te-cli-commands#model-io) | 加载、保存、转换和初始化模型 | [`te load`](xref:te-cli-commands#load)、[`te save`](xref:te-cli-commands#save)、[`te init`](xref:te-cli-commands#init) |
+| [模型编辑](xref:te-cli-commands#model-editing) | 获取/设置属性,添加/删除/移动对象 | [`te set`](xref:te-cli-commands#set)、[`te add`](xref:te-cli-commands#add)、[`te rm`](xref:te-cli-commands#rm)、[`te mv`](xref:te-cli-commands#mv) |
+| [检视](xref:te-cli-commands#inspection) | 列出对象、搜索、比较差异、分析依赖关系 | [`te ls`](xref:te-cli-commands#ls)、[`te find`](xref:te-cli-commands#find)、[`te diff`](xref:te-cli-commands#diff)、[`te deps`](xref:te-cli-commands#deps) |
+| [分析与质量](xref:te-cli-commands#analysis-and-quality) | 验证、运行 BPA、格式化 DAX、分析存储 | [`te validate`](xref:te-cli-commands#validate)、[`te bpa run`](xref:te-cli-commands#bpa-run)、[`te format`](xref:te-cli-commands#format)、[`te vertipaq`](xref:te-cli-commands#vertipaq) |
+| [执行](xref:te-cli-commands#execution) | 运行 DAX 查询、C# Script 和宏 | [`te query`](xref:te-cli-commands#query), [`te script`](xref:te-cli-commands#script), [`te 宏`](xref:te-cli-commands#macro) |
+| [部署与刷新](xref:te-cli-commands#deployment-and-refresh) | 部署到 Workspace、触发刷新、执行增量刷新 | [`te deploy`](xref:te-cli-commands#deploy)、[`te refresh`](xref:te-cli-commands#refresh)、[`te incremental-refresh`](xref:te-cli-commands#incremental-refresh) |
+| [测试](xref:te-cli-commands#testing) | 断言测试、快照、A/B 比较 | [`te test run`](xref:te-cli-commands#test-run) |
+| [连接与身份验证](xref:te-cli-commands#connection-and-authentication) | 连接到 Workspace,管理身份验证和配置文件 | [`te connect`](xref:te-cli-commands#connect), [`te auth`](xref:te-cli-commands#auth-login--status--logout), [`te profile`](xref:te-cli-commands#profile-list--show--set--remove) |
+| [配置](xref:te-cli-commands#configuration) | 设置与许可 | [`te config`](xref:te-cli-commands#config-show--paths--init--set) |
+| [Shell](xref:te-cli-commands#shell) | 交互模式、Shell 自动补全 | [`te interactive`](xref:te-cli-commands#interactive), [`te completion`](xref:te-cli-commands#completion) |
## 开始使用
diff --git a/localizedContent/zh/content/getting-started/desktop-limitations.md b/localizedContent/zh/content/getting-started/desktop-limitations.md
index a1e4f5384..5ee69162c 100644
--- a/localizedContent/zh/content/getting-started/desktop-limitations.md
+++ b/localizedContent/zh/content/getting-started/desktop-limitations.md
@@ -91,7 +91,7 @@ applies_to:
1 - 使用外部工具连接到 AS 实例时,支持更改列的数据类型,但不支持重命名列。
-Power BI Desktop 的_项目文件_支持更广泛的写入操作。 通过将 Tabular Editor 用作外部工具时不支持的那些对象和操作,可能可以通过编辑 Power BI Desktop 项目文件来实现。 请参阅 Microsoft 文档了解更多信息:[Power BI Desktop projects - Model authoring](https://learn.microsoft.com/en-us/power-bi/developer/projects/projects-overview#model-authoring)。
+Power BI Desktop 的项目文件支持更广泛的写入操作。 通过将 Tabular Editor 用作外部工具时不支持的那些对象和操作,可能可以通过编辑 Power BI Desktop 项目文件来实现。 请参阅 Microsoft 文档了解更多信息:[Power BI Desktop projects - Model authoring](https://learn.microsoft.com/en-us/power-bi/developer/projects/projects-overview#model-authoring)。
### [2023 年六月之前](#tab/prejune2023)
diff --git a/localizedContent/zh/content/getting-started/editions.md b/localizedContent/zh/content/getting-started/editions.md
index baf5bff80..dab5bee0e 100644
--- a/localizedContent/zh/content/getting-started/editions.md
+++ b/localizedContent/zh/content/getting-started/editions.md
@@ -2,7 +2,7 @@
uid: editions
title: 比较版本
author: Søren Toft Joensen
-updated: 2025-02-07
+updated: 2026-06-09
applies_to:
products:
- product: Tabular Editor 2
@@ -88,9 +88,6 @@ Tabular Editor 3 各版本之间的主要区别在于它们支持哪些类型的
除了上面列出的内容之外,Tabular Editor 3 各版本之间没有其他功能差异。
-> [!NOTE]
-> 请注意,Power BI Desktop [目前不支持所有 Data model 建模操作](xref:desktop-limitations)。 因此,Tabular Editor 3 默认会阻止 Power BI Desktop 不支持的操作。 不过,你可以在“工具 > 偏好 > Power BI”中解除该限制。
-
> [!IMPORTANT]
> 只有当 Power BI Report(.pbix、.pbip 或 .pbit)文件包含 Data model(Import、DirectQuery 或 Composite)时,Tabular Editor 才能在 Power BI Desktop 中作为外部工具使用。 **不支持使用 Live connection 的 Report**,因为这些 Report 不包含 Data model。 [更多信息](xref:desktop-limitations)。
@@ -139,3 +136,12 @@ Tabular Editor 3 各版本之间的主要区别在于它们支持哪些类型的
```
如果您需要超过 100 个席位,请 联系销售 获取报价。
+
+## 命令行与 CI/CD 授权许可
+
+Tabular Editor 3 是一款桌面应用程序。 它本身没有命令行界面。 对于自动化部署和 CI/CD 流水线,可使用 `TabularEditor.exe`([Tabular Editor 2 命令行](xref:command-line-options))或跨平台的 [Tabular Editor CLI](xref:te-cli)(`te`)。 两者都独立于 Tabular Editor 3 桌面应用程序。
+
+> **运行 CI/CD 管道需要许可证吗?**
+> 不需要。 `TabularEditor.exe`(TE2 CLI)和 Tabular Editor CLI(`te`,处于预览阶段)不需要 Tabular Editor 3 许可证。 只有使用 Tabular Editor 3 桌面应用程序的开发人员才需要许可证。
+
+Tabular Editor CLI 在正式发布(GA)时将需要许可证;定价仍在最终确定中,并会在 GA 之前公布。
\ No newline at end of file
diff --git a/localizedContent/zh/content/getting-started/general-introduction.md b/localizedContent/zh/content/getting-started/general-introduction.md
index 3f1769d56..19b02bf4e 100644
--- a/localizedContent/zh/content/getting-started/general-introduction.md
+++ b/localizedContent/zh/content/getting-started/general-introduction.md
@@ -2,7 +2,7 @@
uid: general-introduction
title: 总体介绍和体系结构
author: Daniel Otykier
-updated: 2021-09-30
+updated: 2026-06-11
applies_to:
products:
- product: Tabular Editor 2
@@ -39,10 +39,10 @@ Tabular Editor 可从以下来源加载模型元数据:
- [3] .pbit 文件(Power BI 模板)
- [4] SQL Server Analysis Services(表格模式)上的数据库
- [5] Azure Analysis Services 上的数据库
-- [6] Power BI Premium\* Workspace 中的 Dataset
+- [6] 已分配到容量的 Power BI Workspace 中的语义模型\*
- [7] Import/DirectQuery 模式下的 Power BI Desktop Report
-\*要启用 [XMLA 端点](https://docs.microsoft.com/en-us/power-bi/admin/service-premium-connect-tools),必须拥有 Power BI Premium/Embedded 容量或 Power BI Premium-Per-User。 任何第三方工具要连接到 Power BI Dataset,都必须启用 XMLA 端点。
+\*第三方工具通过 [XMLA endpoint](https://learn.microsoft.com/en-us/fabric/enterprise/powerbi/service-premium-connect-tools) 连接到 Power BI 语义模型。 这需要 Microsoft Fabric capacity(F SKU)、Power BI Embedded 容量(A 或 EM SKU)、旧版 Premium 容量(P SKU)或 Premium Per User 许可证。 自 2025 年六月起,所有容量 SKU 默认已启用 XMLA 读取/写入;如果无法连接,请参阅 @xmla-as-connectivity。
> [!IMPORTANT]
> Tabular Editor 2.x 支持以上 1-7 的所有来源。 Tabular Editor 3 仅支持其中部分来源,具体取决于你使用的是哪种 [Tabular Editor 3 版本](xref:editions)。
diff --git a/localizedContent/zh/content/getting-started/getting-started.md b/localizedContent/zh/content/getting-started/getting-started.md
index 114a4225d..60add9afc 100644
--- a/localizedContent/zh/content/getting-started/getting-started.md
+++ b/localizedContent/zh/content/getting-started/getting-started.md
@@ -2,7 +2,7 @@
uid: getting-started
title: 安装与激活
author: Morten Lønskov
-updated: 2026-03-27
+updated: 2026-05-19
applies_to:
products:
- product: Tabular Editor 2
@@ -23,14 +23,18 @@ applies_to:
从我们的[下载页面](xref:downloads)下载最新版本的 Tabular Editor 3。
-## 先决条件
+我们建议在大多数情况下使用 64 位 MSI 安装程序。 下载完成后,双击 MSI 文件,并按安装向导的各步骤完成安装。
+
+
+
+### 先决条件
无。
-## 系统要求
+### 系统要求
- **操作系统:** Windows 10、Windows 11、Windows Server 2016、Windows Server 2019 或更高版本
-- **体系结构:** x64、ARM64(自 3.23.0 起提供原生支持)
+- **架构:** x64、ARM64(自 3.23.0 起原生支持)
- **.NET 运行时:** [.NET Desktop Runtime 8.0](https://dotnet.microsoft.com/en-us/download/dotnet/8.0)
有关各运行时当前支持的 Windows 版本,请参阅 .NET 支持的 OS 策略。
@@ -45,120 +49,90 @@ Tabular Editor 3 是商业软件。 访问我们的[主页](https://tabularedito
### 使用现有许可证密钥进行激活
-购买 Tabular Editor 3 许可证后,您将收到一封电子邮件,其中包含一串 25 个字符的代码,也就是您的许可证密钥。 按提示输入许可证密钥,然后点击“下一步 >”以激活产品。
+购买 Tabular Editor 3 的许可证后,你会收到一封电子邮件,其中包含一段 25 个字符的字符串,这就是你的许可证密钥。 出现提示时,输入许可证密钥,然后点击 **下一步 >** 以激活产品。

> [!NOTE]
-> 对于多用户许可证类型,除了许可证密钥之外,您还需要输入电子邮件地址。 如果您输入的许可证密钥对应多用户许可证,Tabular Editor 3 会提示您输入电子邮件地址。
+> 对于多用户许可证类型,除了许可证密钥之外,你还需要输入电子邮件地址。 如果该许可证密钥对应多用户许可证,Tabular Editor 3 会提示你这样做。
+
+Tabular Editor 3 的安装是按 **用户** 激活的。 如果多个用户共享同一台计算机,则每个用户都需要在各自的 Windows 用户配置文件中激活该产品。
+
+### Windows 帐户与 Power BI / Entra 帐户
+
+安装 Tabular Editor 3 的 Windows 帐户与用于对 Power BI / Fabric Workspace 进行身份验证的 Microsoft Entra 帐户彼此独立。
+
+- **许可证激活** 信息存储在激活该产品的 Windows 用户的注册表 `HKEY_CURRENT_USER` 下。 许可证不绑定到任何云身份。
+- **Workspace 身份验证** 会在连接时于 **从数据库加载语义模型** 对话框中进行。 你需要使用对该 Workspace 拥有权限的 Microsoft Entra 帐户登录。
-请注意,Tabular Editor 3 的安装是**按用户**激活的。 换句话说,如果多个用户共用同一台计算机,则每个用户都必须在各自的 Windows 用户配置文件中激活产品。
+即使你使用单独的 Entra 帐户(例如未启用电子邮件的管理员帐户)来管理 Power BI Workspace,也无需因此在其他 Windows 帐户下通过 **以其他用户身份运行** 启动 Tabular Editor 3。 在你平时使用的 Windows 帐户下启动 Tabular Editor 3,在该帐户下用许可证密钥激活它,并在连接对话框中输入你的管理员 Entra 凭据。
+
+有关 Tabular Editor 连接到 XMLA endpoint 时如何进行身份验证,以及如何选择正确的身份验证模式(例如,当 Windows 登录与 Power BI 帐户不一致时使用 **Microsoft Entra MFA**),参见 @xmla-as-connectivity。
### 申请试用许可证
-如果你之前未使用过 Tabular Editor 3,即可获得 30 天免费试用。 选择此选项时,系统会提示您输入电子邮件地址。 我们会使用该电子邮件地址来验证您是否已经激活过 Tabular Editor 3。
+如果你之前未使用过 Tabular Editor 3,即可获得 30 天免费试用。 选择这个选项后,系统会提示你输入电子邮件地址。 我们会使用这个电子邮件地址来验证你是否已有 Tabular Editor 3 的激活记录。
> [!NOTE]
> 在申请 30 天试用许可证时,Tabular Editor ApS 不会发送未经请求的电子邮件,也不会将你的电子邮件地址提供给第三方。 查看我们的 @privacy-policy 以了解更多信息。
### 更改许可证密钥
-Tabular Editor 3 激活后,您可以在“帮助”菜单中选择“关于 Tabular Editor”来更改许可证密钥。
+激活 Tabular Editor 3 后,可在“帮助”菜单中选择 **关于 Tabular Editor** 来更改许可证密钥。

-在对话框中,选择“更改许可证密钥”。 请注意,只有在 Tabular Editor 中未加载任何模型时,此选项才可用。 如果您已加载模型,可以通过“文件 > 关闭模型”将其关闭。 单击“更改许可证密钥”后,Tabular Editor 会询问您是否要删除当前许可证:
+在对话框中,选择 **更改许可证密钥**。 只有在 Tabular Editor 中未加载任何模型时,此选项才可用。 如果模型已打开,请通过 **文件 > 关闭模型** 将其关闭。 点击 **更改许可证密钥** 后,Tabular Editor 会提示你是否要移除当前许可证:

-确认后,将删除当前许可证,并且您必须重新输入许可证密钥才能使用产品。
+如果选择确定,当前许可证将被移除,你需要重新输入许可证密钥才能使用该产品。
> [!IMPORTANT]
-> 按上述方式删除许可证密钥后,在该计算机上的当前用户重新输入新的许可证密钥之前,将无法使用该产品。
-
-
-
-#### 注册表详细信息
-
-Tabular Editor 3 使用 Windows 注册表来存储激活详细信息。
-
-要查看分配给该计算机的当前许可证密钥,请在 Windows 命令提示符(开始 > 运行 > cmd.exe)中运行以下命令:
+> 一旦移除许可证密钥,在输入新的许可证密钥之前,当前用户将无法在该计算机上使用该产品。
-```cmd
-REG QUERY "HKCU\Software\Kapacity\Tabular Editor 3" /v LicenseKey
-```
+## 安装后配置
-你也可以使用 `regedit.exe`(Windows 注册表编辑器),前往 `HKEY_CURRENT_USER\SOFTWARE\Kapacity\Tabular Editor 3`,查看并修改 **LicenseKey** 和 **User** 的值。
+Tabular Editor 3 提供了许多配置选项。 默认设置已足以满足大多数开发场景,但仍建议查看以下选项。
-系统管理员也可以在每个用户的 `SOFTWARE\Kapacity\Tabular Editor 3` 注册表键下指定 **LicenseKey** 和 **User** 的值,提前为某台计算机分配 Tabular Editor 3 许可证。
+### 启动时检查更新
-
+默认情况下,每次启动 Tabular Editor 3 时,工具都会联机检查是否有新版本可用。 你可以在 **工具 > 偏好设置 > 更新和反馈** 中控制此更新检查的执行方式。
-### 通过注册表更改许可证密钥
-
-如果出于任何原因,你无法按上述流程更改许可证密钥,也可以随时通过注册表编辑器重置分配给 Tabular Editor 3 的许可证:
-
-1. 关闭所有 Tabular Editor 3 实例。
-2. 在 Windows 中打开注册表编辑器(开始 > 运行 > regedit.msc)。
-3. 定位到 `HKEY_CURRENT_USER\SOFTWARE\Kapacity\Tabular Editor 3`(见上方截图)。
-4. 删除该项下的所有值。
-5. 关闭注册表编辑器,然后重新启动 Tabular Editor 3。
-
-或者,在 Windows 命令提示符中运行以下命令(开始 > 运行 > cmd.exe):
-
-```cmd
-REG DELETE "HKCU\Software\Kapacity\Tabular Editor 3" /va
-```
-
-下次启动 Tabular Editor 3 时,系统会提示你输入许可证密钥,就像该工具首次安装到此计算机上时一样。
-
-### 静默安装与许可证预配置
-
-你可以以静默方式部署 Tabular Editor,并通过 Windows 注册表预先配置许可证。
-
-1. **静默安装**(无 UI,不重启):
-
- ```powershell
- msiexec /i TabularEditor..x64.Net8.msi /qn /norestart /l*v C:\Temp\TE3_install.log
- ```
-
- 要包含 **AI Assistant** 功能,请在 `ADDLOCAL` 属性中指定它。 AI Assistant 默认不安装。
+> [!NOTE]
+> 请始终使用最新版本的 Tabular Editor 3。 在提交 Bug Report 前,请确保你使用的是最新版本;我们的支持团队会以此为前提。
- ```powershell
- msiexec /i TabularEditor..x64.Net8.msi /qn /norestart ADDLOCAL=MainFeature,AIAssistant /l*v C:\Temp\TE3_install.log
- ```
+### 选择退出遥测数据收集
- | MSI 功能 | 说明 | 默认安装 |
- | ------------- | ----------------------------------- | ----- |
- | `MainFeature` | Tabular Editor 3 的核心应用程序 | 是(必需) |
- | `AIAssistant` | 适用于 Tabular Editor 3 的 AI Assistant | 否 |
+Tabular Editor 3 会收集匿名使用数据和遥测信息,用来帮助我们改进产品。 你可以随时启动 Tabular Editor 3,并前往 **工具 > 偏好设置 > 更新和反馈** 选择退出。 要退出,请取消选中 **通过收集匿名使用数据帮助改进 Tabular Editor** 复选框。
- > [!NOTE]> 使用 `ADDLOCAL` 时,除任何可选功能外,还必须包含 `MainFeature`。 只指定 `AIAssistant` 而不包含 `MainFeature` 会导致安装不完整。
+
-你也可以使用 `/package` 替代 `/i`。 将 `` 替换为实际的版本字符串。 如适用,请使用 ARM64 MSI。
+### 代理设置
-有关可用的 MSI 命令行选项的详细信息,请参阅 Microsoft 官方文档:
-[Microsoft Standard Installer command-line options - Win32 apps | Microsoft Learn](https://learn.microsoft.com/windows/win32/msi/command-line-options)
+如果你所在的网络互联网连接受限,请在 **工具 > 偏好设置 > 代理设置** 中指定代理服务器的地址、用户名和密码。 要让 Tabular Editor 3 使用任何依赖出站 Web 请求的功能,必须先完成此设置。 具体包括:
-2. **在应用程序首次启动之前**,**将许可证写入注册表**:
+- 更新检查
+- 产品激活
+- DAX 格式设置
+- 从外部 URL 下载最佳实践规则
- ```bat
- REM Per-user license key (HKCU)
- REG ADD "HKCU\Software\Kapacity\Tabular Editor 3" /v LicenseKey /t REG_SZ /d YOUR-25-CHAR-KEY /f
- ```
+> [!TIP]
+> 代理设置有时会干扰身份验证对话框或其他外部提示。 尝试在 **System** 和 **None** 之间切换代理设置,然后关闭并重新打开 Tabular Editor 3 进行验证。
- 如果你使用的是 **企业版** 许可证密钥,还需要设置获授权用户的电子邮件:
+### 其他偏好设置
- ```bat
- REG ADD "HKCU\Software\Kapacity\Tabular Editor 3" /v User /t REG_SZ /d user@example.com /f
- ```
+Tabular Editor 3 还提供许多其他设置,用于控制应用程序行为。 要了解更多信息,请参阅 @preferences。
-**备注**
+## 高级场景
-- 安装程序**不**接受许可证参数;许可证通过上述注册表项进行处理。
-- 注册表项存储在 **HKCU** 下(每用户)。 请确保这些命令在目标用户的上下文中运行(例如通过登录脚本等方式),以便将值写入正确的用户配置文件。
-- 有关更多键和值,请参阅[注册表详细信息](#registry-details)。
+有关手动(无网络)激活、基于注册表的许可证管理、静默部署以及 Enterprise 席位管理,请参阅 @installation-activation-basic。
## 后续步骤
- [Tabular Editor 3 用户界面概览](xref:user-interface)
+- @xmla-as-connectivity
+- @migrate-from-vs
+- @migrate-from-desktop
+- @migrate-from-te2
+- @installation-activation-basic
diff --git a/localizedContent/zh/content/getting-started/index.md b/localizedContent/zh/content/getting-started/index.md
index 05149ee12..04f6cc1ac 100644
--- a/localizedContent/zh/content/getting-started/index.md
+++ b/localizedContent/zh/content/getting-started/index.md
@@ -1,7 +1,8 @@
---
uid: onboarding-te3
title: 欢迎
-author: Daniel Otykier
+author: Morten Lønskov
+updated: 2026-05-19
---
# 欢迎
@@ -12,57 +13,70 @@ author: Daniel Otykier
**感谢你选择 Tabular Editor 3!**
-为了帮助你充分发挥该工具的价值,我们已将所有入门资料汇总在本“快速开始”部分中,希望你会喜欢。 我们建议所有 Tabular Editor 3 的新用户通读本指南,跳过你已经熟悉的内容。
+为了帮助你充分利用这款工具,我们已将所有上手资料汇总到本入门部分。 我们建议所有 Tabular Editor 3 新用户通读本指南,并跳过你已经熟悉的主题。
> [!NOTE]
> 本指南中的部分文章会引用 Tabular Editor 2,尤其是其命令行界面 (CLI),用于自动化部署和测试。 我们计划在稍后发布一款可与 Tabular Editor 3 配套使用的独立 CLI 应用程序。
-由于本培训资料侧重于 Tabular Editor 产品,我们假设你已对表格数据建模有基本了解(例如使用 Power BI Desktop、Visual Studio 或 Tabular Editor 2.x 进行建模)。 如果你刚开始接触表格数据建模,我们强烈建议你参考一些第三方提供的培训资料和课程,例如 [sqlbi.com](https://sqlbi.com)。
+本培训资料侧重于 Tabular Editor 产品,因此我们假设你已经具备表格数据建模的基本知识(例如使用 Power BI Desktop、Visual Studio 或 Tabular Editor 2.x)。 如果你刚接触表格数据建模,我们推荐第三方(如 [sqlbi.com](https://sqlbi.com))提供的培训资料和课程。
**本指南涵盖的主题:**
-- @general-introduction
- - @installation-activation-basic
- - @migrate-from-vs
- - @migrate-from-desktop
- - @migrate-from-te2
+**Tabular Editor 3 入门**
+- @general-introduction
- @getting-started
- - @editions
- - @training-telearn
+- @installation-activation-basic
+- @migrate-from-vs
+- @migrate-from-desktop
+- @migrate-from-te2
+- @azure-marketplace
+- @editions
+- @training-telearn
+
+**Tabular Editor 2**
- @getting-started-te2
+**Power BI Desktop 与 Tabular Editor**
+
- @desktop-integration
- - @desktop-limitations
-
-- @user-interface
- - @bpa-view
- - @数据刷新视图
- - @查找和替换
- - @宏视图
- - @消息视图
- - @属性视图
- - @tom-explorer-view
- - @图表视图
+- @desktop-limitations
+
+**用户界面**
+
+- @user-interface-reference
+- @bpa-view-reference
+- @data-refresh-view-reference
+- @find-replace-reference
+- @macros-view-reference
+- @messages-view-reference
+- @properties-view-reference
+- @tom-explorer-view-reference
+- @diagram-view-reference
+
+**并行开发**
- @并行开发
- - @在工作区模式下优化工作流程
+- @在工作区模式下优化工作流程
+
+**使用 Tabular Editor 更快构建模型**
- @boosting-productivity-te3
- - @导入表并进行数据建模
- - @刷新、预览与查询
- - @creating-and-testing-dax
- - @dax-script-introduction
- - @bpa
- - @C# 脚本和宏
- - @personalizing-te3
+- @导入表并进行数据建模
+- @刷新、预览与查询
+- @creating-and-testing-dax
+- @dax-script-introduction
+- @bpa
+- @C# 脚本和宏
+- @personalizing-te3
**更多资源:**
-- [TE3 参考文档](xref:getting-started)
+- [Tabular Editor 3 入门](xref:getting-started)
+- [高级安装和激活](xref:installation-activation-basic)
- [下载 Tabular Editor](https://tabulareditor.com/download)
- [Tabular Editor Learn 学习中心](https://tabulareditor.com/learn)
- [专属支持(仅限企业版客户)](mailto:support@tabulareditor.com)
- [社区支持](https://github.com/TabularEditor/TabularEditor3/issues)
-- [社区讨论](https://github.com/TabularEditor/TabularEditor3/discussions)
\ No newline at end of file
+- [社区讨论](https://github.com/TabularEditor/TabularEditor3/discussions)
diff --git a/localizedContent/zh/content/getting-started/installation.md b/localizedContent/zh/content/getting-started/installation.md
index 8b2738d70..0e76d242d 100644
--- a/localizedContent/zh/content/getting-started/installation.md
+++ b/localizedContent/zh/content/getting-started/installation.md
@@ -1,8 +1,8 @@
---
uid: installation-activation-basic
-title: 安装、激活与基础配置
-author: Daniel Otykier
-updated: 2021-09-30
+title: 高级安装与激活
+author: Morten Lønskov
+updated: 2026-05-19
applies_to:
products:
- product: Tabular Editor 2
@@ -17,97 +17,119 @@ applies_to:
full: true
---
-## 安装
+## 概述
-要安装 Tabular Editor 3,请从我们的 [下载页面](xref:downloads) 下载最新版本。
+本页介绍 Tabular Editor 3 的高级安装和激活场景:手动(离线)激活、基于注册表的许可证管理、静默部署,以及企业版席位管理。
-建议下载 64 位 MSI 安装程序,它适用于大多数场景。 下载完成后,双击 MSI 文件,然后按照安装向导的提示完成安装。
+如需了解标准激活流程,请参阅 @getting-started。
-
+
+
+## 手动激活(无网络连接)
+
+如果您无法访问互联网(例如受代理限制),Tabular Editor 会提示您进行手动激活。
+
+
+
+输入邮箱后,会弹出一个对话框,其中包含指向激活密钥的链接。 复制该 URL,并在可连接到互联网的 Web 浏览器中打开。
+
+该 URL 会返回一个 JSON 对象:
-## 激活此安装
+
-当你首次在新机器上启动 Tabular Editor 3 时,系统会提示你激活产品。
+复制完整的 JSON 对象,并将其粘贴到对话框中。 完成后,手动激活对话框应如下方截图所示。
-
+
-### 使用现有许可证密钥激活
+随后将验证您的 Tabular Editor 3 许可证。
-购买 Tabular Editor 3 的许可证后,你会收到一封电子邮件,其中包含一段 25 个字符的字符串,这就是你的许可证密钥。 出现提示时,输入许可证密钥并点击“下一步 >”以激活产品。
+## 更换企业版席位
-
+要更换企业版席位,必须先通过 [Tabular Editor 自助服务门户](https://tabulareditor.com/my-account/) 将现有用户从该席位取消注册。 要管理许可证席位,订阅所有者或许可证管理员需要创建一个账户,或使用现有账户登录。
> [!NOTE]
-> 对于多用户许可证类型,除了许可证密钥之外,你还需要输入电子邮件地址。 如果你输入的许可证密钥对应多用户许可证,Tabular Editor 3 会提示你这样做。
+> 仅企业版支持更换用户。
-
+
-#### 手动激活(无网络)
+## 注册表详细信息
-如果你无法访问互联网,例如由于代理,Tabular Editor 会提示你进行手动激活。
+Tabular Editor 3 使用 Windows 注册表存储激活信息。
-
+在 Windows 命令提示符(开始 > 运行 > cmd.exe)中运行以下命令,即可查看当前分配给这台计算机的许可证密钥:
-输入邮箱后,会弹出一个对话框,其中包含指向激活密钥的链接。
-复制该 URL,并在已连接互联网的网页浏览器中打开。
+```cmd
+REG QUERY "HKCU\Software\Kapacity\Tabular Editor 3" /v LicenseKey
+```
-该 URL 会返回一个 JSON 对象:
+您也可以使用 `regedit.exe`(Windows 注册表编辑器),前往 `HKEY_CURRENT_USER\SOFTWARE\Kapacity\Tabular Editor 3`,查看并修改 **LicenseKey** 和 **User** 值。
-
+
-复制返回的完整 JSON 对象,并将其粘贴到对话框中。
-你的手动激活对话框最后会像下面这样。
+系统管理员还可以通过在每个用户的 `SOFTWARE\Kapacity\Tabular Editor 3` 注册表项下设置 **LicenseKey** 和 **User** 值,提前为计算机分配 Tabular Editor 3 许可证。 完整部署过程见 [静默安装和许可证预配](#silent-installation-and-license-pre-provisioning)。
-
+## 在注册表中更改许可证密钥
-这样即可验证你的 Tabular Editor 3 许可证。
+如果由于某种原因,你无法在 **关于 Tabular Editor** 对话框中使用标准的 **更改许可证密钥** 选项,请通过注册表编辑器重置许可证:
-### 更改许可证密钥
+1. 关闭所有正在运行的 Tabular Editor 3 实例。
+2. 在 Windows 中打开注册表编辑器(开始 > 运行 > regedit.msc)。
+3. 定位到 `HKEY_CURRENT_USER\SOFTWARE\Kapacity\Tabular Editor 3`(见上方屏幕截图)。
+4. 删除该项下的所有值。
+5. 关闭注册表编辑器,然后重新启动 Tabular Editor 3。
-Tabular Editor 3 激活完成后,你可以在“帮助”菜单中选择“关于 Tabular Editor”,以更改许可证密钥。
+或者,在 Windows 命令提示符中运行以下命令(开始 > 运行 > cmd.exe):
-
+```cmd
+REG DELETE "HKCU\Software\Kapacity\Tabular Editor 3" /va
+```
-在该对话框中,选择“更改许可证密钥”。 注意:只有在 Tabular Editor 中没有加载任何模型时,这个选项才可用。 如果你已经加载了模型,可以通过“文件 > 关闭模型”将其关闭。
+下次启动 Tabular Editor 3 时,系统会像该工具首次安装在这台电脑上时一样提示你输入许可证密钥。
-有关管理许可证密钥的更多详细信息,请参阅[注册表详细信息](xref:getting-started#registry-details)。
+## 静默安装与许可证预配置
-## 基本配置
+你可以以静默方式部署 Tabular Editor,并通过 Windows 注册表预先配置许可证。
-Tabular Editor 3 激活后,我们建议花几分钟熟悉一下[基本界面](xref:user-interface)。 此外,Tabular Editor 3 还提供了许多不同的配置选项。 默认设置足够应对大多数开发场景,但有几个重要的配置选项你最好都检查一下。
+1. **静默安装**(无界面、无需重启):
-### 启动时检查更新
+ ```powershell
+ msiexec /i TabularEditor..x64.Net8.msi /qn /norestart /l*v C:\Temp\TE3_install.log
+ ```
-默认情况下,每次启动 Tabular Editor 3 时,工具都会联机检查是否有新版本可用。 你可以在 **工具 > 偏好 > 更新和反馈** 中设置更新检查的方式。
+ 要包含 **AI Assistant** 功能,请在 `ADDLOCAL` 属性中指定它。 AI Assistant 默认不会安装。
-> [!NOTE]
-> 我们建议始终使用最新版本的 Tabular Editor 3。 在提交 bug Report 时,我们的支持团队通常会默认你使用的是最新版本。
+ ```powershell
+ msiexec /i TabularEditor..x64.Net8.msi /qn /norestart ADDLOCAL=MainFeature,AIAssistant /l*v C:\Temp\TE3_install.log
+ ```
-### 选择不参与遥测数据收集
+ | MSI 功能 | 说明 | 默认安装 |
+ | ------------- | ---------------------------------- | ----- |
+ | `MainFeature` | Tabular Editor 3 核心应用程序 | 是(必需) |
+ | `AIAssistant` | 用于 Tabular Editor 3 的 AI Assistant | 否 |
-Tabular Editor 3 会收集匿名使用数据和遥测信息,用来帮助我们改进产品。 你可以随时退出:启动 Tabular Editor 3,依次进入 **工具 > 偏好 > 更新和反馈**。 取消选中 **通过收集匿名使用数据帮助改进 Tabular Editor** 复选框即可选择退出。
+ > [!NOTE]> 使用 `ADDLOCAL` 时,除任何可选功能外,还必须包含 `MainFeature`。 如果仅指定 `AIAssistant` 而不包含 `MainFeature`,将导致安装不完整。
-
+你也可以使用 `/package` 替代 `/i`。 将 `` 替换为实际的版本字符串。 如适用,请使用 ARM64 版 MSI。
-### 代理设置
+可用的 MSI 命令行选项详见 Microsoft 官方文档:
+[Microsoft Standard Installer command-line options - Win32 apps | Microsoft Learn](https://learn.microsoft.com/windows/win32/msi/command-line-options)
-如果你的网络连接受限,可以在 **工具 > 偏好 > 代理设置** 下指定代理服务器的地址、用户名和密码。 在 Tabular Editor 3 使用任何依赖出站 Web 请求的功能之前,必须先完成此设置。 具体包括:
+2. 在应用程序**首次启动前**,**将许可证写入注册表**:
-- 检查更新
-- 产品激活
-- DAX 格式化
-- 从外部 URL 下载最佳实践规则
+ ```bat
+ REM 每用户许可证密钥 (HKCU)
+ REG ADD "HKCU\Software\Kapacity\Tabular Editor 3" /v LicenseKey /t REG_SZ /d YOUR-25-CHAR-KEY /f
+ ```
-> [!TIP]
-> 代理设置有时会干扰身份验证对话框或其他外部提示。
-> 尝试在“System”和“None”之间切换代理设置,关闭并重新打开 Tabular Editor 3 进行验证。
+ 如果使用的是**企业版**许可证密钥,还需要设置授权用户的电子邮件地址:
-### 其他偏好设置
+ ```bat
+ REG ADD "HKCU\Software\Kapacity\Tabular Editor 3" /v User /t REG_SZ /d user@example.com /f
+ ```
-除上述设置外,Tabular Editor 3 还提供许多其他设置,用于控制应用程序的各种行为,让你可以更贴合自身需求地定制该工具。 要了解这些其他偏好设置的更多信息,请参阅 @preferences。
+**注意事项**
-## 后续步骤
+- 安装程序不接受许可证参数;许可通过上述注册表项进行处理。
+- 许可证密钥存储在 **HKCU** 下(按用户)。 确保这些命令在目标用户的上下文中运行(例如通过登录脚本),这样这些值才会写入正确的用户配置文件。
+- 如需其他键和值,请参阅 [注册表详细信息](#registry-details)。
-- @migrate-from-vs
-- @migrate-from-desktop
-- @migrate-from-te2
\ No newline at end of file
diff --git a/localizedContent/zh/content/getting-started/migrate-from-te2.md b/localizedContent/zh/content/getting-started/migrate-from-te2.md
index 8ae38444d..249d1dbcf 100644
--- a/localizedContent/zh/content/getting-started/migrate-from-te2.md
+++ b/localizedContent/zh/content/getting-started/migrate-from-te2.md
@@ -2,7 +2,7 @@
uid: migrate-from-te2
title: 从 Tabular Editor 2.x 迁移
author: Daniel Otykier
-updated: 2021-09-30
+updated: 2026-06-10
applies_to:
products:
- product: Tabular Editor 2
@@ -29,37 +29,7 @@ Tabular Editor 3 的产品代码与 Tabular Editor 2.x 不同。 这意味着你
从功能角度来看,除少数例外,Tabular Editor 3 基本上是 Tabular Editor 2.x 的超集。 下表对比了两款工具的所有主要功能:
-| | Tabular Editor 2.x | Tabular Editor 3 |
-| ----------------------------------------------------------------- | ------------------------------------------------------- | --------------------------------------------------------- |
-| 编辑所有 TOM 对象及其属性 | ✔ | ✔ |
-| 批量编辑和重命名 | ✔ | ✔ |
-| 支持复制/粘贴和拖放 | ✔ | ✔ |
-| 撤销/重做 Data model 建模操作 | ✔ | ✔ |
-| 从磁盘加载/保存模型元数据 | ✔ | ✔ \* |
-| 保存到文件夹 | ✔ | ✔ \* |
-| 与 [daxformatter.com](https://daxformatter.com) 集成 | ✔ | ✔ |
-| 高级 Data model 建模(OLS、透视图、计算组、元数据翻译等) | ✔ | ✔ \* |
-| 语法高亮与公式自动修复 | ✔ | ✔ |
-| 查看对象间的 DAX 依赖关系 | ✔ | ✔ |
-| 导入表向导 | ✔ | ✔ |
-| Deployment Wizard | ✔ | ✔ \* |
-| Best Practice Analyzer | ✔ | ✔ |
-| C# Script 脚本和自动化 | ✔ | ✔ |
-| 作为 Power BI Desktop 的外部工具使用 | ✔ | ✔ |
-| 连接到 SSAS/Azure AS/Power BI Premium | ✔ | ✔ \* |
-| 命令行接口 | ✔ | _[即将推出](xref:roadmap)_ |
-| 高级且可自定义的用户界面,支持高 DPI、多显示器和主题 | | ✔ |
-| 世界级 DAX 编辑器,具备类似 IntelliSenseTM 的特性 | | ✔ |
-| 离线 DAX 语法检查与列和数据类型推断 | | ✔ |
-| 改进的表导入向导和表架构更新检查,并支持 Power Query | | ✔ |
-| DAX 查询、表格预览和 Pivot Grid | | ✔ |
-| 创建图表,用于可视化和编辑表关系 | | ✔ |
-| 在后台执行数据刷新操作 | | ✔ \* |
-| C# 宏录制器 | | ✔ |
-| 使用 DAX脚本在单个文档中编辑多个 DAX 表达式 | | ✔ |
-| 集成 [VertiPaq分析器](https://www.sqlbi.com/tools/vertipaq-analyzer/) | | ✔ |
-
-\***注意:** 具体限制取决于你使用的 Tabular Editor 3 [版本](xref:editions)。
+[!include[feature-comparison](../includes/feature-comparison.partial.md)]
## 功能差异
@@ -71,7 +41,7 @@ Tabular Editor 3 的产品代码与 Tabular Editor 2.x 不同。 这意味着你
不过总体而言,Tabular Editor 2.x 中已有的界面元素在 Tabular Editor 3 里名称保持一致,因此你应该能比较轻松地上手新界面。 下面列出了一些重要差异:
-- Tabular Editor 2.x 中的 **Advanced Scripting** 选项卡已不再提供。 在 Tabular Editor 3 中,你需要改为通过 **File > New** 菜单创建 **C# Script**。 你不再局限于一次只能处理一个脚本。 此外,**Custom actions** 已更名为 **宏**。
+- Tabular Editor 2.x 中的 **Advanced Scripting** 选项卡已不再提供。 在 Tabular Editor 3 中,你需要通过 **File > New** 菜单创建 **C# Script**。 你不再局限于一次只能处理一个脚本。 此外,**Custom actions** 已更名为 **宏**。
- TOM Explorer 目前不支持 **Dynamic LINQ filtering**。 如果你想使用 [Dynamic LINQ](https://dynamic-linq.net/expression-language) 查找对象,需要按 CTRL+F 打开 **Find and replace** 对话框。
- 如果你关闭了 **表达式编辑器**,可以在 **TOM Explorer** 中双击某个对象的图标将其重新打开,或选择 **View > Expression Editor** 菜单项。
- 在 Tabular Editor 3 的默认布局中,**Best Practice Analyzer** 会作为一个选项卡显示在 **TOM Explorer** 旁边。 在这里,你还会看到全新的 **数据刷新** 视图(用于查看后台刷新操作队列)以及 **宏** 视图(用于管理此前从 C# Script 保存的宏)。
@@ -149,8 +119,26 @@ Tabular Editor 2.x 的 **Advanced Scripting** 功能在 Tabular Editor 3 中延
要了解更多信息,请参阅 @dax-script-introduction。
+## 自 2021 年以来的主要新增功能
+
+自本文首次撰写以来,Tabular Editor 3 已新增许多功能。 上方的功能对比表是权威清单。 对于从 Tabular Editor 2.x 迁移过来的开发人员,最值得关注的亮点包括:
+
+- 提供编写辅助、代码操作和命名空间支持的 [DAX 用户自定义函数 (UDFs)](xref:udfs)
+- 用于构建具备增强时间智能功能的日期表的 [日历编辑器](xref:calendars)
+- 用于安装和共享可重用 DAX 组件的 [DAX 组件管理器](xref:dax-package-manager)
+- 用于在 DAX 编辑器中执行快速修复和重构的 [代码操作](xref:code-actions)
+- 用于逐步调试表达式求值过程的 [DAX调试器](xref:dax-debugger)
+- 可与 VertiPaq分析器配合使用的 [DAX优化器集成](xref:dax-optimizer-integration)
+- 用于组织大型模型的 [表格组](xref:table-groups)
+- 用于提供 DAX 和建模帮助的 [AI 助手](xref:ai-assistant)
+- 支持 Fabric Git 集成的 [TMDL](xref:tmdl) 序列化、[保存到文件夹](xref:save-to-folder) 和 [连同支持文件一起保存](xref:save-with-supporting-files)
+- 用于自动化和 CI/CD 的跨平台 [Tabular Editor CLI](xref:te-cli)(`te`,目前为有限公开预览版)
+- 用于 Databricks Metric Views 的 [语义桥接](xref:semantic-bridge)(企业版)
+- 应用程序界面的 [本地化](xref:references-application-language)
+
## 后续步骤
- @migrate-from-vs
+- @te-cli-migrate
- @parallel-development
- @boosting-productivity-te3
diff --git a/localizedContent/zh/content/getting-started/migrate-from-vs.md b/localizedContent/zh/content/getting-started/migrate-from-vs.md
index cebf9aeab..afd5a7cf6 100644
--- a/localizedContent/zh/content/getting-started/migrate-from-vs.md
+++ b/localizedContent/zh/content/getting-started/migrate-from-vs.md
@@ -2,7 +2,7 @@
uid: migrate-from-vs
title: 从 Visual Studio 迁移
author: Daniel Otykier
-updated: 2021-09-30
+updated: 2026-06-10
applies_to:
products:
- product: Tabular Editor 2
@@ -28,13 +28,19 @@ applies_to:
Tabular Editor 3 提供了一些功能,让你在表格模型开发中可以完全不再依赖 Visual Studio。 相比之下,在 Tabular Editor 2.x 中,一些用户仍更喜欢用 Visual Studio 来做表导入、可视化关系以及预览数据等工作。
-不过,随着你逐渐熟悉 Tabular Editor 3,你可能仍会觉得时不时在 Visual Studio 中打开表格模型很有用。 这在任何时候都可行,因为 Tabular Editor 3 不会修改 Visual Studio 使用的 **Model.bim** 文件格式(即 [TOM JSON](https://docs.microsoft.com/en-us/analysis-services/tom/introduction-to-the-tabular-object-model-tom-in-analysis-services-amo?view=asallproducts-allversions)),从而确保与 Visual Studio 兼容。
+不过,随着你逐渐熟悉 Tabular Editor 3,你可能仍会觉得时不时在 Visual Studio 中打开表格模型很有用。 这随时都可以实现,因为 Tabular Editor 3 不会修改 Visual Studio 使用的 **Model.bim** 文件格式(也称为 [TOM JSON](https://learn.microsoft.com/en-us/analysis-services/tom/introduction-to-the-tabular-object-model-tom-in-analysis-services-amo?view=asallproducts-allversions)),因此可确保与 Visual Studio 兼容。
-唯一的例外是,如果你选择使用 Tabular Editor 的 [保存到文件夹](xref:parallel-development#what-is-save-to-folder) 功能,因为这种文件格式不受 Visual Studio 支持。 不过,你可以在 Tabular Editor 中通过 **File > Save As...** 选项,轻松重新生成供 Visual Studio 使用的 Model.bim 文件。 反向转换也可以这样做:在 Tabular Editor 中加载 Model.bim 文件,然后使用 **File > 保存到文件夹...** 选项即可。
+唯一的例外情况是:如果你选择使用 Tabular Editor 的 [保存到文件夹](xref:save-to-folder) 功能,由于 Visual Studio 不支持这种文件格式,因此无法兼容。 不过,你可以在 Tabular Editor 中通过 **File > Save As...** 选项,轻松重新生成供 Visual Studio 使用的 Model.bim 文件。 反向转换也可以这样做:在 Tabular Editor 中加载 Model.bim 文件,然后使用 **File > 保存到文件夹...** 选项即可。
+
+> [!TIP]
+> 如果你偏好基于文本、便于版本控制的格式,请使用 [Tabular Model Definition Language (TMDL)](xref:tmdl) 而不是 Model.bim。 Tabular Editor 3 在 **文件 > 保存到文件夹...** 和 **文件 > 另存为...** 两个菜单中都支持 TMDL,较新版本的 Visual Studio Analysis Services 项目扩展也支持 TMDL。 这样,你就可以在这两个工具之间移动模型,而无需再转换回单个 Model.bim 文件。
### 自动化文件格式转换
-如果你经常需要在 Tabular Editor 的基于文件夹的格式(Database.json)与 Visual Studio 的文件格式(model.bim)之间来回转换,可以考虑使用 [Tabular Editor 2.x CLI](xref:command-line-options) 编写一个简单的 Windows 命令脚本来自动化这一转换过程。
+如果你经常需要在 Tabular Editor 的基于文件夹的格式(Database.json)和 Visual Studio 的文件格式(model.bim)之间来回转换,可以考虑使用 [Tabular Editor 2.x CLI](xref:command-line-options) 编写一个简单的 Windows 命令脚本,自动完成这一转换过程。
+
+> [!TIP]
+> 跨平台的 [Tabular Editor CLI](xref:te-cli)(`te`,目前处于有限公开预览版)也可以在不同格式之间进行转换,包括 [TMDL](xref:tmdl),并且可在 Windows、macOS 和 Linux 上运行。
# [Model.bim 转换为文件夹](#tab/frombim)
@@ -55,7 +61,7 @@ tabulareditor.exe Database.json -B model.bim
***
> [!NOTE]
-> 上述命令行脚本假定你已安装 [Tabular Editor 2.x](xref:getting-started-te2)。 另外,你也需要把 Tabular Editor 2.x 的安装位置加入你的 [PATH 环境变量](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/path)。
+> 上述命令行脚本假定你已安装 [Tabular Editor 2.x](xref:getting-started-te2)。 Tabular Editor 2.x 的安装位置也应加入你的 [PATH 环境变量](https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/path)。
## 集成 Workspace 服务器
@@ -76,16 +82,12 @@ tabulareditor.exe Database.json -B model.bim
### 兼容级别要求
-Tabular Editor 允许你为创建 Analysis Services 数据库选择以下兼容级别:
-
-- 1200(Azure Analysis Services / SQL Server 2016+)
-- 1400(Azure Analysis Services / SQL Server 2017+)
-- 1500(Azure Analysis Services / SQL Server 2019+)
+Tabular Editor 允许你创建和编辑兼容级别为 1200 及更高版本的模型,涵盖 Analysis Services、Azure Analysis Services,以及通过 [XMLA endpoint](xref:powerbi-xmla) 部署的 Power BI Dataset。 可用级别取决于你的部署目标,而较新的级别会解锁自定义日历和 DAX 用户定义函数等功能。
-此外,Tabular Editor 还允许你为将通过 [XMLA endpoint](xref:powerbi-xmla) 部署到 Power BI 服务的 Power BI Dataset 选择合适的兼容级别。
+有关完整的级别列表,以及如何选择和更改级别的说明,请参阅 @update-compatibility-level。
> [!NOTE]
-> Tabular Editor 不支持低于 1200 的兼容级别,因为这些版本不使用 [Tabular Object Model (TOM)](https://docs.microsoft.com/en-us/analysis-services/tom/introduction-to-the-tabular-object-model-tom-in-analysis-services-amo?view=asallproducts-allversions) 元数据格式。 如果你计划将兼容级别为 1100 或 1103 的模型开发从 Visual Studio 迁移到 Tabular Editor,那么在迁移到 Tabular Editor 之前,**必须将兼容级别升级到至少 1200**。 这样一来,你将无法再将该模型部署到 SQL Server 2014 Analysis Services。
+> Tabular Editor 不支持低于 1200 的兼容级别,因为这些版本不使用 [Tabular Object Model (TOM)](https://learn.microsoft.com/analysis-services/tom/introduction-to-the-tabular-object-model-tom-in-analysis-services-amo?view=asallproducts-allversions) 元数据格式。 如果你计划将兼容级别为 1100 或 1103 的模型开发从 Visual Studio 迁移到 Tabular Editor,那么在迁移到 Tabular Editor 之前,**必须将兼容级别升级到至少 1200**。 这样一来,你将无法再将该模型部署到 SQL Server 2014 Analysis Services。
## Visual Studio 项目
@@ -105,10 +107,13 @@ Tabular Editor 允许你为创建 Analysis Services 数据库选择以下兼容
## 版本控制
-Tabular Editor 不提供任何用于模型元数据的集成版本控制功能。 不过,由于所有模型元数据都以纯文本(JSON)文件的形式存放在磁盘上,将 Tabular 模型元数据纳入任何类型的版本控制系统都很容易。 因此,大多数 Tabular Editor 用户仍然倾向于保留 Visual Studio,以便使用 [Visual Studio Team Explorer](https://docs.microsoft.com/en-us/azure/devops/user-guide/work-team-explorer?view=azure-devops) 或者(特别是针对 git)使用 Visual Studio 2019 的新 [Git Changes 窗口](https://docs.microsoft.com/en-us/visualstudio/version-control/git-with-visual-studio?view=vs-2019)。
+Tabular Editor 会将所有模型元数据以简单文本文件的形式存储在磁盘上,因此可以很方便地将表格模型元数据纳入任何类型的版本控制系统。 Tabular Editor 3 支持多种专为此目的设计的基于文本的序列化格式:
-> [!NOTE]
-> 如今,大多数开发人员似乎更倾向于使用 [git](https://git-scm.com/) 作为版本控制系统。 Tabular Editor 3 的 Git 集成计划在未来的更新中推出。
+- [保存到文件夹](xref:save-to-folder) 会将模型拆分为许多小文件,从而在并行开发期间尽量减少合并冲突(见下文)。
+- [TMDL](xref:tmdl) 是一种简洁、便于阅读的序列化格式,Tabular Editor 和较新版本的 Visual Studio 都支持它。
+- [保存并包含支持文件](xref:save-with-supporting-files) 会生成 [Microsoft Fabric 中的 Git 集成](xref:save-with-supporting-files) 所需的文件夹结构。
+
+你可以直接使用 [git](https://git-scm.com/) 管理这些文件,也可以继续使用 Visual Studio 内置的版本控制工具,例如 [Git 更改窗口](https://learn.microsoft.com/visualstudio/version-control/git-with-visual-studio)。
迁移到 Tabular Editor 后,你无需再保留 Visual Studio 创建的原始 Tabular 模型项目及其配套文件。 你仍然可以使用 Visual Studio Team Explorer 或 Git Changes 窗口来查看代码更改、管理版本控制分支、执行提交、合并等操作。
@@ -168,7 +173,7 @@ Tabular Editor 3 的 DAX 代码编辑器,是很多人选择这款工具的主
在上面的截图中,你可以看到有三个不同的信息发布来源:
-- **Analysis Services**:当元数据更改保存到已连接的 Analysis Services 实例时,服务器会更新 TOM 元数据,以标明是否有对象处于错误状态。 具体来说,度量值的 [State](https://docs.microsoft.com/en-us/dotnet/api/microsoft.analysisservices.tabular.measure.state?view=analysisservices-dotnet#Microsoft_AnalysisServices_Tabular_Measure_State) 和 [ErrorMessage](https://docs.microsoft.com/en-us/dotnet/api/microsoft.analysisservices.tabular.measure.errormessage?view=analysisservices-dotnet#Microsoft_AnalysisServices_Tabular_Measure_ErrorMessage) 属性会被更新。 Tabular Editor 会在信息视图中显示这些错误信息。 当 Tabular Editor 以脱机方式使用(即未连接到 Analysis Services)时,不会显示这些信息。
+- **Analysis Services**:当元数据更改保存到已连接的 Analysis Services 实例时,服务器会更新 TOM 元数据,以标明是否有对象处于错误状态。 具体来说,[State](https://learn.microsoft.com/en-us/dotnet/api/microsoft.analysisservices.tabular.measure.state?view=analysisservices-dotnet#Microsoft_AnalysisServices_Tabular_Measure_State) 和 [ErrorMessage](https://learn.microsoft.com/en-us/dotnet/api/microsoft.analysisservices.tabular.measure.errormessage?view=analysisservices-dotnet#Microsoft_AnalysisServices_Tabular_Measure_ErrorMessage) 属性会被更新。 Tabular Editor 会在信息视图中显示这些错误信息。 当 Tabular Editor 以脱机方式使用(即未连接到 Analysis Services)时,不会显示这些信息。
- **Tabular Editor 语义分析**:此外,Tabular Editor 3 会对模型中的所有 DAX 表达式执行其自身的语义分析。 遇到的任何语法或语义错误都会在此处的 Report 中报告。
- **表达式编辑器**:最后,如果你在 Tabular Editor 3 中打开了任何文档(例如表达式编辑器),则文档中遇到的任何 DAX 语法或语义错误都会在此处的 Report 中报告。
@@ -214,10 +219,11 @@ Tabular Editor 3 同样包含一个图表工具,可通过 **文件 > 新建 >
Tabular Editor 可让你轻松将模型元数据部署到任何 Analysis Services 实例。 你可以在 **模型 > 部署...** 中打开 Tabular Editor 的 Deployment Wizard,或按 CTRL+SHIFT+D。
-有关更多信息,请参阅 [模型部署](../features/deployment.md)。
+有关更多信息,请参阅 [模型部署](xref:deployment)。
## 后续步骤
- @migrate-from-te2
- @parallel-development
+- @save-with-supporting-files
- @boosting-productivity-te3
\ No newline at end of file
diff --git a/localizedContent/zh/content/getting-started/parallel-development.md b/localizedContent/zh/content/getting-started/parallel-development.md
index d5f0d819c..998e82498 100644
--- a/localizedContent/zh/content/getting-started/parallel-development.md
+++ b/localizedContent/zh/content/getting-started/parallel-development.md
@@ -2,7 +2,7 @@
uid: parallel-development
title: 通过 Git 和“保存到文件夹”实现并行开发
author: Daniel Otykier
-updated: 2021-09-30
+updated: 2026-06-11
applies_to:
products:
- product: Tabular Editor 2
@@ -30,7 +30,7 @@ applies_to:
- 你的 Data model 的目标位置必须是以下之一:
- SQL Server 2016(或更高版本)的 Analysis Services Tabular
- Azure Analysis Services
- - Fabric/Power BI Premium 容量/已启用 [XMLA 读/写](https://docs.microsoft.com/en-us/power-bi/admin/service-premium-connect-tools#enable-xmla-read-write) 的 Power BI Premium-per-user
+ - 已分配到 Fabric capacity、Power BI Embedded capacity、旧版 Premium capacity 或 Premium Per User 许可证,并已[启用 XMLA 读/写](https://learn.microsoft.com/en-us/fabric/enterprise/powerbi/service-premium-connect-tools#enable-xmla-read-write)(自 2025 年六月起默认为启用)的 Power BI Workspace
- 所有团队成员都能访问的 Git repository(本地部署或托管在 Azure DevOps、GitHub 等)
## 将 TOM 视为源代码
@@ -39,7 +39,7 @@ applies_to:
使用基于文本的文件格式,可以借助版本控制系统中常见的各种差异对比工具,更优雅地处理冲突变更。 这种变更冲突解决方式在传统软件开发中非常常见,因为所有源代码都分散在大量的小型文本文件中。 因此,大多数主流版本控制系统都针对这类文件做了优化,用于变更检测和(自动)冲突解决。
-对于表格模型开发而言,“源代码”就是我们基于 JSON 的 TOM 元数据。 在较早版本的 Visual Studio 中开发表格模型时,Model.bim 这个 JSON 文件中会额外包含关于谁在何时修改了哪些内容的信息。 这些信息只是作为附加属性,存储在文件中各处的 JSON 对象里。 这会带来问题:这些信息不仅是冗余的(因为文件本身也有元数据,用来描述最后一次编辑它的人是谁,以及最后一次编辑发生在什么时候),而且从版本控制的透视来看,这些元数据并没有任何_语义意义_。 换句话说,即使你把文件中的所有修改元数据都移除,得到的仍然是一个完全有效的 TOM JSON 文件;你可以将其部署到 Analysis Services 或发布到 Power BI,而不会影响模型的功能和业务逻辑。
+对于表格模型开发而言,“源代码”就是我们基于 JSON 的 TOM 元数据。 在较早版本的 Visual Studio 中开发表格模型时,Model.bim 这个 JSON 文件中会额外包含关于谁在何时修改了哪些内容的信息。 这些信息只是作为附加属性,存储在文件中各处的 JSON 对象里。 这会带来问题:这些信息不仅是冗余的(因为文件本身也有元数据,用来描述最后一次编辑它的人是谁,以及最后一次编辑发生在什么时候),而且从版本控制的透视来看,这些元数据并没有任何语义意义。 换句话说,即使你把文件中的所有修改元数据都移除,得到的仍然是一个完全有效的 TOM JSON 文件;你可以将其部署到 Analysis Services 或发布到 Power BI,而不会影响模型的功能和业务逻辑。
就像传统软件开发的源代码一样,我们不希望这类信息“污染”我们的模型元数据。 事实上,版本控制系统能更细致地展示改了什么、谁改的、何时改的以及为何改,因此没有理由把这些信息作为被版本控制的文件内容之一。
@@ -107,7 +107,7 @@ Tabular Editor 的目标是简化这一过程:无论模型是 Analysis Service
要实现并行开发,我们必须能够将模型元数据存储为上述某种基于文本的(JSON)格式(Model.bim 或 Database.json)。 无法从这种基于文本的格式“重建” .pbix 或 .pbit 文件,因此**一旦决定走这条路线,就无法再使用 Power BI Desktop 来编辑 Data model**。 取而代之的是,我们必须依赖能够使用基于 JSON 的格式的工具——这正是 Tabular Editor 的用途所在。
> [!WARNING]
-> 如果你无法访问 Power BI Premium Workspace(Premium 容量或 Premium-Per-User),就无法发布存储在 JSON 文件中的模型元数据,因为此操作需要访问 [XMLA endpoint](https://docs.microsoft.com/en-us/power-bi/admin/service-premium-connect-tools)。
+> 如果你无法访问分配给容量或 Premium Per User 许可证的 Workspace,则无法发布存储在 JSON 文件中的模型元数据,因为此操作需要访问 [XMLA endpoint](https://learn.microsoft.com/en-us/fabric/enterprise/powerbi/service-premium-connect-tools)。
> [!NOTE]
> 创建 Report 的 Visual 部分仍然需要 Power BI Desktop。 始终将 Report 与模型分离是一项[最佳实践](https://docs.microsoft.com/en-us/power-bi/guidance/report-separate-from-model)。 如果你现有的 Power BI 文件同时包含两者,[这篇博客](https://powerbi.tips/2020/06/split-an-existing-power-bi-file-into-a-model-and-report/)([视频](https://www.youtube.com/watch?v=PlrtBm9YN_Q))介绍了如何将其拆分为一个模型文件和一个 Report 文件。
diff --git a/localizedContent/zh/content/how-tos/Master-model-pattern.md b/localizedContent/zh/content/how-tos/Master-model-pattern.md
index f69a7469c..e77ed6cab 100644
--- a/localizedContent/zh/content/how-tos/Master-model-pattern.md
+++ b/localizedContent/zh/content/how-tos/Master-model-pattern.md
@@ -195,7 +195,7 @@ foreach(Measure m in Selected.Measures) {
## 修改分区查询
-我们也可以用类似的方法,在不同版本之间对分区查询应用不同的更改。 例如,根据版本不同,我们可能希望在某些分区查询中使用不同的 SQL `WHERE` 条件。 我们先在_表_对象上创建一组新的注释,用来为每个版本指定分区要使用的基础 SQL 查询。 比如在这里,我们希望在三个版本中的两个版本中,限制 Product 表包含哪些记录:
+我们也可以用类似的方法,在不同版本之间对分区查询应用不同的更改。 例如,根据版本不同,我们可能希望在某些分区查询中使用不同的 SQL `WHERE` 条件。 我们先在表对象上创建一组新的注释,用来为每个版本指定分区要使用的基础 SQL 查询。 比如在这里,我们希望在三个版本中的两个版本中,限制 Product 表包含哪些记录:

diff --git a/localizedContent/zh/content/how-tos/xmla-as-connectivity.md b/localizedContent/zh/content/how-tos/xmla-as-connectivity.md
index c74735f4e..8645dfac7 100644
--- a/localizedContent/zh/content/how-tos/xmla-as-connectivity.md
+++ b/localizedContent/zh/content/how-tos/xmla-as-connectivity.md
@@ -2,7 +2,7 @@
uid: xmla-as-connectivity
title: XMLA / Analysis Services 连接性
author: Daniel Otykier
-updated: 2024-05-01
+updated: 2026-06-11
applies_to:
products:
- product: Tabular Editor 2
@@ -70,28 +70,28 @@ Provider=MSOLAP;Data Source=servername;Initial Catalog=databasename;Integrated S
## Fabric/Power BI XMLA 设置
-要在 Fabric/Power BI 中启用 XMLA endpoint,必须启用两个管理员设置。
+自 2025 年六月起,所有 Fabric 和 Power BI 容量均默认启用 XMLA 读/写功能。 如果您无法通过 XMLA endpoint 连接,请确认管理员未禁用以下两项设置中的任意一项。
-### 启用租户 XMLA endpoint
+### 租户级 XMLA endpoint 设置
-在 Fabric/Power BI 管理门户中,必须启用集成设置“允许 XMLA endpoints,并使用本地语义模型在 Excel 中进行分析”
+在 Fabric/Power BI 管理门户中,必须启用名为“允许 XMLA endpoint,并使用本地语义模型在 Excel 中进行分析”的集成设置。
在租户级别,该设置可能会被限制为仅允许特定用户使用。 如果你的组织对该设置做了限制,请确保所有需要的用户都被允许在租户级别使用 XMLA endpoint。
-
+
-### 在容量上启用 XMLA 读写
+### 容量级 XMLA 读/写
-要使用 XMLA endpoint,承载语义模型的 Workspace 必须分配到容量(FSku 或 Power BI Premium Per User),并且该容量必须在容量设置中将 XMLA 设置为 ["Read Write" enabled in the capacity settings.](https://learn.microsoft.com/en-us/power-bi/enterprise/service-premium-connect-tools#enable-xmla-read-write)
+要使用 XMLA endpoint,请将承载语义模型的 Workspace 分配给 Fabric capacity(F SKU)、Power BI Embedded 容量(A 或 EM SKU)或旧版 Premium 容量(P SKU),或使用 Premium Per User(PPU)许可证。 该容量必须在[容量设置中将 XMLA endpoint 设置为 **读写**](https://learn.microsoft.com/en-us/fabric/enterprise/powerbi/service-premium-connect-tools#enable-xmla-read-write)。 自 2025 年六月起,这就是默认设置。
-
+
-要在 Admin Portal 中启用 Read Write,请依次导航至
+如果读/写已关闭,请让容量管理员在管理门户中重新启用该功能:
-1. 容量设置
-2. 选择容量类型
-3. 选择相应的容量
-4. 转到 Power BI Workloads,向下滚动找到 XMLA endpoint 设置,然后选择“Read Write”
+1. 打开 **容量设置**。
+2. 选择容量类型。
+3. 选择相应的容量。
+4. 转到 **Power BI 工作负载**,然后将 **XMLA endpoint** 设置为 **读写**。
### Workspace 级别的用户权限
@@ -121,7 +121,7 @@ Provider=MSOLAP;Data Source=servername;Initial Catalog=databasename;Integrated S
如果除语义模型所有者之外的其他用户需要通过 XMLA endpoint 编辑该模型,则必须在 Fabric/Power BI 中禁用名为“阻止重新发布并禁用组件刷新”的安全管理员设置。
-
+
## 不支持的模型类型
diff --git a/localizedContent/zh/content/includes/feature-comparison.partial.md b/localizedContent/zh/content/includes/feature-comparison.partial.md
new file mode 100644
index 000000000..063304aba
--- /dev/null
+++ b/localizedContent/zh/content/includes/feature-comparison.partial.md
@@ -0,0 +1,51 @@
+| | TE2(免费) | TE3(商业版) | [TE CLI](xref:te-cli)(预览版) |
+| ------------------------------------------------------------------------------ | ------------------------------------------------------- | --------------------------------------------------------- | ------------------------------------------------------- |
+| 编辑所有 TOM 对象和属性 | ✔ | ✔ | ✔ |
+| 批量编辑和重命名 | ✔ | ✔ | ✔ |
+| 支持复制粘贴和拖放 | ✔ | ✔ | |
+| 撤销/重做数据建模操作 | ✔ | ✔ | |
+| 从磁盘加载/保存模型元数据 | ✔ | ✔ \* | ✔ |
+| 保存到文件夹 | ✔ | ✔ \* | ✔ |
+| 内置 DAX 格式化功能 | | ✔ | |
+| 高级数据建模(OLS、透视、计算组、元数据翻译等) | ✔ | ✔ \* | ✔ |
+| 语法高亮和公式自动修正 | ✔ | ✔ | |
+| 查看对象之间的 DAX 依赖关系 | ✔ | ✔ | ✔ |
+| 导入表向导 | ✔ | ✔ | |
+| Deployment Wizard | ✔ | ✔ \* | ✔ |
+| 最佳实践分析器 | ✔ | ✔ | ✔ |
+| C# 脚本和自动化 | ✔ | ✔ | ✔ |
+| 用作 Power BI Desktop 的外部工具 | ✔ | ✔ | |
+| 连接到 SSAS/Azure AS/Power BI Premium | ✔ | ✔ \* | ✔ |
+| 命令行界面 | ✔ | | ✔ |
+| 高级且可自定义的用户界面,支持高 DPI、多显示器及主题 | | ✔ | |
+| 世界级 DAX 编辑器,提供类似 IntelliSenseTM 的功能、自动补全等更多特性 | | ✔ | |
+| 离线 DAX 语法检查与列/数据类型推断 | | ✔ | ✔ |
+| 改进的表导入向导与表架构更新检查,并支持 Power Query | | ✔ | |
+| DAX 查询 | | ✔ | ✔ |
+| 表格预览和 Pivot Grid | | ✔ | |
+| 创建图表,用于可视化和编辑表关系 | | ✔ | |
+| 执行数据刷新操作 | | ✔ \* | ✔ |
+| C# 宏录制器 | | ✔ | |
+| 使用 [DAX脚本](xref:dax-scripts) 在同一文档中编辑多个 DAX 表达式 | | ✔ | |
+| [VertiPaq分析器](https://www.sqlbi.com/tools/vertipaq-analyzer/) 集成 | | ✔ | ✔ |
+| [DAX调试器](xref:dax-debugger) | | ✔ | |
+| [元数据翻译编辑器](xref:metadata-translation-editor) | | ✔ | |
+| [透视编辑器](xref:perspective-editor) | | ✔ | |
+| [表格组](xref:table-groups) | | ✔ | |
+| [DAX优化器集成](xref:dax-optimizer-integration) | | ✔ | |
+| [代码操作](xref:code-actions) | | ✔ | |
+| [DAX 用户自定义函数 (UDFs)](xref:udfs) 辅助功能、代码操作和命名空间 | | ✔ | |
+| 用于增强时间智能的[日历编辑器](xref:calendars) | | ✔ | |
+| [DAX 组件管理器](xref:dax-package-manager) | | ✔ | |
+| [内置的 Best Practice Analyzer 规则](xref:built-in-bpa-rules) | | ✔ | |
+| 支持[刷新覆盖配置文件](xref:refresh-overrides)的[高级刷新对话框](xref:advanced-refresh)(商业版/企业版) | | ✔ \* | |
+| [为 Fabric 保存并包含支持文件](xref:save-with-supporting-files) | | ✔ | |
+| Databricks Metric Views 的语义桥接(企业版) | | ✔ \* | |
+| [本地化支持](xref:references-application-language)(中文、西班牙语、日语、德语、法语) | | ✔ | |
+| [语义模型测试](xref:te-cli-commands#testing)(断言、快照、A/B 对比) | | | ✔ |
+| 跨平台(Windows、macOS、Linux) | | | ✔ |
+| 供脚本和 AI 代理使用的结构化输出(JSON、CSV、TMDL、TMSL) | | | ✔ |
+| [CI/CD 集成](xref:te-cli-cicd),支持 GitHub Actions 和 Azure DevOps 注释,以及 VSTEST 结果 | | | ✔ |
+| [交互式 Shell](xref:te-cli-interactive)(REPL),支持命令补全 | | | ✔ |
+
+\***注意:** 具体限制取决于你使用的 Tabular Editor 3 [版本](xref:editions)。
diff --git a/localizedContent/zh/content/index.md b/localizedContent/zh/content/index.md
index 9ad8c1fdf..e5287cc4c 100644
--- a/localizedContent/zh/content/index.md
+++ b/localizedContent/zh/content/index.md
@@ -2,7 +2,7 @@
uid: index
title: Tabular Editor
author: Daniel Otykier
-updated: 2021-09-09
+updated: 2026-06-10
---
# Tabular Editor
@@ -73,51 +73,7 @@ Tabular Editor 2.x 是一款轻量级应用程序,可快速修改 Analysis Ser
下表列出了两款工具的所有主要功能。
-| | TE2(免费) | TE3(商业版) |
-| ------------------------------------------------------------------------------ | ------------------------------------------------------- | --------------------------------------------------------- |
-| 编辑所有 TOM 对象和属性 | ✔ | ✔ |
-| 批量编辑和重命名 | ✔ | ✔ |
-| 支持复制粘贴和拖放 | ✔ | ✔ |
-| 撤销/重做数据建模操作 | ✔ | ✔ |
-| 从磁盘加载/保存模型元数据 | ✔ | ✔ \* |
-| 保存到文件夹 | ✔ | ✔ \* |
-| [daxformatter.com](https://daxformatter.com) 集成 | ✔ | ✔ |
-| 高级数据建模(OLS、透视、计算组、元数据翻译等) | ✔ | ✔ \* |
-| 语法高亮和公式自动修正 | ✔ | ✔ |
-| 查看对象之间的 DAX 依赖关系 | ✔ | ✔ |
-| 导入表向导 | ✔ | ✔ |
-| Deployment Wizard | ✔ | ✔ \* |
-| 最佳实践分析器 (BPA) | ✔ | ✔ |
-| C# 脚本和自动化 | ✔ | ✔ |
-| 用作 Power BI Desktop 的外部工具 | ✔ | ✔ |
-| 连接到 SSAS/Azure AS/Power BI Premium | ✔ | ✔ \* |
-| 命令行界面 | ✔ | |
-| 高级且可自定义的用户界面,支持高 DPI、多显示器及主题 | | ✔ |
-| 一流的 DAX 编辑器,具备类似 IntelliSenseTM 的功能,支持离线格式化等 | | ✔ |
-| 离线 DAX 语法检查与列/数据类型推断 | | ✔ |
-| 改进的表导入向导与表架构更新检查,并支持 Power Query | | ✔ |
-| DAX 查询、表格预览和 Pivot Grid | | ✔ |
-| 创建图表,用于可视化和编辑表关系 | | ✔ |
-| 在后台执行数据刷新操作 | | ✔ \* |
-| C# 宏录制器 | | ✔ |
-| 使用 [DAX脚本](xref:dax-scripts) 在同一文档中编辑多个 DAX 表达式 | | ✔ |
-| [VertiPaq分析器](https://www.sqlbi.com/tools/vertipaq-analyzer/) 集成 | | ✔ |
-| [DAX调试器](xref:dax-debugger) | | ✔ |
-| [元数据翻译编辑器](xref:metadata-translation-editor) | | ✔ |
-| [透视编辑器](xref:perspective-editor) | | ✔ |
-| [表格组](xref:table-groups) | | ✔ |
-| [DAX优化器集成](xref:dax-optimizer-integration) | | ✔ |
-| [代码操作](xref:code-actions) | | ✔ |
-| [DAX 用户自定义函数 (UDFs)](xref:udfs) 辅助功能、代码操作和命名空间 | | ✔ |
-| 用于增强时间智能的[日历编辑器](xref:calendars) | | ✔ |
-| [DAX 组件管理器](xref:dax-package-manager) | | ✔ |
-| [内置的 Best Practice Analyzer 规则](xref:built-in-bpa-rules) | | ✔ |
-| 支持[刷新覆盖配置文件](xref:refresh-overrides)的[高级刷新对话框](xref:advanced-refresh)(商业版/企业版) | | ✔ \* |
-| [为 Fabric 保存并包含支持文件](xref:save-with-supporting-files) | | ✔ |
-| Databricks Metric Views 的语义桥接(企业版) | | ✔ \* |
-| [本地化支持](xref:references-application-language)(中文、西班牙语、日语、德语、法语) | | ✔ |
-
-\***注意:** 具体限制取决于你使用的 Tabular Editor 3 [版本](xref:editions)。
+[!include[feature-comparison](includes/feature-comparison.partial.md)]
### 常见功能
diff --git a/localizedContent/zh/content/kb/DI003.md b/localizedContent/zh/content/kb/DI003.md
index 7989f09c7..f3c83af0c 100644
--- a/localizedContent/zh/content/kb/DI003.md
+++ b/localizedContent/zh/content/kb/DI003.md
@@ -31,7 +31,7 @@ updated: 2024-12-19
在大多数情况下,_列引用_ **必须** 用表名来限定。 不过,对于 _度量值引用_,表名始终是可选的(因为度量值名称在模型中始终唯一)。
-因此,最佳实践是:引用度量值时始终_不_带表名;引用列时始终_带_表名。
+因此,最佳实践是:引用度量值时始终不带表名;引用列时始终带表名。
始终遵循这一做法可以让代码更简洁、更易读,也更容易区分度量值引用和列引用。
diff --git a/localizedContent/zh/content/kb/DI004.md b/localizedContent/zh/content/kb/DI004.md
index bd8a7f82d..f7cec51cd 100644
--- a/localizedContent/zh/content/kb/DI004.md
+++ b/localizedContent/zh/content/kb/DI004.md
@@ -29,7 +29,7 @@ SUMX('Internet Sales', 'Internet Sales'[Line Amount] * 'Internet Sales'[Quantity
## Tabular Editor 为什么会建议这样做?
-由于模型中的_度量值_名称始终唯一,因此引用度量值时无需指定表名。 但列名称在模型内并不唯一,因此在引用列时必须指定表名,例如使用某个聚合函数时:`SUM('Sales'[Amount])`。
+由于模型中的度量值名称始终唯一,因此引用度量值时无需指定表名。 但列名称在模型内并不唯一,因此在引用列时必须指定表名,例如使用某个聚合函数时:`SUM('Sales'[Amount])`。
不过,在某些情况下,列引用中的表限定符是可选的。 例如,当列存在于活动的行语境中时(比如在[计算列](https://learn.microsoft.com/en-us/analysis-services/tabular-models/ssas-calculated-columns-create-a-calculated-column?view=asallproducts-allversions)内部)。 即便如此,在这种情况下写上表名仍然是有效的,并且如果以后模型里新增了同名度量值,也能帮助避免歧义和错误。
diff --git a/localizedContent/zh/content/kb/DI005.md b/localizedContent/zh/content/kb/DI005.md
index c307ca748..02cc334b4 100644
--- a/localizedContent/zh/content/kb/DI005.md
+++ b/localizedContent/zh/content/kb/DI005.md
@@ -106,7 +106,7 @@ CALCULATE(
CALCULATE([Total Sales], FILTER(Sales, Sales[Quantity] > 10))
```
-这会筛选_扩展后的_ `Sales` 表,从而影响 `Sales` 以及所有相关的维度表。
+这会筛选扩展后的 `Sales` 表,从而影响 `Sales` 以及所有相关的维度表。
**重写后(标量谓词):**
diff --git a/localizedContent/zh/content/references/release-history.md b/localizedContent/zh/content/references/release-history.md
index 96f678f3f..09f1bd67b 100644
--- a/localizedContent/zh/content/references/release-history.md
+++ b/localizedContent/zh/content/references/release-history.md
@@ -5,6 +5,10 @@ title: 完整发布历史
# 完整发布历史
+- 2026-04-17 **Tabular Editor 3.26.1** (_[发布说明](release-notes/3_26_1.md)_)
+ - .NET 8 安装程序(.exe):[x64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.1.Installer.x64.Net8.exe), [ARM64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.1.Installer.ARM64.Net8.exe)
+ - .NET 8 便携版(.zip):[x64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.1.x64.Net8.zip), [ARM64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.1.ARM64.Net8.zip)
+ - .NET 8 安装程序(.msi):[x64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.1.x64.Net8.msi), [ARM64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.1.ARM64.Net8.msi)
- 2026-03-25 **Tabular Editor 3.26.0** (_[发布说明](release-notes/3_26_0.md)_)
- .NET 8 安装程序(.exe):[x64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.0.Installer.x64.Net8.exe),[ARM64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.0.Installer.ARM64.Net8.exe)
- .NET 8 便携版(.zip):[x64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.0.x64.Net8.zip),[ARM64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.0.ARM64.Net8.zip)
diff --git a/localizedContent/zh/content/security/index.md b/localizedContent/zh/content/security/index.md
index df0e45fce..4696a127e 100644
--- a/localizedContent/zh/content/security/index.md
+++ b/localizedContent/zh/content/security/index.md
@@ -7,7 +7,7 @@
- @security-privacy - Tabular Editor 3 的安全与隐私注意事项
- @privacy-policy - 隐私政策与数据处理
- @gdpr-delete - 用户数据删除
-- @te3-eula - 我们最新版本的许可条款
+- @terms - 我们最新版本的《条款与条件》
- @third-party-notices - 第三方组件许可证与声明
---
diff --git a/localizedContent/zh/content/troubleshooting/databricks-column-comments-length.md b/localizedContent/zh/content/troubleshooting/databricks-column-comments-length.md
index 8e192d460..e75486ebd 100644
--- a/localizedContent/zh/content/troubleshooting/databricks-column-comments-length.md
+++ b/localizedContent/zh/content/troubleshooting/databricks-column-comments-length.md
@@ -150,15 +150,13 @@ Tabular Editor 通过 Simba Spark ODBC Driver 连接到 Databricks,该驱动
```
3. **保存文件:**
- - 点击 **文件 > 另存为**
+ - 点击 **文件 > 另存为**
- 转到 `C:\Program Files\Simba Spark ODBC Driver\`
-
- 在 **保存类型** 下拉列表中,选择 **所有文件 (_._)**(重要!)
-
- 在 **文件名** 字段中,准确输入:**microsoft.sparkodbc.ini**
-
- 点击 **保存**
+
> [!IMPORTANT]> 一定要把文件类型选为“所有文件”,否则记事本会把它保存为 microsoft.sparkodbc.ini.txt,导致无法使用。
4. **验证文件是否正确创建:**
diff --git a/localizedContent/zh/content/troubleshooting/licensing-activation.md b/localizedContent/zh/content/troubleshooting/licensing-activation.md
index c3b4f5853..05374eb9d 100644
--- a/localizedContent/zh/content/troubleshooting/licensing-activation.md
+++ b/localizedContent/zh/content/troubleshooting/licensing-activation.md
@@ -1,7 +1,8 @@
---
uid: licensing-activation
title: 安装并激活 Tabular Editor 3
-author: Daniel Otykier
+author: Morten Lønskov
+updated: 2026-05-19
applies_to:
products:
- product: Tabular Editor 2
@@ -16,90 +17,124 @@ applies_to:
full: true
---
-# Tabular Editor 3
+# 安装并激活 Tabular Editor 3
-## 安装
+本页介绍 Tabular Editor 3 常见的安装和激活问题,以及相应的解决方法。 有关标准激活流程,请参阅 @getting-started。 有关高级部署场景(静默安装、许可证预配置、安装后配置),请参阅 @installation-activation-basic。
-请从我们的[下载页面](xref:downloads)下载 Tabular Editor 3 的最新版本。
+## 检查系统要求
-## 先决条件
+继续排查前,先确认这台计算机满足以下要求:
-无。
+- **操作系统:** Windows 10、Windows 11、Windows Server 2016、Windows Server 2019 或更高版本
+- **体系结构:** x64、ARM64(自 3.23.0 起原生支持)
+- **.NET 运行时:** [.NET Desktop Runtime 8.0](https://dotnet.microsoft.com/en-us/download/dotnet/8.0)
-## 系统要求
+请从 [下载页面](xref:downloads) 下载与你的体系结构相匹配的 MSI。 安装程序或体系结构不匹配,常常会导致安装失败,或在首次启动时出现依赖项缺失错误。
-- **操作系统:** Windows 7、Windows 8、Windows 10、Windows Server 2016、Windows Server 2019 或更高版本
-- **.NET Framework:** [4.7.2](https://dotnet.microsoft.com/download/dotnet-framework)
+
-## 激活你的安装
+## 检查已激活的许可证
-Tabular Editor 3 是商业软件。 访问我们的[主页](https://tabulareditor.com)查看价格详情和购买选项。 如果你之前没有使用过 Tabular Editor 3,则可免费试用 30 天。
+Tabular Editor 3 会将激活详细信息存储在 Windows 注册表 `HKEY_CURRENT_USER\SOFTWARE\Kapacity\Tabular Editor 3` 下。
-在新设备上首次启动 Tabular Editor 3 时,系统会提示你激活产品。
+若要查看当前 Windows 用户的许可证密钥,请在 Windows 命令提示符(开始 > 运行 > cmd.exe)中运行以下命令:
-
+```cmd
+REG QUERY "HKCU\Software\Kapacity\Tabular Editor 3" /v LicenseKey
+```
+
+你也可以使用 `regedit.exe` 直接查看和编辑 **LicenseKey** 和 **User** 的值。
-### 使用现有许可证密钥激活
+
-购买 Tabular Editor 3 许可证后,你会收到一封电子邮件,其中包含一段 25 个字符的字符串,即你的许可证密钥。 出现提示时,输入许可证密钥,然后点击“下一步 >”激活产品。
+## 激活对话框反复弹出
-
+Tabular Editor 3 会在启动时以及之后定期访问 `https://api.tabulareditor.com` 以验证许可证。 如果由于防火墙或代理而无法访问此端点,应用程序每 30 天都需要重新激活。 所用端点的完整列表见 @policies。
-> [!NOTE]
-> 对于多用户许可证类型,除了许可证密钥外,还需要输入电子邮件地址。 如果你输入的许可证密钥对应多用户许可证,Tabular Editor 3 会提示你输入电子邮件地址。
+如果激活提示仍然出现:
-#### 企业版更换席位
+1. 确认受影响的计算机可以访问 `api.tabulareditor.com`。
+2. 在 **工具 > 偏好 > 代理设置** 中配置代理。 如需进行代理相关的故障排查,请参阅 @proxy-settings,其中包括用于启用外部 MSAL 代理支持的 **AnalysisServices.AppSettings.json** 覆盖设置。
+3. 如果网络阻止向激活端点的出站流量,请使用下方的[手动激活](#manual-activation-no-internet)。
-要更换企业版席位,必须先通过 [Tabular Editor 自助服务门户](https://tabulareditor.com/my-account/) 将现有用户从该席位取消注册。 订阅所有者或许可证管理员可以创建账号,或使用现有账号登录,以管理许可证席位。
+
-> [!NOTE]
-> 仅企业版支持更换用户。
+## 手动激活(无网络连接)
-### 申请试用许可证
+如果运行 Tabular Editor 的计算机无法访问激活端点,激活提示会提供手动激活流程。
-如果你之前没有使用过 Tabular Editor 3,你可以免费试用 30 天。 选择此选项后,系统会提示你输入电子邮件地址。 我们会使用该电子邮件地址来验证你是否已激活过 Tabular Editor 3。
+
-> [!NOTE]
-> 注册 30 天试用许可证时,Tabular Editor ApS 不会发送未经请求的电子邮件,也不会将你的电子邮件地址转交给第三方。 更多信息请查看我们的 @privacy-policy。
+1. 输入您的电子邮箱。 系统会弹出一个对话框,其中包含指向激活密钥的链接。
-### 更改许可证密钥
+2. 复制该 URL,并在另一台可访问互联网的计算机上打开。 该 URL 会返回一个 JSON 对象。
-激活 Tabular Editor 3 后,你可以在“帮助”菜单中选择“关于 Tabular Editor”,来更换许可证密钥。
+ 
-
+3. 复制完整的 JSON 对象,并将其粘贴到离线计算机上的对话框中。
-在对话框中,选择“更改许可证密钥”。 注意:只有在 Tabular Editor 中未加载任何模型时,此选项才可用。 如果你已经加载了模型,可以通过“文件”>“关闭模型”将其关闭。
+ 
-#### 注册表信息
+然后,Tabular Editor 3 会验证许可证。
-Tabular Editor 3 使用 Windows 注册表来存储激活详细信息。
+## 无法通过 UI 更改许可证密钥
-要查看分配给此计算机的当前许可证密钥,请在 Windows 命令提示符中运行以下命令(开始 > 运行 > cmd.exe):
+**帮助 > 关于 Tabular Editor** 下的 **更改许可证密钥** 按钮仅在未加载任何模型时才会启用。 如果该按钮显示为灰色,请通过 **文件 > 关闭模型** 关闭当前打开的模型,然后重试。
+
+如果 UI 选项仍然无效,请通过注册表编辑器重置许可证:
+
+1. 关闭所有 Tabular Editor 3 实例。
+2. 打开注册表编辑器(开始 > 运行 > regedit.msc)。
+3. 定位到 `HKEY_CURRENT_USER\SOFTWARE\Kapacity\Tabular Editor 3`。
+4. 删除此键下的所有值。
+5. 重新启动 Tabular Editor 3。
+
+或者,在 Windows 命令提示符中运行以下命令:
```cmd
-REG QUERY "HKCU\Software\Kapacity\Tabular Editor 3" /v LicenseKey
+REG DELETE "HKCU\Software\Kapacity\Tabular Editor 3" /va
```
-你也可以使用 `regedit.exe`(Windows 注册表编辑器),并导航到 `HKEY_CURRENT_USER\SOFTWARE\Kapacity\Tabular Editor 3`,以查看和修改 **LicenseKey** 与 **User** 值。
+下次启动时,系统会像刚安装应用程序一样提示输入许可证密钥。
-系统管理员也可以通过在每个用户的 `SOFTWARE\Kapacity\Tabular Editor 3` 注册表项下指定 **LicenseKey** 和 **User** 值,提前为某台机器分配 Tabular Editor 3 许可证。
+> [!IMPORTANT]
+> 一旦移除许可证密钥,在输入新的许可证密钥之前,该计算机上的当前 Windows 用户将无法使用该产品。
-
+## 许可证绑定到了错误的 Windows 用户
-### 通过注册表更改许可证密钥
+Tabular Editor 3 的激活信息按用户存储在 `HKEY_CURRENT_USER` 下。 如果多位用户共用一台计算机,每位用户都需要在各自的 Windows 用户配置文件中激活产品。 在某个 Windows 帐户下激活的许可证,对同一台计算机上的其他 Windows 帐户不可见。
-如果由于某些原因你无法按上述流程更改许可证密钥,你也可以使用注册表编辑器重置分配给 Tabular Editor 3 的许可证:
+要检查是哪个 Windows 帐户持有许可证,用该用户身份登录,然后运行 [检查已激活的许可证](#inspect-the-activated-license) 中的注册表查询。
-1. 关闭所有 Tabular Editor 3 实例。
-2. 在 Windows 中打开“注册表编辑器”(开始 > 运行 > regedit.msc)。
-3. 找到 `HKEY_CURRENT_USER\SOFTWARE\Kapacity\Tabular Editor 3`(见上方屏幕截图)。
-4. 删除此键下的所有值。
-5. 关闭“注册表编辑器”,然后重新启动 Tabular Editor 3。
+### Windows 帐户与 Power BI / Entra 帐户
-或者,你也可以在 Windows 命令提示符(开始 > 运行 > cmd.exe)中运行以下命令:
+一个常见的混淆点:运行 Tabular Editor 3 的 Windows 帐户,与用于对 Power BI / Fabric Workspace 进行身份验证的 Microsoft Entra 帐户是彼此独立的。
-```cmd
-REG DELETE "HKCU\Software\Kapacity\Tabular Editor 3" /va
-```
+- **许可证激活**信息会存储在执行激活的 Windows 用户的 `HKEY_CURRENT_USER` 下。 它与任何云身份无关。
+- **Workspace 身份验证**是在 **从数据库加载语义模型** 对话框中建立连接时进行的。 在该对话框中使用对该 Workspace 有权限的 Microsoft Entra 帐户登录。
+
+即便你使用单独的 Entra 帐户连接到 Power BI(例如未启用邮件的管理员帐户),也不需要因此通过 **以其他用户身份运行** 在另一个 Windows 帐户下启动 Tabular Editor 3。 用你平常使用的 Windows 帐户启动,在该帐户下激活许可证,并在连接对话框中提供管理员 Entra 帐户的登录凭据。
+
+有关如何选择正确的身份验证模式的详细信息(例如,当你的 Windows 登录与 Power BI 帐户不一致时使用 **Microsoft Entra MFA**),可以查看 @xmla-as-connectivity。
+
+## 企业版席位正被另一位用户占用
+
+企业许可证采用席位制。 当所有席位都已占用时,若要为新用户激活 Tabular Editor 3,必须先通过 [Tabular Editor 自助服务门户](https://tabulareditor.com/my-account/) 将现有用户从席位中取消注册。 此操作由订阅所有者或许可证管理员执行。
+
+> [!NOTE]
+> 只有企业版支持席位重新分配。
+
+## 代理环境下的激活
+
+Tabular Editor 3 会通过出站 Web 请求执行产品激活、检查更新、DAX 格式化,以及下载外部最佳实践规则。 如果你处于代理环境中:
+
+1. 配置 **工具 > 偏好 > 代理设置**。 在 `System` 和 `None` 之间切换 **代理类型**,重启 Tabular Editor 3,然后重试激活。
+2. 如果激活仍然失败,可以查看 @proxy-settings,了解高级代理诊断。
+3. 如果对 `api.tabulareditor.com` 的出站访问被阻止,可以使用 [手动激活](#manual-activation-no-internet)。
+
+> [!TIP]
+> 代理设置可能会干扰身份验证对话框和其他外部提示。 更改代理类型后,在重新测试之前,请务必先关闭并重新打开 Tabular Editor 3。
+
+## 确认已更新至最新版本
-下次启动 Tabular Editor 3 时,系统会像该工具首次安装到此计算机时那样,提示你输入许可证密钥。
\ No newline at end of file
+与激活相关的问题有时会在较新的 Tabular Editor 3 版本中修复。 提交支持请求前,请先确认你使用的是最新版本。 你可以在 **工具 > 偏好 > 更新和反馈** 中检查更新,或从[下载页面](xref:downloads)下载最新的安装程序。
diff --git a/localizedContent/zh/content/troubleshooting/locale-not-supported.md b/localizedContent/zh/content/troubleshooting/locale-not-supported.md
index 6b3b158ff..4df4de3c4 100644
--- a/localizedContent/zh/content/troubleshooting/locale-not-supported.md
+++ b/localizedContent/zh/content/troubleshooting/locale-not-supported.md
@@ -19,12 +19,16 @@ applies_to:
# 区域设置不受支持
-你可能会看到以下警告信息:
+你可能会遇到以下任意一条警告信息:
```plaintext
不支持 XXXX 区域设置
```
+```plaintext
+XXXX 不是有效的区域设置标识符
+```
+
在 Tabular Editor 3 的“信息视图”中。

diff --git a/localizedContent/zh/content/tutorials/data-security/data-security-about.md b/localizedContent/zh/content/tutorials/data-security/data-security-about.md
index 38bb00e23..473fd0852 100644
--- a/localizedContent/zh/content/tutorials/data-security/data-security-about.md
+++ b/localizedContent/zh/content/tutorials/data-security/data-security-about.md
@@ -276,7 +276,7 @@ _这意味着,例如 Jack 这样属于“Sales”角色的用户将无法看
1. _任何直接引用“Territory Sales”[Cost] 列的查询或可视化对象_
2. _任何直接引用“Territory Sales”[Cost] 列的 DAX 度量值或计算项,例如 [Margin %]_
-3. _任何以 _间接_(下游)方式引用“Territory Sales”[Cost] 列的 DAX 度量值或计算项。_
+3. 任何以间接(下游)方式引用“Territory Sales”[Cost] 列的 DAX 度量值或计算项。
4. _任何其列与“Territory Sales”[Cost] 存在关系的对象_
_上述 1-4 的任一情况都会在查询求值时返回__错误__。 Power BI Visual 会显示一个__灰色死亡框__。_
@@ -293,8 +293,8 @@ _上述 1-4 的任一情况都会在查询求值时返回__错误__。 Power BI
同时配置 RLS 和 OLS 时,会有两种可能结果:
-1. **用户只有_一个角色_同时配置了 RLS 和 OLS:** 只要配置正确,安全性就会按预期工作。
-2. **用户有_多个角色_分别配置了 RLS 和 OLS:** 这种角色组合不受支持,用户将收到错误。
+1. **用户只有一个角色同时配置了 RLS 和 OLS:** 只要配置正确,安全性就会按预期工作。
+2. **用户有多个角色分别配置了 RLS 和 OLS:** 这种角色组合不受支持,用户将收到错误。
鉴于第 2 点,如果你预计要同时使用 RLS 和 OLS,就必须在模型设计阶段谨慎考虑这一点。
diff --git a/localizedContent/zh/content/tutorials/data-security/data-security-testing.md b/localizedContent/zh/content/tutorials/data-security/data-security-testing.md
index 70699026e..afd8016d3 100644
--- a/localizedContent/zh/content/tutorials/data-security/data-security-testing.md
+++ b/localizedContent/zh/content/tutorials/data-security/data-security-testing.md
@@ -23,7 +23,7 @@ applies_to:
---
-**DAX 查询**、**Pivot Grid** 或 **预览数据** 可用于在 Tabular Editor 中测试数据安全。 建议每次更改配置后都_务必_测试数据安全,以降低 RLS/OLS 实施不当及其后果带来的风险。
+**DAX 查询**、**Pivot Grid** 或 **预览数据** 可用于在 Tabular Editor 中测试数据安全。 建议每次更改配置后都务必测试数据安全,以降低 RLS/OLS 实施不当及其后果带来的风险。
> [!IMPORTANT]
> 在 Tabular Editor 3 中使用模拟来测试数据安全,仅适用于托管在 Analysis Services 实例或 Power BI 服务中的 Dataset。 Tabular Editor 3 桌面版许可证无法使用此功能。
diff --git a/localizedContent/zh/content/tutorials/incremental-refresh/incremental-refresh-setup.md b/localizedContent/zh/content/tutorials/incremental-refresh/incremental-refresh-setup.md
index 072c17246..a6ce2331f 100644
--- a/localizedContent/zh/content/tutorials/incremental-refresh/incremental-refresh-setup.md
+++ b/localizedContent/zh/content/tutorials/incremental-refresh/incremental-refresh-setup.md
@@ -84,7 +84,9 @@ applies_to:
- **RollingWindowPeriods:** 需要归档的周期数(按上面指定的粒度)。
- **Mode:** 是标准 `Import` 刷新策略还是 `Hybrid`,其中最后一个分区为 DirectQuery。
- **PollingExpression:** 用于检测数据更改的有效 M 表达式。 有关 _Polling Expression_ 或其他刷新策略属性的更多信息,请参阅[此处](xref:incremental-refresh-about#overview-of-all-properties)。
+
8. **Apply Model Changes:** 保存模型(Ctrl+S)。
+
9. **应用刷新策略:** 右键单击该表,然后选择“应用刷新策略”。
diff --git a/localizedContent/zh/content/tutorials/new-pbi-model.md b/localizedContent/zh/content/tutorials/new-pbi-model.md
index 33888d877..77cb337cf 100644
--- a/localizedContent/zh/content/tutorials/new-pbi-model.md
+++ b/localizedContent/zh/content/tutorials/new-pbi-model.md
@@ -2,7 +2,7 @@
uid: new-pbi-model
title: 创建 Power BI 语义模型
author: Daniel Otykier
-updated: 2021-09-06
+updated: 2026-06-11
applies_to:
products:
- product: Tabular Editor 2
@@ -23,7 +23,7 @@ applies_to:
本页将带你从零开始,使用 Tabular Editor 3 创建一个全新的 Power BI 语义模型。
> [!IMPORTANT]
-> Tabular Editor 3 商业版仅适用于 [Power BI Premium Per User](https://docs.microsoft.com/en-us/power-bi/admin/service-premium-per-user-faq)。 如果你使用 Fabric/Power BI Premium 或 Embedded 容量,则必须升级到 Tabular Editor 3 企业版。 无论哪种情况,要部署语义模型的 Power BI Workspace 都必须启用 [XMLA 读/写端点](https://docs.microsoft.com/en-us/power-bi/admin/service-premium-connect-tools#enable-xmla-read-write)。
+> Tabular Editor 3 商业版仅限于 [Power BI Premium Per User](https://learn.microsoft.com/en-us/fabric/enterprise/powerbi/service-premium-per-user-faq)。 如果使用 Fabric、Power BI Premium 或 Embedded 容量,则必须升级到 Tabular Editor 3 企业版。 无论哪种情况,目标 Workspace 都必须允许 [XMLA 读/写访问](https://learn.microsoft.com/en-us/fabric/enterprise/powerbi/service-premium-connect-tools#enable-xmla-read-write)——自 2025 年六月起,这已成为所有容量 SKU 的默认设置。
>
> Tabular Editor 3 桌面版不支持 Power BI 语义模型。
>
diff --git a/localizedContent/zh/content/tutorials/powerbi-xmla.md b/localizedContent/zh/content/tutorials/powerbi-xmla.md
index 1cb1f4f5d..e91336590 100644
--- a/localizedContent/zh/content/tutorials/powerbi-xmla.md
+++ b/localizedContent/zh/content/tutorials/powerbi-xmla.md
@@ -2,7 +2,7 @@
uid: powerbi-xmla
title: 通过 XMLA endpoint 编辑
author: Daniel Otykier
-updated: 2021-10-01
+updated: 2026-06-11
applies_to:
products:
- product: Tabular Editor 2
@@ -18,34 +18,34 @@ applies_to:
full: true
---
-# 通过 XMLA endpoint 编辑 Power BI Dataset
+# 通过 XMLA endpoint 编辑 Power BI 语义模型
-你可以使用 Tabular Editor 3,通过 [XMLA endpoint](https://docs.microsoft.com/en-us/power-bi/admin/service-premium-connect-tools) 连接到发布到 Power BI 服务的 Power BI Dataset。 XMLA endpoint 可用于 Power BI Premium 容量 Workspace(即分配到 Px、Ax 或 EMx SKU 的 Workspace),或 Power BI Premium Per User(PPU)Workspace。
+你可以使用 Tabular Editor 3,通过 [XMLA endpoint](https://learn.microsoft.com/en-us/fabric/enterprise/powerbi/service-premium-connect-tools) 连接到已发布到 Power BI 服务的 Power BI 语义模型。 分配到 Fabric capacity(F SKU)、Power BI Embedded capacity(A 或 EM SKU)或旧版 Premium capacity(P SKU)的 Workspace,或使用 Premium Per User(PPU)许可证时,均可使用 XMLA endpoint。
> [!NOTE]
-> 仅有 Power BI Pro 许可证不足以在共享 Workspace 中访问 Power BI Dataset。 进行 XMLA 访问需要 Premium/Embedded 容量或 Power BI Premium Per User 许可。
+> 仅有 Power BI Pro 许可证不足以在共享 Workspace 中访问 Power BI 语义模型。 XMLA 访问需要 Fabric capacity、Embedded capacity、旧版 Premium capacity 或 Premium Per User 许可证。
## 先决条件
-Tabular Editor 要求 XMLA endpoint 同时允许读取和写入访问。 该设置由容量管理员控制,详见[这里](https://docs.microsoft.com/en-us/power-bi/admin/service-premium-connect-tools#enable-xmla-read-write)。
+Tabular Editor 要求 XMLA endpoint 同时允许读取和写入访问。 Microsoft 已于 2025 年六月在所有 Fabric 和 Power BI 容量 SKU 上默认启用 XMLA 读取/写入。 如果无法连接,请让 [你的容量管理员](https://learn.microsoft.com/en-us/fabric/enterprise/powerbi/service-premium-connect-tools#enable-xmla-read-write) 验证 @xmla-as-connectivity 中描述的设置。
> [!IMPORTANT]
> 如果你使用 Tabular Editor 3,请注意连接到 Power BI XMLA endpoint 的[许可证限制](xref:editions)。 根据你使用的 Power BI Workspace 类型,你至少需要 Tabular Editor 3 商业版或企业版。
## 限制
-通过 XMLA endpoint 连接到 Dataset 时,可以编辑 [Tabular Object Model (TOM)](https://docs.microsoft.com/en-us/analysis-services/tom/introduction-to-the-tabular-object-model-tom-in-analysis-services-amo?view=asallproducts-allversions) 支持的所有 Data model 建模操作。 换句话说,通过 Power BI 服务的 XMLA endpoint 编辑 Dataset 时,[Power BI Desktop 限制](xref:desktop-limitations) 不适用。
+通过 XMLA endpoint 连接到语义模型时,可以编辑 [Tabular Object Model (TOM)](https://learn.microsoft.com/en-us/analysis-services/tom/introduction-to-the-tabular-object-model-tom-in-analysis-services-amo?view=asallproducts-allversions) 支持的所有数据建模操作。 换句话说,通过 Power BI 服务的 XMLA endpoint 编辑语义模型时,[Power BI Desktop Limitations](xref:desktop-limitations) 不适用。
## 工作流
-Power BI XMLA endpoint 本质上相当于公开了一个 Analysis Services 实例,Tabular Editor 可以连接到该实例。 因此,你可以将 Power BI Workspace 视为 Analysis Services 的**服务器**,而 Workspace 中的每个 Power BI Dataset 则对应 Analysis Services 的**数据库**。 连接到 XMLA endpoint 后,Tabular Editor 的所有建模和管理功能都可用。 如果你决定使用 Tabular Editor 来构建并维护你的 Power BI Dataset,也应考虑为模型元数据使用某种版本控制系统。
+Power BI XMLA endpoint 本质上相当于公开了一个 Analysis Services 实例,Tabular Editor 可以连接到该实例。 因此,你可以将 Power BI Workspace 视为 Analysis Services **服务器**,而 Workspace 中的每个 Power BI 语义模型都对应一个 Analysis Services **数据库**。 连接到 XMLA endpoint 后,Tabular Editor 的所有建模和管理功能都可用。 如果你决定使用 Tabular Editor 来构建和维护 Power BI 语义模型,也应考虑为模型元数据使用某种版本控制系统。
工作流如下:
-1. 在 Tabular Editor 中创建新的 Data model,或通过 Power BI 的 XMLA endpoint 连接到现有的 Dataset
+1. 在 Tabular Editor 中创建新的 Data model,或通过 Power BI 的 XMLA endpoint 连接到现有的语义模型
2. 将此模型保存为 **Model.bim** 文件,或使用 Tabular Editor 的 [保存到文件夹](xref:save-to-folder) 选项。
3. 每当你要更改模型时,加载你在步骤 2 中保存的文件/文件夹。 第一次这样做时,决定是否要使用 [Workspace 数据库](xref:workspace-mode)。
-4. 当你准备将更改发布到 Power BI 服务时,通过 Tabular Editor 进行部署(**Model > Deploy...**),从而在 Power BI Workspace 中创建新的 Dataset,或覆盖现有 Dataset。
+4. 当你准备将更改发布到 Power BI 服务时,通过 Tabular Editor 进行部署(**Model > Deploy...**),从而在 Power BI Workspace 中创建新的语义模型,或覆盖现有语义模型。
## 后续步骤
diff --git a/localizedContent/zh/content/tutorials/udfs.md b/localizedContent/zh/content/tutorials/udfs.md
index b9b98162d..0ecd51b3d 100644
--- a/localizedContent/zh/content/tutorials/udfs.md
+++ b/localizedContent/zh/content/tutorials/udfs.md
@@ -107,7 +107,7 @@ FUNCTION FunctionName =
UDF 的一个关键特性是,参数可采用两种模式定义:**按值传递**和 **按引用传递**。 默认情况下,除非你另有指定,参数将采用**按值传递**。 这意味着该参数在 UDF 表达式内部的行为与 DAX 变量基本一致(即使用 `VAR` 关键字定义的变量)。 换句话说,当调用 UDF 时,参数值会被“复制”到函数中,函数内部对该参数的任何引用都会始终返回相同的值。
-相比之下,**按引用传递**参数的行为更像度量值。 也就是说,在函数_内部_对该参数进行求值的结果,可能会因评估语境不同而变化。
+相比之下,**按引用传递**参数的行为更像度量值。 也就是说,在函数内部对该参数进行求值的结果,可能会因评估语境不同而变化。
要指定求值模式,请在参数名后添加参数规格,并用冒号(`:`)分隔。 该说明可以是 `VAL` 或 `EXPR`,分别对应“按值传递”和“按引用传递”。 如上所述,“按值传递”是默认值,因此未指定时会隐式采用 `VAL`。 例如:
diff --git a/metadata/build-config.json b/metadata/build-config.json
index aea98afd8..f55724a4b 100644
--- a/metadata/build-config.json
+++ b/metadata/build-config.json
@@ -12,7 +12,8 @@
"security",
"troubleshooting",
"tutorials",
- "whats-new"
+ "whats-new",
+ "includes"
]
},
"sharedDirectories": {