diff --git a/localizedContent/es/content/features/ai-assistant.md b/localizedContent/es/content/features/ai-assistant.md index 30f01f3ff..61b6b309e 100644 --- a/localizedContent/es/content/features/ai-assistant.md +++ b/localizedContent/es/content/features/ai-assistant.md @@ -2,7 +2,7 @@ uid: ai-assistant title: Asistente de IA author: Morten Lønskov -updated: 2026-04-17 +updated: 2026-06-24 applies_to: products: - product: Tabular Editor 2 @@ -44,11 +44,11 @@ El Asistente de IA utiliza un modelo BYOK de clave aportada por el usuario. Tú ## Proveedores compatibles -Configura tu proveedor de IA en **Herramientas > Preferencias > Asistente de IA > Proveedor de IA**. Selecciona un proveedor en la lista desplegable — el valor predeterminado es **Ninguno (IA deshabilitada)** hasta que configures uno — introduce tu clave de API y, si lo deseas, reemplaza el modelo predeterminado. Para OpenAI y Anthropic, el campo **Nombre del modelo** es un cuadro combinado rellenado previamente con modelos conocidos; también puedes escribir un nombre de modelo personalizado. +Configura tu proveedor de IA en **Herramientas > Preferencias > Asistente de IA > Proveedor de IA**. Selecciona un proveedor en la lista desplegable — el valor predeterminado es **Ninguno (IA deshabilitada)** hasta que configures uno — introduce tu clave de API y, si lo deseas, reemplaza el modelo predeterminado. Para OpenAI y Anthropic, el campo **Nombre del modelo** es un cuadro combinado que viene relleno con los modelos actuales —incluidos `claude-fable-5` y `claude-opus-4-8` de Anthropic, y `gpt-5.5` y `gpt-5.5-pro` de OpenAI—, de modo que puedes elegir un modelo reciente sin tener que escribir un ID personalizado. También puedes escribir un nombre de modelo personalizado. | Proveedor | Modelo predeterminado | Configuración necesaria | | -------------------------------------------------------- | -------------------------------- | -------------------------------------------------------------------------------------- | -| OpenAI | gpt-4o | Clave de API. URL base, ID de organización e ID de proyecto opcionales | +| OpenAI | gpt-5.5 | Clave de API. URL base, ID de organización e ID de proyecto opcionales | | Anthropic | claude-sonnet-4-6 | Clave de API. URL base opcional | | Azure OpenAI | Dependiente de la implementación | Clave de API, URL del punto de conexión y nombre de la implementación | | Personalizado (compatible con OpenAI) | Especificado por el usuario | Clave de API y URL personalizada del punto de conexión | @@ -57,7 +57,7 @@ Configura tu proveedor de IA en **Herramientas > Preferencias > Asistente de IA ### OpenAI -Selecciona **OpenAI** como proveedor e introduce tu clave de API. Opcionalmente, puedes especificar un ID de organización y un ID de proyecto si tu cuenta de OpenAI los usa. El modelo predeterminado es **gpt-4o**, pero puedes cambiarlo por cualquier modelo disponible en tu cuenta. +Selecciona **OpenAI** como proveedor e introduce tu clave de API. Opcionalmente, puedes especificar un ID de organización y un ID de proyecto si tu cuenta de OpenAI los usa. El modelo predeterminado es **gpt-5.5**, pero puedes cambiarlo por cualquier modelo disponible en tu cuenta. ![Configuración de OpenAI en el Asistente de IA](~/content/assets/images/ai-assistant/ai-assistant-openai-config.png) diff --git a/localizedContent/es/content/features/table-groups.md b/localizedContent/es/content/features/table-groups.md index 4ebda5070..19350208d 100644 --- a/localizedContent/es/content/features/table-groups.md +++ b/localizedContent/es/content/features/table-groups.md @@ -2,7 +2,7 @@ uid: table-groups title: Grupos de tablas author: Daniel Otykier -updated: 2023-03-08 +updated: 2026-06-24 applies_to: products: - product: Tabular Editor 2 @@ -25,6 +25,8 @@ Los grupos de tablas son una nueva funcionalidad disponible en Tabular Editor 3 Puedes configurar los grupos de tablas haciendo clic con el botón derecho en una tabla y eligiendo la opción de menú **Crear > Grupo de tablas**, o bien especificando un nombre para el grupo de tablas en la **vista de propiedades** mientras seleccionas una o varias tablas. +También puedes usar el submenú contextual **Mover al grupo** al hacer clic con el botón derecho en una o varias tablas seleccionadas. El submenú muestra los grupos de tablas existentes, una opción **(Nuevo...)** que crea un nuevo grupo a partir de las tablas seleccionadas y abre el editor para asignarle un nombre, y una opción **(Ninguno)** que elimina la asignación del grupo de tablas. + Las tablas se pueden mover entre grupos de tablas arrastrando y soltando en el Explorador TOM. Ten en cuenta que, a diferencia de las carpetas de visualización para medidas, columnas y jerarquías, los grupos de tablas no se pueden anidar. Al hacer clic con el botón derecho en un grupo de tablas en el Explorador TOM, obtienes las mismas opciones del menú contextual que si hubieras seleccionado la tabla o las tablas dentro de ese grupo de tablas. diff --git a/localizedContent/es/content/features/views/tom-explorer-view.md b/localizedContent/es/content/features/views/tom-explorer-view.md index cdbf86e9a..790b15e4b 100644 --- a/localizedContent/es/content/features/views/tom-explorer-view.md +++ b/localizedContent/es/content/features/views/tom-explorer-view.md @@ -2,7 +2,7 @@ uid: tom-explorer-view title: Vista del Explorador TOM author: Morten Lønskov -updated: 2026-03-19 +updated: 2026-06-24 applies_to: products: - product: Tabular Editor 2 @@ -52,7 +52,7 @@ El menú del botón derecho incluye los siguientes elementos, algunos de los cua Muestra un submenú que permite crear nuevas medidas, columnas, jerarquías, carpetas de visualización o elementos de cálculo bajo el objeto seleccionado. Las opciones disponibles dependen del tipo de objeto seleccionado. - **Mover a un grupo**: - Te permite organizar la tabla en un grupo de tablas dentro del Explorador TOM para navegar por el modelo con más facilidad. Esta opción solo está disponible para tablas. + Abre un submenú para organizar las tablas seleccionadas en un grupo de tablas y facilitar la navegación por el modelo. El submenú muestra los grupos de tablas existentes, una entrada **(Nuevo...)** que crea un grupo a partir de las tablas seleccionadas y abre el editor para nombrarlo, y una entrada **(Ninguno)** que elimina la asignación al grupo de tablas. Esta opción solo está disponible para tablas. - **Hacer invisible**: Marca el objeto como no visible en las herramientas cliente. La tabla sigue formando parte del modelo, pero está oculta para los autores de informes. Como alternativa, puedes usar el atajo **Ctrl+I** para ocultar el objeto. diff --git a/localizedContent/es/content/references/downloads.md b/localizedContent/es/content/references/downloads.md index 75a840d20..4e3fc4f0d 100644 --- a/localizedContent/es/content/references/downloads.md +++ b/localizedContent/es/content/references/downloads.md @@ -2,7 +2,7 @@ uid: downloads title: Todas las descargas author: Daniel Otykier -updated: 2026-04-17 +updated: 2026-06-25 --- # Descargas de Tabular Editor 3 @@ -11,14 +11,14 @@ Esta página ofrece instrucciones de descarga e instalación para Tabular Editor ## Última versión -Descargas de Tabular Editor 3.26.1 para **.NET 8**: +Descargas de Tabular Editor 3.26.2 para **.NET 8**: -- Descargar [Tabular Editor 3.26.1 (64 bits)](https://cdn.tabulareditor.com/files/TabularEditor.3.26.1.Installer.x64.Net8.exe) _(recomendado)_ -- Descargar [Tabular Editor 3.26.1 (ARM64)](https://cdn.tabulareditor.com/files/TabularEditor.3.26.1.Installer.ARM64.Net8.exe) -- Versiones portátiles: [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) -- Versión 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) +- Descargar [Tabular Editor 3.26.2 (64 bits)](https://cdn.tabulareditor.com/files/TabularEditor.3.26.2.Installer.x64.Net8.exe) _(recomendado)_ +- Descargar [Tabular Editor 3.26.2 (ARM64)](https://cdn.tabulareditor.com/files/TabularEditor.3.26.2.Installer.ARM64.Net8.exe) +- Versiones portátiles: [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.2.x64.Net8.zip), [ARM64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.2.ARM64.Net8.zip) +- Versión MSI: [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.2.x64.Net8.msi), [ARM64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.2.ARM64.Net8.msi) -Lee las [últimas notas de la versión](release-notes/3_26_1.md). +Lee las [notas de la versión más reciente](release-notes/3_26_2.md). ## Instrucciones de instalación @@ -30,6 +30,10 @@ No es necesario desinstalar versiones anteriores al actualizar a una versión m ## Historial +- 2026-06-25 **Tabular Editor 3.26.2** (_[Notas de la versión](release-notes/3_26_2.md)_) + - .NET 8 instalador (.exe): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.2.Installer.x64.Net8.exe), [ARM64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.2.Installer.ARM64.Net8.exe) + - .NET 8 portátil (.zip): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.2.x64.Net8.zip), [ARM64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.2.ARM64.Net8.zip) + - .NET 8 instalador (.msi): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.2.x64.Net8.msi), [ARM64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.2.ARM64.Net8.msi) - 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) @@ -62,16 +66,5 @@ No es necesario desinstalar versiones anteriores al actualizar a una versión m - .NET 8 instalador (.exe): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.22.1.Installer.x64.Net8.exe), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.22.1.Installer.x86.Net8.exe) - .NET 8 portátil (.zip): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.22.1.x64.Net8.zip), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.22.1.x86.Net8.zip) - .NET 8 instalador (.msi): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.22.1.x64.Net8.msi), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.22.1.x86.Net8.msi) -- 2025-04-25 **Tabular Editor 3.21.0** (_[Notas de la versión](release-notes/3_21_0.md)_) - - .NET 8 instalador (.exe): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.21.0.Installer.x64.Net8.exe), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.21.0.Installer.x86.Net8.exe) - - .NET 8 portátil (.zip): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.21.0.x64.Net8.zip), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.21.0.x86.Net8.zip) - - .NET 8 instalador (.msi): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.21.0.x64.Net8.msi), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.21.0.x86.Net8.msi) -- 2025-04-11 **Tabular Editor 3.20.1** (_[Notas de la versión](release-notes/3_20_1.md)_) - - .NET 8 instalador (.exe): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.20.1.Installer.x64.Net8.exe), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.20.1.Installer.x86.Net8.exe) - - .NET 8 portátil (.zip): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.20.1.x64.Net8.zip), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.20.1.x86.Net8.zip) - - .NET 8 instalador (.msi): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.20.1.x64.Net8.msi), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.20.1.x86.Net8.msi) - - .NET 6 instalador (.exe): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.20.1.Installer.x64.exe), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.20.1.Installer.x86.exe) - - .NET 6 portátil (.zip): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.20.1.x64.zip), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.20.1.x86.zip) - - .NET 6 instalador (.msi): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.20.1.x64.msi), [x86](https://cdn.tabulareditor.com/files/TabularEditor.3.20.1.x86.msi) Para versiones anteriores, consulta el [historial completo de versiones](release-history.md). \ No newline at end of file diff --git a/localizedContent/es/content/references/release-history.md b/localizedContent/es/content/references/release-history.md index b994408c1..23f6cdac9 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-06-25 **Tabular Editor 3.26.2** (_[Notas de la versión](release-notes/3_26_2.md)_) + - .NET 8 instalador (.exe): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.2.Installer.x64.Net8.exe), [ARM64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.2.Installer.ARM64.Net8.exe) + - .NET 8 portátil (.zip): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.2.x64.Net8.zip), [ARM64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.2.ARM64.Net8.zip) + - .NET 8 instalador (.msi): [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.2.x64.Net8.msi), [ARM64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.2.ARM64.Net8.msi) - 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) diff --git a/localizedContent/es/content/references/release-notes/3_26_2.md b/localizedContent/es/content/references/release-notes/3_26_2.md new file mode 100644 index 000000000..e8e557548 --- /dev/null +++ b/localizedContent/es/content/references/release-notes/3_26_2.md @@ -0,0 +1,120 @@ +--- +uid: release-3-26-2 +--- + +# Tabular Editor 3.26.2 + +# [**Descargas**](#tab/downloads) + +Descargas de Tabular Editor 3.26.2: + +- Descargar [Tabular Editor 3.26.2 (x64)](https://cdn.tabulareditor.com/files/TabularEditor.3.26.2.Installer.x64.Net8.exe) _(recomendado)_ +- Descargar [Tabular Editor 3.26.2 (ARM64)](https://cdn.tabulareditor.com/files/TabularEditor.3.26.2.Installer.ARM64.Net8.exe) +- Versiones portátiles: [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.2.x64.Net8.zip), [ARM64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.2.ARM64.Net8.zip) +- Versión MSI: [x64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.2.x64.Net8.msi), [ARM64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.2.ARM64.Net8.msi) + +_Si aún no has usado Tabular Editor 3, tienes derecho a una prueba de 30 días, que puedes activar después de la instalación. También puedes [comprar una licencia](https://tabulareditor.com/licensing)._ + +# [**Sumas de comprobación SHA-256**](#tab/checksums) + +| Archivo | Entorno de ejecución para «.NET» | Plataforma | SHA-256 | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------ | ---------- | ------------------------------------------------------------------ | +| [TabularEditor.3.26.2.Installer.x64.Net8.exe](https://cdn.tabulareditor.com/files/TabularEditor.3.26.2.Installer.x64.Net8.exe) | .NET 8 | x64 | `CDCEEF571902E58E3368F5A60BBF6926C310B34B2CC4ABA2F3D28B9A5C1C98AC` | +| [TabularEditor.3.26.2.x64.Net8.msi](https://cdn.tabulareditor.com/files/TabularEditor.3.26.2.x64.Net8.msi) | .NET 8 | x64 | `D3C0FA8184855C57D16D78CD9D2A44A7622E3C67CD07CFDC7B6D0EA59FB30E09` | +| [TabularEditor.3.26.2.x64.Net8.zip](https://cdn.tabulareditor.com/files/TabularEditor.3.26.2.x64.Net8.zip) | .NET 8 | x64 | `B4A2B836E6DA359E798D7546934F1A477C2F4C74D653995D77D2F182A57A8725` | +| [TabularEditor.3.26.2.Installer.ARM64.Net8.exe](https://cdn.tabulareditor.com/files/TabularEditor.3.26.2.Installer.ARM64.Net8.exe) | .NET 8 | ARM64 | `7CC1E25D51EA665787500DC460BB533F457E26FF7AE5A4B9F44480F980F1998F` | +| [TabularEditor.3.26.2.ARM64.Net8.msi](https://cdn.tabulareditor.com/files/TabularEditor.3.26.2.ARM64.Net8.msi) | .NET 8 | ARM64 | `A8A6E324D38E80140B171B5D7F84C5EBADD6AFE2810529504F332091ECF7E682` | +| [TabularEditor.3.26.2.ARM64.Net8.zip](https://cdn.tabulareditor.com/files/TabularEditor.3.26.2.ARM64.Net8.zip) | .NET 8 | ARM64 | `B265579D384A6586B7599CBC0A54032C5F477D3A485FC1F773F79D4B31D128C6` | + +*** + +Echa un vistazo a nuestro [blog del lanzamiento](https://tabulareditor.com/blog/tabular-editor-3-june-2026-release) para obtener una breve visión general de las actualizaciones más importantes de este lanzamiento. + +## Mejoras en la versión 3.26.2 + +- Se añadió el submenú contextual de clic derecho **Mover a grupo** para las tablas del Explorador TOM. El submenú muestra los grupos de tablas existentes, una opción **(Nuevo...)** que crea un grupo nuevo con las tablas seleccionadas y abre el editor de nombres, y una opción **(Ninguno)** que quita la asignación del grupo de tablas. + +- Se actualizaron los preajustes de modelos en las preferencias del Asistente de IA con las últimas versiones, para que los usuarios puedan elegir modelos actuales sin escribir un ID de modelo personalizado. Se agregaron `claude-fable-5` y `claude-opus-4-8` de Anthropic, y `gpt-5.5`/`gpt-5.5-pro` de OpenAI, junto con otras variantes actuales de GPT-5. Se eliminaron las entradas obsoletas (como las variantes antiguas de Codex) y el modelo predeterminado de OpenAI ahora es `gpt-5.5`. + +- **Mejoras del analizador semántico** + - Se agregó compatibilidad con parámetros opcionales con expresiones predeterminadas en las UDF de DAX. + - El analizador semántico ahora emite mensajes de advertencia o error adecuados cuando se llama a una UDF con un parámetro que no coincide con su tipo declarado (por ejemplo, al pasar un valor escalar a un parámetro `TABLEREF`, etc.) + - El analizador semántico ahora informa de un error cuando `IGNORE` se usa en cualquier lugar que no sea directamente como argumento de expresión de `SUMMARIZECOLUMNS`, en consonancia con el comportamiento del motor. + - El analizador semántico ahora admite el nuevo componente opcional y los parámetros de escape introducidos para la función `NAMEOF` en Power BI Desktop de abril de 2026. Las palabras clave de componente válidas son `TABLE`, `COLUMN`, `MEASURE`, `CALENDAR`, `FULL`, `SELF`, `PARENT`; las palabras clave de escape válidas son `ESCAPED`, `UNESCAPED`, `MINIMALLYESCAPED`. El tipo de valor devuelto no cambia (cadena escalar). Por ejemplo, `EVALUATE { NAMEOF([MyMeasure], TABLE, MINIMALLYESCAPED) }` devuelve el componente del nombre de la tabla de una referencia de medida totalmente calificada.

