Configuración personalizada
Important
La CLI de Tabular Editor se encuentra en vista previa pública limitada. Se ofrece para su evaluación con una cuenta de Tabular Editor; no se requiere ninguna licencia durante la vista previa. Los comandos, las opciones y las salidas pueden cambiar antes de la disponibilidad general. La compilación de vista previa dejará de funcionar a partir del 2026-10-31. No recomendamos usar la CLI en pipelines de CI/CD de producción durante la vista previa.
La CLI de Tabular Editor lee una configuración opcional desde un archivo JSON. El archivo define:
- Rutas de archivos: donde la CLI lee las macros y las reglas de BPA, y donde escribe el registro de consultas.
- Valores predeterminados de comportamiento: umbrales de BPA, formato automático y validación.
- Perfiles de conexión guardados: los perfiles con nombre entre los que puedes alternar.
La CLI no lee ni escribe en las rutas de instalación de la versión de escritorio de Tabular Editor 3. En esta configuración, establece los archivos de reglas de BPA y de macros, o créalos con te bpa rules init y te macro init.
te config list, te config set <key> <value> y te profile set cubren las operaciones habituales sin editar el archivo.
Ubicación del archivo de configuración
La CLI comprueba estas ubicaciones en este orden:
- La variable de entorno
$TE_CONFIG(si está definida y el archivo existe). ~/.config/te/config.json(en Windows,%USERPROFILE%\.config\te\config.json).- Si no hay archivo de configuración, la CLI usa los valores predeterminados integrados.
te config list, te config set, te config init y te config paths leen y escriben el archivo en la ruta resuelta, incluida una ruta establecida mediante TE_CONFIG. Usa TE_CONFIG para pruebas, instalaciones mediante scripts y configuración por entorno.
Para crear una configuración predeterminada:
te config init # Create config at TE_CONFIG (or ~/.config/te/config.json)
te config init --force # Overwrite existing config
Ver la configuración
te config list # Display all settings
te config list --output-format json # Machine-readable
te config paths # Show resolved macros and BPA rule paths
te config paths muestra qué archivos usa la CLI para las macros y las reglas de BPA. La salida tiene dos filas: macros, la ruta resuelta del archivo de macros, y bpa.rules, el primer archivo de reglas de BPA existente. Cualquiera de las dos filas muestra [not set] si no se resuelve nada.
Note
Con --output-format json, te config paths escribe las rutas sin resolver como campos null explícitos, por ejemplo {"macros": null, "bpa": {"rules": null}}. te config list --output-format json omite los campos null de forma predeterminada, así que los analizadores deben manejar las claves ausentes.
Configurar valores
te config set autoFormat true
te config set bpa.onDeploy false
te config set hidePreviewNotice true
te config set macros null # Clear a path override
te config set -p spinner=false # -p key=value works too
Las claves pueden pasarse por posición (te config set <key> <value>) o como -p key=value. Las claves desconocidas provocan que el comando finalice con el código de salida 1 y un error que enumera las claves válidas.
Si no existe ningún archivo de configuración, te config set crea uno automáticamente en la ruta resuelta ($TE_CONFIG si está establecido; de lo contrario, ~/.config/te/config.json) antes de aplicar el cambio.
Note
te config set establece todas las claves del esquema excepto formatVersion, que gestiona la CLI. Usa rutas con puntos para las claves anidadas, como bpa.onDeploy o formatOptions.useSqlBiDaxFormatter. Para editar el JSON directamente, ejecuta te config paths para encontrar el archivo.
Esquema completo
El esquema completo de configuración, con todas las claves en sus valores predeterminados:
{
"formatVersion": 2,
"macros": null,
"autoFormat": false,
"validateOnMutation": true,
"vertipaqOnRefresh": false,
"mutationOutput": "diff",
"bpa": {
"rules": null,
"onDeploy": true,
"onSave": true,
"onMutation": false,
"builtInRules": true,
"disabledBuiltInRuleIds": null
},
"interactiveEditMode": "stage",
"launchInteractiveMode": "auto",
"formatOptions": {
"shortFormat": false,
"skipSpaceAfterFunction": false,
"useSqlBiDaxFormatter": false
},
"hidePreviewNotice": false,
"spinner": true,
"debug": false,
"disableTelemetry": false,
"queryLog": null,
"profiles": {}
}
Rutas de archivo
Las rutas definidas en la configuración se aplican a todos los comandos. Las opciones específicas de cada comando y las variables de entorno prevalecen sobre ellas, como se describe en Prioridad de resolución de rutas.
| Clave | Significado |
|---|---|
macros |
Ruta explícita a un archivo JSON de macros (normalmente MacroActions.json). La resuelve cualquier comando te macro. Para usar las mismas macros en varios equipos, o tanto en la CLI como en Tabular Editor 3, indícale un archivo compartido; por ejemplo, uno en un recurso compartido de red, en el repositorio o en el archivo de Tabular Editor 3 para escritorio. |
bpa.rules |
Lista ordenada de rutas o URL a archivos de reglas de BPA. te bpa run y la compuerta de implementación/guardado cargan todas las entradas existentes; te bpa rules list y te config paths usan la primera entrada existente. Los valores separados por comas en te config set bpa.rules ... se separan en el arreglo. |
queryLog |
Ruta a un archivo de registro en el que cada invocación de te query añade el texto de la consulta y los metadatos de ejecución. Admite ~ para el directorio personal, por ejemplo ~/.config/te/queries.log. |
Prioridad de resolución de rutas
Para cada archivo proporcionado por el usuario (macros, reglas de BPA), la CLI resuelve la ruta en este orden:
- Opción de línea de comandos -
--macros <path>para comandos de macros;--bpa-rules <path>para la compuerta de implementación/guardado;--rules-file <path>para los subcomandos dete bpa rules. - Variable de entorno -
TE_MACROS_PATHpara macros,TE_BPA_RULESpara reglas de BPA. - Configuración de la CLI -
macrospara macros, la primera entrada existente debpa.rules[]para reglas de BPA.
La CLI no detecta las ubicaciones de instalación de Tabular Editor 3. Para crear un archivo predeterminado en el directorio actual, ejecuta te macro init (crea ./MacroActions.json) o te bpa rules init (crea ./BPARules.json).
Ejecuta te config paths para ver qué archivo resolvió realmente la CLI.
Valores predeterminados de comportamiento
La configuración de BPA está bajo el objeto bpa y se accede a ella mediante claves separadas por puntos en te config set.
| Clave | Predeterminado | Descripción |
|---|---|---|
autoFormat |
false |
Da formato automáticamente a las expresiones DAX modificadas por un comando de modificación. El formato se limita a los objetos que el comando haya modificado, pero abarca todas las propiedades de expresiones DAX que contengan (expresiones, expresiones de cadena de formato dinámica, filas de detalle, objetivo/estado/tendencia del KPI, expresiones de grupo de cálculo y de permiso de tabla, etc.). Las consultas de partición de Power Query (M) y SQL nunca se reformatean. Siempre usa el formateador integrado sin conexión en el dialecto de comas; se aplican las claves de diseño de formatOptions. |
validateOnMutation |
true |
Después de un comando de modificación (add, set, mv, macro run), comprueba que todas las referencias Table[Column] del modelo sigan resolviéndose. Esto detecta referencias rotas por cambios de nombre o eliminaciones antes del despliegue. |
mutationOutput |
diff |
Cómo los comandos que modifican (add, set, move, remove, script, bpa run --fix) muestran en la salida de texto el conjunto de cambios resultante: diff (diferencia completa antes/después), stat (recuentos de cambios por objeto), name-only (rutas de los objetos modificados) o none (sin conjunto de cambios; solo configuración, sin necesidad de usar la marca --none). Las marcas --diff, --stat y --name-only la anulan para una invocación. La salida JSON siempre contiene el array changes completo. |
bpa.onMutation |
false |
Ejecuta un análisis de BPA acotado después de cada comando de modificación (set, add, mv, rm, macro run). Solo se comprueban los objetos de la tabla afectada. |
bpa.onDeploy |
true |
Ejecuta el control de BPA antes de que se ejecute te deploy. El despliegue se cancela si alguna regla se activa con una gravedad >= error. Omítelo en una invocación concreta con --skip-bpa, o corrígelo automáticamente con --fix-bpa. |
bpa.onSave |
true |
Ejecuta el control de BPA antes de que te save-as escriba en disco. Omítelo en una invocación concreta con --skip-bpa o --force. |
bpa.builtInRules |
true |
Incluye el conjunto depurado de reglas integradas de BPA cada vez que se ejecute el control. Si es false, la comprobación ejecuta solo las reglas de bpa.rules y las reglas incrustadas en el modelo. |
bpa.disabledBuiltInRuleIds |
null |
ID de reglas integradas individuales que se excluirán de la puerta de calidad. Cámbialo con te bpa rules disable <id> y te bpa rules enable <id>. |
vertipaqOnRefresh |
false |
Tras una actualización correcta (full, dataonly, automatic o add), se ejecuta el análisis de VertiPaq y se muestran estadísticas de almacenamiento de las tablas actualizadas. |
interactiveEditMode |
stage |
Comportamiento predeterminado para las mutaciones en memoria dentro de te interactive. stage mantiene las modificaciones en memoria hasta que ejecutes save. save escribe en el origen después de cada comando que modifica; en un origen remoto, cada set es una operación de escritura XMLA. revert descarta las modificaciones después de cada comando, salvo que pases --save o --stage. Las marcas --save, --revert y --stage por comando prevalecen sobre esta opción. |
launchInteractiveMode |
auto |
Indica si ejecutar te en un terminal sin argumentos inicia el REPL interactivo. auto (predeterminado) inicia el REPL solo si stdin, stdout y stderr están todos conectados a un TTY, de modo que los scripts y las canalizaciones de CI usen el parseo normal. always inicia el REPL incluso con redirección. never muestra la ayuda en su lugar. La marca global --non-interactive fuerza never para una invocación, y la variable de entorno TE_INTERACTIVE establece el modo para una invocación. |
disableTelemetry |
false |
Desactiva la telemetría de uso anónima. La telemetría contiene el nombre del comando, el código de salida y la duración. No contiene el contenido del modelo, las rutas ni el texto de las consultas. |
te config set bpa.rules "/etc/te/team.json,/etc/te/strict.json"
te config set bpa.onDeploy true
te config set bpa.builtInRules false
te config set bpa.disabledBuiltInRuleIds "TE3_BUILT_IN_DATE_TABLE_EXISTS,TE3_BUILT_IN_HIDE_FOREIGN_KEYS"
Opciones de formato
El formateador de DAX integrado de la CLI funciona sin conexión.
- Las claves de diseño
shortFormatyskipSpaceAfterFunctionse aplican cuandoautoFormatvuelve a formatear expresiones modificadas y cuandote querymuestra el texto de la consulta. te set <path> --format <Property>yte util format-daxignoran las claves de diseño y usan las marcas--longy--no-space-after-function.- El formato controlado por configuración siempre usa comas como separadores de lista. Para DAX escrito con punto y coma, usa la marca
--semicolonsdete util format-dax. formatOptions.useSqlBiDaxFormatterenvía el formateo explícito y el renderizado dete queryal servicio web de SQL BI daxformatter.com, que requiere acceso a Internet.autoFormatsiempre usa el formateador integrado.
| Clave | Predeterminado | Descripción |
|---|---|---|
formatOptions.shortFormat |
false |
Usa un formato corto, de una sola línea, cuando sea posible. |
formatOptions.skipSpaceAfterFunction |
false |
Omite el espacio entre el nombre de una función y su paréntesis de apertura, por ejemplo, SUM(x). |
formatOptions.useSqlBiDaxFormatter |
false |
Formatea DAX con el servicio web de SQL BI daxformatter.com. Requiere acceso a Internet. El formateador integrado coincide con el formato predeterminado de Tabular Editor 3. |
Visualización
Estos ajustes controlan la salida del terminal y el registro de diagnóstico.
| Clave | Predeterminado | Descripción |
|---|---|---|
hidePreviewNotice |
false |
Suprime el banner amarillo de vista previa. Se ignora cuando faltan menos de 14 días para el vencimiento. |
spinner |
true |
Muestra indicadores de progreso animados en el terminal. Desactivar para CI. |
debug |
false |
Activa siempre el registro de depuración (equivale a pasar --debug). |
Perfiles
Los perfiles de conexión guardados se almacenan bajo la clave profiles. Adminístralos con te profile set, te profile remove y te profile list, y no editando el archivo. Consulta Autenticación y conexiones.
Un perfil puede anular estos valores predeterminados de comportamiento mientras está activo: autoFormat, validateOnMutation, mutationOutput, bpa.onMutation, bpa.onDeploy, bpa.onSave, vertipaqOnRefresh, spinner e interactiveEditMode. Por ejemplo, un perfil de desarrollo puede desactivar la validación y el control de implementación, mientras que un perfil de producción formatea DAX:
te profile set dev --validate-on-mutation false --bpa-on-deploy false
te profile set prod --auto-format true
te profile set incluye opciones para --auto-format, --validate-on-mutation, --bpa-on-mutation, --bpa-on-deploy, --vertipaq-on-refresh y --spinner. Cada una acepta true, false o null, que elimina la sobrescritura.
Control BPA
El control de BPA impide guardar o implementar si el modelo tiene infracciones de reglas con gravedad error. Se ejecuta con estos comandos:
te deployejecuta el control, a menos que se pase--skip-bpao quebpa.onDeployseafalse.te save-asejecuta la validación, a menos que se pase--skip-bpa(o--force) o quebpa.onSaveseafalse.te add,te set,te move,te remove,te macro runejecutan la validación solo cuandobpa.onMutationestrue.
El control carga las reglas de BPA desde bpa.rules y, de forma predeterminada, el conjunto de reglas integrado (controlado por bpa.builtInRules). te bpa rules disable <id> excluye una regla integrada concreta añadiéndola a bpa.disabledBuiltInRuleIds, y te bpa rules enable <id> la quita de la lista.
Si el control encuentra infracciones con gravedad error o superior, el comando falla con el código de salida 1 y un resumen de las infracciones. Para continuar, usa una de estas opciones:
--fix-bpa- aplica en memoria lafixExpressionde la regla al artefacto que se va a desplegar o guardar; los archivos fuente no se modifican.--skip-bpa- desactiva el control solo para este comando.--bpa-rules <path>- repetible; sobrescribebpa.rulespara esta única invocación dete deployote save-as. Las reglas integradas siguen aplicándose salvo quebpa.builtInRulesseafalse.
Para comprobar el modelo con respecto a las reglas sin implementarlo, ejecuta te bpa run:
te bpa run --model ./model --fail-on error
te bpa run --model ./model --fix --save # Apply fixes to the source
Reglas de BPA integradas
La CLI incluye un conjunto de reglas BPA integradas. Las reglas integradas son de solo lectura: te bpa rules set y te bpa rules remove fallan con IDs integrados y sugieren te bpa rules disable. Para cambiar una regla integrada, cópiala en tu archivo de reglas con un ID nuevo y deshabilita la regla integrada.
bpa.builtInRules y bpa.disabledBuiltInRuleIds se aplican al control y a te bpa run, por lo que una regla deshabilitada con te bpa rules disable queda excluida en todas partes.
Comportamiento tras la mutación
Después de un comando de modificación (te add, te set, te move o te macro run), la CLI ejecuta estas comprobaciones:
- Los errores de TOM siempre se muestran. Las expresiones DAX o M no válidas en medidas, columnas, particiones o elementos de cálculo hacen que el comando falle.
- Validación de esquema (
validateOnMutation, valor predeterminadotrue) comprueba que las referenciasTable[Column]en DAX se sigan resolviendo. - Formato automático de DAX (
autoFormat, valor predeterminadofalse) da formato a las expresiones afectadas por la mutación con el formateador integrado. - BPA tras la mutación (
bpa.onMutation, valor predeterminadofalse) ejecuta BPA después de la mutación y, según--fail-on, muestra una advertencia o finaliza con error.
te config set <key> false desactiva una comprobación. Un perfil puede reemplazar la clave en un entorno.
Políticas de administrador
En Windows, te respeta las mismas directivas administrativas que Tabular Editor 3 y las lee de estas claves del Registro:
Software\\Policies\\Tabular Editor ApS, para los valores compartidos por la CLI y la aplicación de escritorio- su subclave
TECLI, para los valores que solo se aplican a la CLI - su subclave
TE3, para los valores que solo se aplican a la aplicación de escritorio - la clave anterior
Software\\Policies\\Kapacity\\Tabular Editor, que aún se respeta
Un valor para todo el equipo (HKEY_LOCAL_MACHINE) tiene prioridad sobre uno por usuario (HKEY_CURRENT_USER). Dentro de la misma rama del Registro, un valor específico del producto tiene prioridad sobre uno compartido. Cuando una directiva desactiva una característica, el comando indica la directiva, no hace nada y sale con error, lo que hace fallar cualquier paso de la canalización que dependa de esa característica.
| Política | Efecto en la CLI |
|---|---|
DisableCSharpScripts |
Bloquea te script y las correcciones automáticas de te bpa run --fix. |
DisableMacros |
Bloquea todos los comandos te macro. |
DisableBpaDownload |
Bloquea las reglas de Best Practice Analyzer especificadas mediante una URL. Los archivos de reglas en disco y las reglas integradas no se ven afectados. |
DisableTelemetry |
Desactiva las estadísticas anónimas de uso, independientemente de lo que indique disableTelemetry en la configuración. |
BlockUnsafeScripts |
Bloquea te script, te macro run y te bpa run --fix cuando el código accede a archivos, la red, procesos o ensamblados externos. Consulta Qué cuenta como permanecer dentro del modelo para ver las API bloqueadas. La salida JSON reporta blockedByPolicy. |
Las directivas sobre la comprobación de actualizaciones, los Reports de errores, el Optimizador de DAX, el Administrador de paquetes de DAX, el Asistente de IA y el servidor MCP no afectan a la CLI. Consulta Directivas para ver la lista completa de directivas y cómo implementarlas.
En la aplicación de escritorio, BlockUnsafeScripts requiere la Edición Enterprise de Tabular Editor 3. La CLI no tiene ediciones y aplica la directiva allí donde esté configurada.
Variables de entorno
La CLI lee estas variables de entorno para rutas, comportamiento y diagnósticos. Para las variables de autenticación de Azure (AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_CERTIFICATE_PATH, etc.), consulta Autenticación y conexiones.
| Variable | Propósito |
|---|---|
TE_CONFIG |
Ruta de acceso a un archivo de configuración alternativo. Se usa en te config list, set, init y paths. |
TE_MACROS_PATH |
Sobrescribe la ruta del archivo de macros; es la segunda en el orden de resolución. La leen los comandos te macro. |
TE_BPA_RULES |
Anula la lista de archivos/URL de reglas de BPA utilizada por los subcomandos te bpa run y te bpa rules. |
TE_BPA_CONFIG |
Anula la ruta de acceso a la configuración del gate de BPA (.te-bpa.json) que lee el gate de despliegue/guardado. |
TE_DEBUG |
Establece el valor en 1 para habilitar el registro de depuración globalmente (igual que --debug o debug: true en la configuración). |
NO_SPINNER |
Establece el valor en 1 o true para desactivar los indicadores de progreso animados (alternativa a spinner: false en la configuración). |
CI |
Se detecta automáticamente. Cuando vale 1 o true, la CLI desactiva el spinner y cambia a una salida de texto sin formato. La mayoría de los runners de CI lo configuran. |
TE_SESSION |
Sobrescribe el identificador de sesión por terminal que se usa para el estado de la conexión activa. Configura esta opción para ejecutar sesiones aisladas de la CLI en el mismo shell, por ejemplo, en trabajos de matriz de CI en paralelo. Inspeccione y administre sesiones con te session. |
TE_INTERACTIVE |
Permite anular launchInteractiveMode para una sola invocación. Acepta auto, always o never. TE_INTERACTIVE=always inicia el REPL y TE_INTERACTIVE=never muestra la ayuda. |
TE_COMPAT |
Establécela en te2 para forzar el modo de compatibilidad con TE2; consulta Migración desde la línea de comandos de TE2. |
Pasos a seguir
- Autenticación y conexiones - perfiles, autenticación y almacenamiento de credenciales.
- Referencia de comandos - subcomandos de
te config. - Integración de CI/CD - configuración del gate de BPA para pipelines.