+ +- **Mejoras de Semantic Bridge** + - Al importar una Databricks Metric View, ahora se incorporan los metadatos de la vista al modelo semántico. + - `comment` pasa a ser la descripción del modelo, las dimensiones y las medidas. + - `display_name` pasa a ser el nombre visible para el usuario en el modelo TOM, con `name` como alternativa si no se ha definido ningún `display_name`. + - El `format` de medidas y dimensiones se traduce a FormatString de TOM, y el DataType de la columna o medida resultante se infiere a partir del formato (moneda, porcentaje, fecha, etc.). + Las especificaciones de formato sin un equivalente claro en TOM recurren a un valor predeterminado razonable y generan una advertencia. + - Se ha mejorado la traducción de SQL a DAX: los recuentos de filas (`COUNT(*)`), las referencias `MEASURE(name)`, las operaciones binarias, los literales (incluido `NULL` -> `BLANK()`), la asignación de `/` al `DIVIDE` seguro frente a valores en blanco y la precedencia de los paréntesis ahora se traducen correctamente. + - Las expresiones fuera del conjunto reconocido siguen recurriendo al SQL literal, con una advertencia. + - La traducción a DAX se hace con el mejor esfuerzo posible; revísala y valídala antes de implementarla. + - Se agregó soporte para esquemas en copo de nieve con uniones anidadas. + - La deserialización de YAML acepta tanto `fields:` como `dimensions:` en el nivel superior: la especificación Databricks v1.1 los trata como alias. + El recorrido de ida y vuelta conserva la palabra clave que haya usado el YAML de origen. Las vistas creadas en TE3 (sin YAML de origen) usan `dimensions:` de forma predeterminada para v1.1 y anteriores: el alias `fields:` se introdujo después de que se publicara la especificación v1.1, así que mantenemos la compatibilidad con las herramientas que usan la especificación 1.1 original. + Aparece una advertencia de deserialización cuando una vista v1.1+ usa `dimensions:` (la especificación marca `fields:` como opción preferida a partir de v1.1), y aparece una advertencia equivalente cuando una vista anterior a v1.1 usa `fields:`. + - En la superficie de scripting de C# Script, `Dimension` pasa a llamarse `Field` (`view.Fields`, `view.AddField`, `Dimension` -> `Field`, `MakeValidationRuleForDimension` -> `MakeValidationRuleForField`, `ctx.DimensionNames` -> `ctx.FieldNames`). + - Los nombres heredados se mantienen como alias obsoletos que siguen compilando y ejecutándose con advertencias de desuso, por lo que los scripts existentes y las rutas almacenadas como `Model.Dimensions["x"]` siguen funcionando. + - Las medidas de ventana (incluido el campo `offset:` de v1.1) se conservan en la deserialización y serialización de YAML. Aún no traducimos las características que la especificación marca como experimentales; el round-trip de YAML las conserva para que no se pierdan. + - Las uniones ahora admiten dos propiedades nuevas en la especificación v1.1 actualizada: + - Se admite el mapa `rely:` + - El campo `cardinality:` se conserva en la ida y vuelta tanto para los dos valores de la especificación (`many_to_one`, `one_to_many`) como cuando se omite. + Un valor desconocido usa `many_to_one` como valor predeterminado, con una advertencia. + - Las uniones declaradas con `cardinality: one_to_many` se siguen importando, pero la relación con el origen se omite intencionadamente: la especificación v1.1 trata estas uniones como orígenes de hechos independientes, agregados por separado a la granularidad del origen. + La tabla combinada se sigue creando para que aparezca en el modelo TOM resultante, pero sin las relaciones definidas. + Se muestra una advertencia que señala esta diferencia en cada unión afectada. + +## Correcciones de errores en 3.26.2 + +- Se corrigió un error por el que el chat de IA fallaba con un error `BadRequest` ("temperature is deprecated for this model") en Anthropic Claude Opus 4.7+ y Fable 5, que dejaron de admitir el parámetro de muestreo `temperature`. La lógica de reintento que reenvía la solicitud de forma transparente sin indicar explícitamente `temperature` ahora también reconoce la redacción de este proveedor, además de los casos que ya se contemplaban. + +- Ahora se sugieren calendarios en el autocompletado para las funciones `NAMEOF` y `TABLEOF`, junto con tablas, columnas y medidas. Esto incluye calendarios que no tienen configuradas columnas de unidad de tiempo (como un calendario recién agregado y aún sin configurar), que antes se omitían. Al escribir un prefijo entre comillas simples (por ejemplo, `'My Cal`), ahora se limitan las sugerencias a los calendarios coincidentes, igual que ocurre con las tablas. + +- La ordenación y la paginación en la **Vista previa de datos** de la tabla ahora son más fiables en todos los modos de almacenamiento: + +- La ordenación por una columna que no tiene jerarquía de atributos ya no devuelve las filas en un orden incorrecto. Cuando es posible, la paginación ahora usa la función `WINDOW` (en motores que la admiten, para tablas con clave primaria); de lo contrario, la vista previa muestra las primeras filas e indica que el desplazamiento está desactivado. + +- La disponibilidad de la jerarquía de atributos ahora se lee directamente del servidor, por lo que sigue siendo correcta incluso después de que el modelo se procese fuera de Tabular Editor. + +- Las tablas DirectQuery ahora muestran correctamente las primeras filas (la paginación no es posible con DirectQuery), junto con un mensaje informativo. + +- Los metadatos de la vista previa se almacenan en caché durante la sesión y solo se actualizan cuando haces clic en **Actualizar**, lo que evita viajes de ida y vuelta innecesarios al servidor (incluidas las consultas repetidas de recuento de filas). + +- El formateador de DAX ya no elimina el calificador de tabla de los bloques `DEFINE MEASURE` cuando la tabla principal no se puede resolver en el modelo. Antes, esto podía convertir un `MEASURE 'Sales'[Amount] = ...` válido en el inválido `MEASURE [Amount] = ...`, lo que invalidaba la instrucción. + +- El analizador semántico ya no informa de un error espurio cuando se usa una función de eliminación de filtros (`ALL`, `ALLSELECTED`, `REMOVEFILTERS` o `ALLCROSSFILTERED`) como expresión principal del cuerpo de una función DAX definida por el usuario; por ejemplo: `FUNCTION F = () => REMOVEFILTERS('Sales')`. Estas UDF son válidas cuando se invocan como argumento de filtro de `CALCULATE`. El uso incorrecto se sigue notificando en los puntos de invocación, y los modificadores de relación (`CROSSFILTER` / `USERELATIONSHIP`) y `KEEPFILTERS` siguen siendo inválidos como cuerpos de UDF, en consonancia con el comportamiento del motor. + +- Al cambiar el nombre de una tabla a la que se hace referencia dentro de una llamada a la función NAMEOF, la corrección de fórmulas ahora actualiza correctamente la referencia a esa tabla. + +- El analizador semántico ya no informa de un error espurio cuando `TABLEOF(...)` se pasa como argumento de referencia de tabla a `ALL`, `ALLEXCEPT`, `ALLSELECTED`, `ALLNOBLANKROW`, `ALLCROSSFILTERED` o `REMOVEFILTERS`. + +- La acción **Actualizar esquema de tabla** ahora se comporta correctamente cuando se invoca en una combinación de tipos de objetos o cuando se invoca en un Grupo de tablas. + +--- + +## ¿Vienes de Tabular Editor 2.x? + +Mira [este vídeo](https://youtu.be/O4ATwdzCvWc) para hacer un recorrido rápido por las principales funcionalidades de Tabular Editor 3. Además, asegúrate de consultar nuestra [guía de inicio](https://docs.tabulareditor.com/onboarding/index.html). + +**Descripción general de las principales características de Tabular Editor 3:** + +- IDE totalmente personalizable, con compatibilidad con múltiples monitores, soporte HiDPI y temas +- Nuevo y potente editor de código DAX con autocompletado, comprobación de sintaxis, plegado de código y mucho, mucho más +- \*Modo del área de trabajo, que permite guardar los cambios en disco y sincronizar simultáneamente los metadatos del modelo con Analysis Services +- \*Previsualizar datos de tablas con desplazamiento infinito, crear PivotGrids o escribir consultas DAX para explorar el modelo o probar la lógica de cálculo +- \*Programar actualizaciones de datos +- Actualizar los esquemas de las tablas tanto en Data sources de proveedor como en orígenes de datos estructurados (sí, ¡incluso para consultas M!) +- Crear diagramas del Data model +- Crear scripts DAX que permiten editar varias medidas u otros objetos calculados en un solo documento +- Grabar C# Scripts y guardarlos como macros (antes conocidas como "Custom Actions") +- Integración con el Analizador VertiPaq +- Depurador de DAX +- Integración del Optimizador de DAX +- Acciones de código para refactorizar fácilmente tus expresiones DAX. + +\*=Solo disponible cuando se está conectado a una instancia de Analysis Services o Power BI + +--- + diff --git a/localizedContent/es/content/references/whats-new.md b/localizedContent/es/content/references/whats-new.md index 446ae73af..bb21d3ba3 100644 --- a/localizedContent/es/content/references/whats-new.md +++ b/localizedContent/es/content/references/whats-new.md @@ -2,7 +2,7 @@ uid: whats-new title: Novedades author: Morten Lønskov -updated: 2026-03-19 +updated: 2026-06-24 --- - + diff --git a/localizedContent/es/content/tutorials/udfs.md b/localizedContent/es/content/tutorials/udfs.md index 2c5d6d9b5..f65e47e02 100644 --- a/localizedContent/es/content/tutorials/udfs.md +++ b/localizedContent/es/content/tutorials/udfs.md @@ -2,7 +2,7 @@ uid: udfs title: Funciones DAX definidas por el usuario author: Daniel Otykier -updated: 2026-03-19 +updated: 2026-06-24 applies_to: products: - product: Tabular Editor 2 @@ -20,7 +20,7 @@ applies_to: # Funciones DAX definidas por el usuario -Las funciones DAX definidas por el usuario (UDFs) constituyen una nueva capacidad de los modelos semánticos, introducida en Power BI Desktop con la actualización de septiembre de 2025. +Las UDF de DAX (funciones DAX definidas por el usuario) son una característica de los modelos semánticos. La característica pasó a versión preliminar con la actualización de septiembre de 2025 de Power BI Desktop y está [disponible de forma general](https://community.fabric.microsoft.com/t5/Power-BI-Updates-Blog/DAX-User-Defined-Functions-Generally-Available/ba-p/5185738) desde la versión de junio de 2026 de Power BI. La característica te permite crear funciones DAX reutilizables que puedes invocar desde cualquier expresión DAX de tu modelo, incluso desde otras funciones. Esta potente característica te ayuda a mantener la coherencia, reducir la duplicación de código y crear expresiones DAX más fáciles de mantener. @@ -133,8 +133,31 @@ Además de especificar el modo de evaluación, también puedes restringir el tip Estas especificaciones de tipo son opcionales, pero si se indican, realizarán una conversión de tipo implícita en los argumentos que se pasen a la función y también afectarán a las sugerencias de autocompletado en Tabular Editor 3 al escribir código DAX que llame a la función. +Tabular Editor 3 valida los argumentos según los tipos de parámetro declarados. Si llama a una UDF con un argumento que no coincide con el tipo de su parámetro —por ejemplo, si pasa un valor escalar cuando se espera un parámetro `TABLEREF`—, el Analizador semántico genera un Report de advertencia o un error. + Consulta la [especificación de Microsoft para las UDF](https://learn.microsoft.com/en-us/dax/best-practices/dax-user-defined-functions) para ver la lista completa de restricciones disponibles. +### Parámetros opcionales con expresiones predeterminadas + +A partir de la versión 3.26.2, Tabular Editor 3 admite parámetros opcionales con expresiones predeterminadas. Añade `= expression` después del nombre del parámetro (y después de cualquier indicación de tipo o modo de evaluación) para que el parámetro sea opcional. Cuando quien llama omite el argumento, la expresión predeterminada proporciona el valor. + +```dax +FUNCTION AddTax = + ( + amount: NUMERIC, // Parámetro obligatorio + taxRate: NUMERIC = 0.1 // Parámetro opcional; el valor predeterminado es 10 % + ) + => amount * (1 + taxRate) +``` + +Si llamas a `AddTax(10)`, obtienes `11`, mientras que si llamas a `AddTax(10, 0.25)`, obtienes `12.5`. + +Los parámetros opcionales se rigen por algunas reglas: + +- Puedes dejar vacío un argumento para usar su valor predeterminado; por ejemplo, `MyFunc(1,,3)` omite el segundo argumento. El número mínimo de argumentos lo determina la posición del parámetro obligatorio situado más a la derecha. +- Una expresión predeterminada solo puede hacer referencia a nombres (columnas, tablas, medidas, funciones) visibles donde se define la función, y no puede hacer referencia a otro parámetro de la misma función. +- La comprobación de tipos con respecto a la indicación de tipo de un parámetro solo se aplica cuando se usa la expresión predeterminada; en cambio, un argumento pasado explícitamente se comprueba con respecto a esa indicación. + ## Uso de las UDF en tu modelo ### En expresiones de objetos @@ -311,15 +334,15 @@ Tabular Editor 3 detecta automáticamente cualquier comentario y lo muestra corr **La función no funciona tras el despliegue** -- Comprueba que tu entorno de destino admite UDFs (nivel de compatibilidad 1702 o superior). A fecha del dieciséis de septiembre de 2025, Power BI Service todavía no admite UDFs, ni tampoco Azure Analysis Services ni SQL Server Analysis Services. +- Comprueba que tu entorno de destino admite UDFs (nivel de compatibilidad 1702 o superior). El servicio Power BI admite las UDF a partir de la versión de junio de 2026. Azure Analysis Services y SQL Server Analysis Services no admiten las UDF. ## Limitaciones -- No todos los entornos de Power BI admiten UDFs (requiere compilaciones específicas) +- Las UDF requieren un nivel de compatibilidad 1702 o superior; Azure Analysis Services y SQL Server Analysis Services no las admiten - Las UDFs no pueden ser recursivas (llamarse a sí mismas) > [!NOTE] -> A partir de junio de 2026, las UDF están [disponibles de forma general](https://community.fabric.microsoft.com/t5/Power-BI-Updates-Blog/DAX-User-Defined-Functions-Generally-Available/ba-p/5185738). Como parte de esto, las UDF ahora admiten expresiones predeterminadas y parámetros opcionales. Sin embargo, Tabular Editor 3 muestra actualmente un mensaje de error incorrecto cuando se usa la sintaxis de la expresión predeterminada. Este problema se corregirá en nuestra próxima actualización de Tabular Editor 3. +> Con la [disponibilidad general](https://community.fabric.microsoft.com/t5/Power-BI-Updates-Blog/DAX-User-Defined-Functions-Generally-Available/ba-p/5185738) de las UDF en junio de 2026, las UDF admiten parámetros opcionales con expresiones predeterminadas. Tabular Editor 3 admite esta sintaxis desde la versión 3.26.2. Las versiones anteriores muestran un mensaje de error incorrecto cuando usas la sintaxis de expresión predeterminada. --- diff --git a/localizedContent/zh/content/features/ai-assistant.md b/localizedContent/zh/content/features/ai-assistant.md index 591cfe2ee..fd98941b0 100644 --- a/localizedContent/zh/content/features/ai-assistant.md +++ b/localizedContent/zh/content/features/ai-assistant.md @@ -2,7 +2,7 @@ uid: ai-assistant title: AI 助手 author: Morten Lønskov -updated: 2026-04-17 +updated: 2026-06-24 applies_to: products: - product: Tabular Editor 2 @@ -44,20 +44,20 @@ AI 助手采用自带密钥 BYOK 模式。 你只需从受支持的提供商中 ## 支持的提供程序 -在 **工具 > 偏好 > AI 助手 > AI 提供程序** 下配置 AI 提供程序。 从下拉列表中选择一个提供商——在你完成配置之前,默认是 **无(AI 已禁用)**——输入你的 API 密钥,并可按需替换默认模型。 对于 OpenAI 和 Anthropic,**模型名称** 字段是一个预先填入已知模型的组合框;你也可以输入自定义模型名称。 +在 **工具 > 偏好 > AI 助手 > AI 提供程序** 下配置 AI 提供程序。 从下拉列表中选择一个提供商——在你完成配置之前,默认是 **无(AI 已禁用)**——输入你的 API 密钥,并可按需替换默认模型。 对于 OpenAI 和 Anthropic,**模型名称**字段是一个预先填充了当前模型的下拉框——包括 Anthropic 的 `claude-fable-5` 和 `claude-opus-4-8`,以及 OpenAI 的 `gpt-5.5` 和 `gpt-5.5-pro`——这样你无需手动输入自定义 ID,也能直接选择较新的模型。 你也可以输入自定义模型名称。 -| 提供程序 | 默认模型 | 需要配置 | -| -------------- | ----------------- | ------------------------------ | -| OpenAI | gpt-4o | API 密钥。 可选:基础 URL、组织 ID 和项目 ID | -| Anthropic | claude-sonnet-4-6 | API 密钥。 可选:基础 URL | -| Azure OpenAI | 视部署而定 | API 密钥、端点 URL 和部署名称 | -| 自定义(兼容 OpenAI) | 由用户指定 | API 密钥和自定义端点 URL | +| 提供程序 | 默认模型 | 需要配置 | +| -------------- | ----------------------- | ------------------------------ | +| OpenAI | gpt-5.5 | API 密钥。 可选:基础 URL、组织 ID 和项目 ID | +| Anthropic | claude-sonnet-4-6 | API 密钥。 可选:基础 URL | +| Azure OpenAI | 视部署而定 | API 密钥、端点 URL 和部署名称 | +| 自定义(兼容 OpenAI) | 由用户指定 | API 密钥和自定义端点 URL | ![AI 助手提供程序偏好设置选择](~/content/assets/images/ai-assistant/ai-assistant-provider-preferences.png) ### OpenAI -将提供程序选择为 **OpenAI**,然后输入你的 API 密钥。 如果你的 OpenAI 账户使用组织 ID 和项目 ID,也可以选择填写这些信息。 默认模型是 **gpt-4o**,但你可以将其更改为你账户中可用的任意模型。 +将提供程序选择为 **OpenAI**,然后输入你的 API 密钥。 如果你的 OpenAI 账户使用组织 ID 和项目 ID,也可以选择填写这些信息。 默认模型为 **gpt-5.5**,但你可以将其更改为你账号下可用的任意模型。 ![AI 助手 OpenAI 配置](~/content/assets/images/ai-assistant/ai-assistant-openai-config.png) diff --git a/localizedContent/zh/content/features/table-groups.md b/localizedContent/zh/content/features/table-groups.md index 961a53ccf..47f3ca181 100644 --- a/localizedContent/zh/content/features/table-groups.md +++ b/localizedContent/zh/content/features/table-groups.md @@ -2,7 +2,7 @@ uid: table-groups title: 表格组 author: Daniel Otykier -updated: 2023-03-08 +updated: 2026-06-24 applies_to: products: - product: Tabular Editor 2 @@ -25,6 +25,8 @@ applies_to: 你可以通过两种方式创建表格组:在表格上右键并选择 **创建 > 表格组** 菜单选项;或者在选中一个或多个表格时,在 **属性视图** 中为表格组指定名称。 +你也可以在选中一个或多个表后,通过右键菜单中的 **移至组** 子菜单进行操作。 该子菜单会列出现有的表格组、用于根据所选表创建新组并打开组名编辑器的 **(新建...)** 项,以及用于取消表格组归属的 **(无)** 项。 + 你可以在 TOM Explorer 中通过拖放,将表格在不同表格组之间移动。 注意:与度量值、列和层次结构的显示文件夹不同,表格组不能嵌套。 在 TOM Explorer 中右键点击某个表格组,会显示与你选中该表格组内表格(s)时相同的上下文菜单选项。 diff --git a/localizedContent/zh/content/features/views/tom-explorer-view.md b/localizedContent/zh/content/features/views/tom-explorer-view.md index b3133e8bd..bd77b6a4a 100644 --- a/localizedContent/zh/content/features/views/tom-explorer-view.md +++ b/localizedContent/zh/content/features/views/tom-explorer-view.md @@ -2,7 +2,7 @@ uid: tom-explorer-view title: TOM Explorer 视图 author: Morten Lønskov -updated: 2026-03-19 +updated: 2026-06-24 applies_to: products: - product: Tabular Editor 2 @@ -51,8 +51,8 @@ TOM Explorer 由两个主要区域组成:第一部分是 Data model 对象, - **创建**: 展开为子菜单,可在所选对象下创建新的度量值、列、层次结构、显示文件夹或计算项。 可用选项取决于所选的对象类型。 -- **移至组**: - 可将该表归入 TOM Explorer 中的表格组,便于浏览模型。 此选项仅适用于表。 +- **移至组**: + 展开为子菜单,用于将所选表整理到表格组中,方便在模型中导航。 该子菜单会列出现有的表格组、用于根据所选表创建新组并打开其名称编辑器的 **(New...)** 条目,以及用于移除表格组分配的 **(None)** 条目。 此选项仅适用于表。 - **设为不可见**: 将对象标记为在客户端工具中不可见。 该表仍是模型的一部分,但会对 Report 作者隐藏。 也可以使用快捷键 **Ctrl+I** 隐藏该对象。 diff --git a/localizedContent/zh/content/getting-started/refresh-preview-query.md b/localizedContent/zh/content/getting-started/refresh-preview-query.md index 7d02befd1..e73e4383d 100644 --- a/localizedContent/zh/content/getting-started/refresh-preview-query.md +++ b/localizedContent/zh/content/getting-started/refresh-preview-query.md @@ -2,7 +2,7 @@ uid: refresh-preview-query title: 刷新、预览与查询数据 author: Daniel Otykier -updated: 2026-01-08 +updated: 2026-06-24 applies_to: products: - product: Tabular Editor 2 @@ -84,7 +84,15 @@ Tabular Editor 3 支持对不同对象类型执行刷新操作。 支持的刷 ![预览数据](~/content/assets/images/preview-data-big.png) -你可以打开多个此类表格预览,并在用户界面中按你的习惯随意排列。 此外,你还可以对单个列进行排序或筛选。 可预览的行数实际上没有限制。 Tabular Editor 只是在模型上执行一条 [`TOPNSKIP`](https://dax.guide/topnskip) DAX 查询,返回少量记录,用于填充当前视图。 +你可以打开多个此类表格预览,并在用户界面中按你的习惯随意排列。 此外,你还可以对单个列进行排序或筛选。 Tabular Editor 会针对模型执行 DAX 查询,只返回足以填充当前视图的一小部分记录,然后在你滚动时逐页加载更多行。 + +分页的工作方式取决于存储模式和引擎: + +- 在支持 [`WINDOW`](https://dax.guide/window) 函数的引擎中,对于 Import 表,分页会基于表的主键使用 `WINDOW`,因此你可以滚动浏览整张表。 +- 如果引擎不支持 `WINDOW`,或者表没有主键,预览将显示前几行,并提示无法滚动。 +- DirectQuery 表只显示前几行——无法分页——并会显示一条信息。 + +预览元数据会在当前会话中缓存,因此重新打开预览时不会再次查询服务器。 点击 **刷新** 以重新读取元数据,例如当模型已在 Tabular Editor 之外完成处理后。 如果一个或多个计算列处于无效状态,这些列会显示文本 _(需要计算)_。 你可以通过右键单击该列并选择 **重新计算表格...** 选项来重新计算表格。 diff --git a/localizedContent/zh/content/references/downloads.md b/localizedContent/zh/content/references/downloads.md index 8ad847ace..1c1be4842 100644 --- a/localizedContent/zh/content/references/downloads.md +++ b/localizedContent/zh/content/references/downloads.md @@ -2,7 +2,7 @@ uid: downloads title: 全部下载 author: Daniel Otykier -updated: 2026-04-17 +updated: 2026-06-25 --- # Tabular Editor 3 下载 @@ -11,14 +11,14 @@ updated: 2026-04-17 ## 最新版本 -Tabular Editor 3.26.1 **.NET 8** 下载: +Tabular Editor 3.26.2 **.NET 8** 下载链接: -- 下载 [Tabular Editor 3.26.1(64 位)](https://cdn.tabulareditor.com/files/TabularEditor.3.26.1.Installer.x64.Net8.exe) _(推荐)_ -- 下载 [Tabular Editor 3.26.1 (ARM64)](https://cdn.tabulareditor.com/files/TabularEditor.3.26.1.Installer.ARM64.Net8.exe) -- 便携版:[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) -- 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) +- 下载 [Tabular Editor 3.26.2(64 位)](https://cdn.tabulareditor.com/files/TabularEditor.3.26.2.Installer.x64.Net8.exe) _(推荐)_ +- 下载 [Tabular Editor 3.26.2(ARM64)](https://cdn.tabulareditor.com/files/TabularEditor.3.26.2.Installer.ARM64.Net8.exe) +- 便携版:[x64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.2.x64.Net8.zip),[ARM64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.2.ARM64.Net8.zip) +- MSI 版:[x64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.2.x64.Net8.msi),[ARM64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.2.ARM64.Net8.msi) -阅读 [最新发布说明](release-notes/3_26_1.md)。 +阅读[最新发布说明](release-notes/3_26_2.md)。 ## 安装说明 @@ -30,6 +30,10 @@ Tabular Editor 3.26.1 **.NET 8** 下载: ## 更新历史 +- 2026-06-25 **Tabular Editor 3.26.2**(_[发布说明](release-notes/3_26_2.md)_) + - .NET 8 安装程序(.exe):[x64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.2.Installer.x64.Net8.exe),[ARM64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.2.Installer.ARM64.Net8.exe) + - .NET 8 便携版(.zip):[x64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.2.x64.Net8.zip),[ARM64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.2.ARM64.Net8.zip) + - .NET 8 安装程序(.msi):[x64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.2.x64.Net8.msi),[ARM64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.2.ARM64.Net8.msi) - 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) @@ -62,16 +66,5 @@ Tabular Editor 3.26.1 **.NET 8** 下载: - .NET 8 安装程序(.exe):[x64](https://cdn.tabulareditor.com/files/TabularEditor.3.22.1.Installer.x64.Net8.exe),[x86](https://cdn.tabulareditor.com/files/TabularEditor.3.22.1.Installer.x86.Net8.exe) - .NET 8 便携版(.zip):[x64](https://cdn.tabulareditor.com/files/TabularEditor.3.22.1.x64.Net8.zip),[x86](https://cdn.tabulareditor.com/files/TabularEditor.3.22.1.x86.Net8.zip) - .NET 8 安装程序(.msi):[x64](https://cdn.tabulareditor.com/files/TabularEditor.3.22.1.x64.Net8.msi),[x86](https://cdn.tabulareditor.com/files/TabularEditor.3.22.1.x86.Net8.msi) -- 2025-04-25 **Tabular Editor 3.21.0** (_[发布说明](release-notes/3_21_0.md)_) - - .NET 8 安装程序(.exe):[x64](https://cdn.tabulareditor.com/files/TabularEditor.3.21.0.Installer.x64.Net8.exe),[x86](https://cdn.tabulareditor.com/files/TabularEditor.3.21.0.Installer.x86.Net8.exe) - - .NET 8 便携版(.zip):[x64](https://cdn.tabulareditor.com/files/TabularEditor.3.21.0.x64.Net8.zip),[x86](https://cdn.tabulareditor.com/files/TabularEditor.3.21.0.x86.Net8.zip) - - .NET 8 安装程序(.msi):[x64](https://cdn.tabulareditor.com/files/TabularEditor.3.21.0.x64.Net8.msi),[x86](https://cdn.tabulareditor.com/files/TabularEditor.3.21.0.x86.Net8.msi) -- 2025-04-11 **Tabular Editor 3.20.1** (_[发布说明](release-notes/3_20_1.md)_) - - .NET 8 安装程序(.exe):[x64](https://cdn.tabulareditor.com/files/TabularEditor.3.20.1.Installer.x64.Net8.exe),[x86](https://cdn.tabulareditor.com/files/TabularEditor.3.20.1.Installer.x86.Net8.exe) - - .NET 8 便携版(.zip):[x64](https://cdn.tabulareditor.com/files/TabularEditor.3.20.1.x64.Net8.zip),[x86](https://cdn.tabulareditor.com/files/TabularEditor.3.20.1.x86.Net8.zip) - - .NET 8 安装程序(.msi):[x64](https://cdn.tabulareditor.com/files/TabularEditor.3.20.1.x64.Net8.msi),[x86](https://cdn.tabulareditor.com/files/TabularEditor.3.20.1.x86.Net8.msi) - - .NET 6 安装程序(.exe):[x64](https://cdn.tabulareditor.com/files/TabularEditor.3.20.1.Installer.x64.exe),[x86](https://cdn.tabulareditor.com/files/TabularEditor.3.20.1.Installer.x86.exe) - - .NET 6 便携版(.zip):[x64](https://cdn.tabulareditor.com/files/TabularEditor.3.20.1.x64.zip),[x86](https://cdn.tabulareditor.com/files/TabularEditor.3.20.1.x86.zip) - - .NET 6 安装程序(.msi):[x64](https://cdn.tabulareditor.com/files/TabularEditor.3.20.1.x64.msi),[x86](https://cdn.tabulareditor.com/files/TabularEditor.3.20.1.x86.msi) 如需更早版本,请参阅[完整发布历史](release-history.md)。 \ No newline at end of file diff --git a/localizedContent/zh/content/references/release-history.md b/localizedContent/zh/content/references/release-history.md index 09f1bd67b..b3b24a0f3 100644 --- a/localizedContent/zh/content/references/release-history.md +++ b/localizedContent/zh/content/references/release-history.md @@ -5,6 +5,10 @@ title: 完整发布历史 # 完整发布历史 +- 2026-06-25 **Tabular Editor 3.26.2**(_[发行说明](release-notes/3_26_2.md)_) + - .NET 8 安装程序(.exe):[x64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.2.Installer.x64.Net8.exe),[ARM64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.2.Installer.ARM64.Net8.exe) + - .NET 8 便携版(.zip):[x64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.2.x64.Net8.zip),[ARM64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.2.ARM64.Net8.zip) + - .NET 8 安装程序(.msi):[x64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.2.x64.Net8.msi),[ARM64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.2.ARM64.Net8.msi) - 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) diff --git a/localizedContent/zh/content/references/release-notes/3_26_2.md b/localizedContent/zh/content/references/release-notes/3_26_2.md new file mode 100644 index 000000000..035c5a0d5 --- /dev/null +++ b/localizedContent/zh/content/references/release-notes/3_26_2.md @@ -0,0 +1,120 @@ +--- +uid: release-3-26-2 +--- + +# Tabular Editor 3.26.2 + +# [**下载**](#tab/downloads) + +Tabular Editor 3.26.2 下载: + +- 下载 [Tabular Editor 3.26.2 (x64)](https://cdn.tabulareditor.com/files/TabularEditor.3.26.2.Installer.x64.Net8.exe) _(推荐)_ +- 下载 [Tabular Editor 3.26.2 (ARM64)](https://cdn.tabulareditor.com/files/TabularEditor.3.26.2.Installer.ARM64.Net8.exe) +- 便携版:[x64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.2.x64.Net8.zip), [ARM64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.2.ARM64.Net8.zip) +- MSI 版:[x64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.2.x64.Net8.msi), [ARM64](https://cdn.tabulareditor.com/files/TabularEditor.3.26.2.ARM64.Net8.msi) + +_如果您之前未使用过 Tabular Editor 3,则可获得 30 天试用期,安装后即可激活。 你也可以 [购买许可证](https://tabulareditor.com/licensing)。_ + +# [**SHA-256 校验和**](#tab/checksums) + +| 文件 | .NET 运行时 | 平台 | SHA-256 | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------ | ----- | ------------------------------------------------------------------ | +| [TabularEditor.3.26.2.Installer.x64.Net8.exe](https://cdn.tabulareditor.com/files/TabularEditor.3.26.2.Installer.x64.Net8.exe) | .NET 8 | x64 | `CDCEEF571902E58E3368F5A60BBF6926C310B34B2CC4ABA2F3D28B9A5C1C98AC` | +| [TabularEditor.3.26.2.x64.Net8.msi](https://cdn.tabulareditor.com/files/TabularEditor.3.26.2.x64.Net8.msi) | .NET 8 | x64 | `D3C0FA8184855C57D16D78CD9D2A44A7622E3C67CD07CFDC7B6D0EA59FB30E09` | +| [TabularEditor.3.26.2.x64.Net8.zip](https://cdn.tabulareditor.com/files/TabularEditor.3.26.2.x64.Net8.zip) | .NET 8 | x64 | `B4A2B836E6DA359E798D7546934F1A477C2F4C74D653995D77D2F182A57A8725` | +| [TabularEditor.3.26.2.Installer.ARM64.Net8.exe](https://cdn.tabulareditor.com/files/TabularEditor.3.26.2.Installer.ARM64.Net8.exe) | .NET 8 | ARM64 | `7CC1E25D51EA665787500DC460BB533F457E26FF7AE5A4B9F44480F980F1998F` | +| [TabularEditor.3.26.2.ARM64.Net8.msi](https://cdn.tabulareditor.com/files/TabularEditor.3.26.2.ARM64.Net8.msi) | .NET 8 | ARM64 | `A8A6E324D38E80140B171B5D7F84C5EBADD6AFE2810529504F332091ECF7E682` | +| [TabularEditor.3.26.2.ARM64.Net8.zip](https://cdn.tabulareditor.com/files/TabularEditor.3.26.2.ARM64.Net8.zip) | .NET 8 | ARM64 | `B265579D384A6586B7599CBC0A54032C5F477D3A485FC1F773F79D4B31D128C6` | + +*** + +查看我们的[发布博客](https://tabulareditor.com/blog/tabular-editor-3-june-2026-release),简要了解本次发布中最重要的更新。 + +## 3.26.2 版本改进 + +- 已在 TOM Explorer 中为表添加 **移到组** 右键子菜单。 该子菜单会列出现有表格组、一个 **(New...)** 条目(使用所选表创建新组并打开名称编辑器),以及一个 **(None)** 条目(移除表格组分配)。 + +- 已用最新版本更新 AI Assistant 偏好设置中的模型预设,用户无需输入自定义模型 ID 即可选择当前模型。 已添加 Anthropic 的 `claude-fable-5` 和 `claude-opus-4-8`,以及 OpenAI 的 `gpt-5.5`/`gpt-5.5-pro` 和其他当前的 GPT-5 变体。 已移除弃用条目(例如较旧的 Codex 变体),默认 OpenAI 模型现为 `gpt-5.5`。 + +- **Semantic Analyzer 改进** + - 新增对 DAX UDF 中带默认表达式的可选参数的支持。 + - 当调用 UDF 时传入的参数与其声明类型不匹配(例如向 `TABLEREF` 参数传递标量值等),Semantic Analyzer 现在会发出合适的警告 / 错误信息 + - Semantic Analyzer 现在会在 `IGNORE` 未直接用作 `SUMMARIZECOLUMNS` 的表达式参数、而被用于其他位置时报告错误,与引擎行为一致。 + - Semantic Analyzer 现已支持 Power BI Desktop 2026 年四月版为 `NAMEOF` 函数引入的新可选 component 参数和 escaping 参数。 有效的 component 关键字为 `TABLE`、`COLUMN`、`MEASURE`、`CALENDAR`、`FULL`、`SELF`、`PARENT`;有效的 escaping 关键字为 `ESCAPED`、`UNESCAPED`、`MINIMALLYESCAPED`。 返回类型保持不变(标量字符串)。 例如,`EVALUATE { NAMEOF([MyMeasure], TABLE, MINIMALLYESCAPED) }` 会返回完全限定度量值引用中的表名部分。

+ +- **Semantic Bridge 改进** + - 现在,导入 Databricks Metric View 时会将该视图的元数据一并带入语义模型。 + - `comment` 会成为模型、维度和度量值的描述。 + - `display_name` 会成为 TOM 模型中面向用户显示的名称;如果未定义 `display_name`,则回退到 `name`。 + - 度量值和维度的 `format` 会转换为 TOM 的 FormatString,并根据该格式推断生成的列或度量值的 DataType(货币、百分比、日期等)。 + 对于没有明确 TOM 对应项的格式规范,会回退到合理的默认值,并显示警告。 + - SQL 到 DAX 的翻译已改进:行计数 (`COUNT(*)`)、`MEASURE(name)` 引用、二元运算、字面量(包括 `NULL` -> `BLANK()`)、将 `/` 映射为可安全处理空白值的 `DIVIDE`,以及括号优先级现在都能更准确地转换。 + - 不在已识别集合内的表达式仍会回退为原样 SQL,并附带警告。 + - 翻译后的 DAX 仅为尽力而为的结果——部署前先审核并验证。 + - 已添加对带嵌套联接的雪花架构的支持。 + - YAML 反序列化现同时接受顶层的 `fields:` 和 `dimensions:`:Databricks v1.1 规范将它们视为别名。 + 往返转换会保留源 YAML 中使用的关键字。 在 TE3 中创建的视图(没有源 YAML)在 v1.1 及更早版本中默认使用 `dimensions:`:`fields:` 别名是在 v1.1 规范发布后才引入的,因此我们保持与面向原始 1.1 规范的工具兼容。 + 当 v1.1+ 视图使用 `dimensions:` 时,会显示反序列化警告(规范在 v1.1+ 中将 `fields:` 标记为首选);同样,当 v1.1 之前的视图使用 `fields:` 时,也会显示对应警告。 + - C# 脚本界面将 `Dimension` 重命名为 `Field`(`view.Fields`, `view.AddField`, `Dimension` -> `Field`, `MakeValidationRuleForDimension` -> `MakeValidationRuleForField`, `ctx.DimensionNames` -> `ctx.FieldNames`)。 + - 旧名称仍作为已弃用的转发别名保留,依然可以编译和运行,但会显示弃用警告,因此现有脚本以及诸如 `Model.Dimensions["x"]` 这样的已存储路径仍然可用。 + - 窗口度量值(包括 v1.1 的 `offset:` 字段)在进行 YAML 反序列化/序列化往返时会被保留。 对于规范标记为实验性的功能,我们暂不进行转换;YAML 往返会保留它们,以免丢失。 + - 根据更新后的 v1.1 规范,联接现已支持两个新属性: + - 支持 `rely:` 映射 + - `cardinality:` 字段可往返保留两种规范值(`many_to_one`、`one_to_many`)以及省略该字段的形式。 + 遇到未知值时,会回退为 `many_to_one` 并发出警告。 + - 声明为 `cardinality: one_to_many` 的联接仍会导入,但会有意跳过与源的关系——v1.1 规范将这类联接视为独立的事实源,并在源粒度上分别聚合。 + 仍会创建联接表,使其出现在生成的 TOM 模型中,但不会定义任何关系。 + 每个受影响的联接都会显示一条警告,说明这一差异。 + +## 3.26.2 中的缺陷修复 + +- 修复了 AI 聊天在 Anthropic Claude Opus 4.7+ 和 Fable 5 上因不再支持 temperature 采样参数而报 `BadRequest` 错误(“temperature is deprecated for this model”)的问题。 这套重试逻辑现在除了此前已处理的情况外,也能识别该提供商的这类措辞,并在不显式指定 temperature 的情况下透明地重新发送请求。 + +- 在 `NAMEOF` 和 `TABLEOF` 函数的自动完成建议中,现在也会提供日历,与表、列和度量值一起显示。 这也包括尚未配置时间单位列的日历(例如刚添加、还未配置的日历),它们此前会被遗漏。 现在,输入带引号的前缀(例如 `'My Cal`)时,也会像表一样,把建议范围缩小到匹配的日历。 + +- 表格 **Data Preview** 中的排序和分页现在在各种存储模式下都更加可靠: + +- 按没有属性层次结构的列排序时,不会再返回顺序错误的行。 在可能的情况下,分页现在会使用 `WINDOW` 函数(适用于支持该函数的引擎,以及具有主键的表);否则,预览将显示前几行,并提示已禁用滚动。 + +- 属性层次结构的可用性现在直接从服务器读取,因此即使模型在 Tabular Editor 之外被处理后,信息仍然准确。 + +- DirectQuery 表现在会正确显示前几行(DirectQuery 不支持分页),并附带一条信息。 + +- 预览元数据会在当前会话中缓存,并且仅在你单击 **刷新** 时更新,从而避免多余的服务器往返(包括重复的行计数查询)。 + +- 当无法根据模型解析所属表时,DAX 格式化程序不再从 `DEFINE MEASURE` 块中移除表限定符。 此前,这可能会把有效的 `MEASURE 'Sales'[Amount] = ...` 变成无效的 `MEASURE [Amount] = ...`,从而导致语句无效。 + +- 当将筛选器移除函数(`ALL`、`ALLSELECTED`、`REMOVEFILTERS` 或 `ALLCROSSFILTERED`)用作 DAX 用户定义函数的顶层主体表达式时,语义分析器不再误报错误,例如 `FUNCTION F = () => REMOVEFILTERS('Sales')`。 此类 UDF 在作为 `CALCULATE` 的 FILTER 参数调用时是有效的。 无效用法仍会在调用处被报告;关系修饰符(`CROSSFILTER` / `USERELATIONSHIP`)以及 `KEEPFILTERS` 作为 UDF 函数体时仍然无效,与引擎行为一致。 + +- 在重命名被 NAMEOF 函数调用引用的表时,公式修复现在会正确更新该表引用。 + +- 当将 `TABLEOF(...)` 作为表引用参数传递给 `ALL`、`ALLEXCEPT`、`ALLSELECTED`、`ALLNOBLANKROW`、`ALLCROSSFILTERED` 或 `REMOVEFILTERS` 时,语义分析器不再误报错误。 + +- **更新表架构** 操作现在在对混合对象类型执行或在表格组上执行时,行为都能正确。 + +--- + +## 从 Tabular Editor 2.x 迁移过来? + +观看 [此视频](https://youtu.be/O4ATwdzCvWc),快速了解 Tabular Editor 3 的主要功能。 另外,也请务必查看我们的[上手指南](https://docs.tabulareditor.com/onboarding/index.html)。 + +**Tabular Editor 3 主要功能概览:** + +- 完全可自定义的 IDE,支持多显示器、Hi-DPI 和主题切换 +- 全新的强大 DAX 代码编辑器,具备自动完成、语法检查、代码折叠等众多功能 +- \*工作区模式,可将更改保存到磁盘,并同时将模型元数据同步到 Analysis Services +- \*通过无限滚动预览表数据,创建 PivotGrid,或编写 DAX 查询来浏览模型或测试计算逻辑 +- \*设置数据定时刷新 +- 同时更新 Provider 和 Structured数据源的表架构(没错,连 M 查询也支持!) +- 创建 Data model 图 +- 创建 DAX 脚本,使您能够在单个文档中编辑多个度量值或其他计算对象 +- 录制 C# Script 并保存为宏(以前称为“自定义操作”) +- VertiPaq分析器集成 +- DAX调试器 +- 集成 DAX优化器 +- 代码操作:轻松重构你的 DAX 代码。 + +\*=仅在连接到 Analysis Services 或 Power BI 实例时可用 + +--- + diff --git a/localizedContent/zh/content/references/whats-new.md b/localizedContent/zh/content/references/whats-new.md index e483558a1..7a49ec21c 100644 --- a/localizedContent/zh/content/references/whats-new.md +++ b/localizedContent/zh/content/references/whats-new.md @@ -2,7 +2,7 @@ uid: whats-new title: 更新内容 author: Morten Lønskov -updated: 2026-03-19 +updated: 2026-06-24 --- - + diff --git a/localizedContent/zh/content/tutorials/udfs.md b/localizedContent/zh/content/tutorials/udfs.md index 485656c98..43f000bfe 100644 --- a/localizedContent/zh/content/tutorials/udfs.md +++ b/localizedContent/zh/content/tutorials/udfs.md @@ -2,7 +2,7 @@ uid: udfs title: DAX 用户自定义函数 author: Daniel Otykier -updated: 2026-03-19 +updated: 2026-06-24 applies_to: products: - product: Tabular Editor 2 @@ -20,7 +20,7 @@ applies_to: # DAX 用户自定义函数 -DAX 用户自定义函数 (UDFs) 是语义模型的一项新功能,在 Power BI Desktop 的 2025 年九月更新中引入。 +DAX 用户自定义函数 (UDF) 是语义模型提供的一项能力。 该功能在 Power BI Desktop 2025 年九月更新中进入预览阶段,并自 Power BI 2026 年六月版本起[正式发布](https://community.fabric.microsoft.com/t5/Power-BI-Updates-Blog/DAX-User-Defined-Functions-Generally-Available/ba-p/5185738)。 该功能让你能够创建可复用的 DAX 函数,并可在模型中的任何 DAX 表达式里调用,甚至在其他函数中也能调用。 这个强大的功能可帮助你保持一致性、减少代码重复,并创建更易维护的 DAX 表达式。 @@ -133,8 +133,31 @@ ROW( 这些类型说明是可选的,但一旦指定,它们会对传入函数的参数执行隐式类型转换;同时,也会影响在 Tabular Editor 3 中编写调用该函数的 DAX 代码时的自动完成建议。 +Tabular Editor 3 会根据已声明的参数类型验证实参。 如果你调用 UDF 时传入的实参与其参数类型不匹配——例如,在需要 `TABLEREF` 参数的位置传入标量值——语义分析器会 Report 警告或错误。 + 可用约束的完整列表,请参阅 [Microsoft 的 UDF 规范](https://learn.microsoft.com/en-us/dax/best-practices/dax-user-defined-functions)。 +### 带默认表达式的可选参数 + +从 3.26.2 版本开始,Tabular Editor 3 支持带默认表达式的可选参数。 在参数名称后(以及任何类型或求值模式提示之后)追加 `= expression`,即可将该参数设为可选。 调用方省略该实参时,将由默认表达式提供其值。 + +```dax +FUNCTION AddTax = + ( + amount: NUMERIC, // 必需参数 + taxRate: NUMERIC = 0.1 // 可选参数,默认为 10% + ) + => amount * (1 + taxRate) +``` + +调用 `AddTax(10)` 会返回 `11`,而 `AddTax(10, 0.25)` 会返回 `12.5`。 + +可选参数遵循以下规则: + +- 调用方可以将实参留空,以回退到默认值,例如 `MyFunc(1,,3)` 省略了第二个实参。 最少参数个数由最右侧必需参数的位置决定。 +- 默认表达式只能引用在函数定义位置可见的名称(列、表、度量值、函数),并且不能引用同一函数的其他参数。 +- 只有在使用默认表达式时,才会按参数的类型提示进行类型检查;如果显式传入实参,则改为检查该实参是否符合该类型提示。 + ## 在模型中使用 UDF ### 在对象表达式中 @@ -311,15 +334,15 @@ Tabular Editor 3 会自动识别所有注释,并在自动完成建议和工具 **部署后函数无法正常工作** -- 确认目标环境支持 UDF(兼容级别 1702+)。 截至 2025 年九月十六日,Power BI 服务尚不支持 UDF,Azure Analysis Services 和 SQL Server Analysis Services 也同样不支持。 +- 确认目标环境支持 UDF(兼容级别 1702+)。 Power BI 服务自 2026 年六月版本起支持 UDF。 Azure Analysis Services 和 SQL Server Analysis Services 不支持 UDF。 ## 局限性 -- 并非所有 Power BI 环境都支持 UDF(需要特定构建版本) +- UDF 需要 1702 或更高的兼容级别;Azure Analysis Services 和 SQL Server Analysis Services 不支持 UDF - UDF 不能递归(调用自身) > [!NOTE] -> 截至 2026 年六月,UDF 已 [正式可用](https://community.fabric.microsoft.com/t5/Power-BI-Updates-Blog/DAX-User-Defined-Functions-Generally-Available/ba-p/5185738)。 作为其中的一部分,UDF 现已支持默认表达式和可选参数。 但是,在使用默认表达式语法时,Tabular Editor 3 目前会误报一条错误信息。 此问题将在 Tabular Editor 3 的下一次更新中修复。 +> 随着 UDF 于 2026 年六月[正式发布](https://community.fabric.microsoft.com/t5/Power-BI-Updates-Blog/DAX-User-Defined-Functions-Generally-Available/ba-p/5185738),UDF 支持带默认表达式的可选参数。 Tabular Editor 3 自 3.26.2 版本起支持此语法。 较旧版本在使用默认表达式语法时会显示误报的错误信息。 ---