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 versión preliminar deja de funcionar después de 2026-09-30. No recomendamos usar la CLI en pipelines de CI/CD de producción durante la vista previa. Consulta nuestro acuerdo de licencia.
La CLI de Tabular Editor lee una configuración opcional desde un archivo JSON. La configuración controla tres cosas:
- PATH de archivos — donde la CLI lee las macros, las reglas de BPA y (opcionalmente) el ejecutable de TE3 Desktop, 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 — la lista de perfiles con nombre entre los que puedes alternar.
La CLI es independiente: no lee ni escribe en ningún PATH de instalación de la versión de escritorio de Tabular Editor 3. Los archivos de reglas de BPA y de macros deben definirse explícitamente en esta configuración (o inicializarse cuando haga falta con te bpa rules init / te macro init).
La mayoría de los usuarios no necesitan editar el archivo de configuración directamente: te config show, te config set <key> <value> y te profile set cubren las operaciones habituales.
Ubicación del archivo de configuración
Se comprueban las siguientes 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 se tiene en cuenta de forma coherente en todas las operaciones del archivo de configuración: te config show, te config set, te config init y te config paths leen y escriben en el PATH resuelto. Está pensado principalmente 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 show # Display all settings
te config show --output-format json # Machine-readable
te config paths # Show resolved macros and BPA rule paths
Usa te config paths para ver qué archivos usará realmente la CLI para las macros y las reglas de BPA. Es útil para depurar por qué faltan archivos de datos. La salida muestra dos filas: macros (la ruta del archivo de macros resuelta o [not set]) y bpa.rules (el primer archivo de reglas de BPA existente resuelto por el resolvedor de rutas, o [not set]).
Note
te config paths emite campos null explícitamente en el modo --output-format json (por ejemplo, {"macros": null, "bpa": {"rules": null}}). Informar de los resultados de la resolución es precisamente el propósito del comando, así que null es una respuesta significativa: «se intentó, pero no se resolvió nada». te config show --output-format json elimina los campos null de forma predeterminada, así que quienes lo consuman deberían parsearlo de forma tolerante.
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
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
Puedes establecer cualquier clave del esquema mediante te config set, incluidas las claves anidadas mediante rutas con puntos (bpa.onDeploy, formatOptions.useSqlBiDaxFormatter, etc.). La única excepción es formatVersion, que la CLI administra automáticamente. Ejecuta te config paths para encontrar el archivo de configuración si prefieres editar el JSON directamente.
Esquema completo
El esquema completo de configuración JSON con todas las claves en sus valores predeterminados. Úsalo como referencia al editar directamente el archivo de configuración o al buscar la ruta con puntos para una llamada a te config set.
{
"formatVersion": 1,
"macros": null,
"autoFormat": false,
"validateOnMutation": true,
"vertipaqOnRefresh": false,
"bpa": {
"rules": null,
"onDeploy": true,
"onSave": true,
"onMutation": false,
"builtInRules": true,
"disabledBuiltInRuleIds": null
},
"interactiveEditMode": "stage",
"formatOptions": {
"useSemicolons": false,
"shortFormat": false,
"skipSpaceAfterFunction": false,
"useSqlBiDaxFormatter": false
},
"hidePreviewNotice": false,
"spinner": true,
"debug": false,
"disableTelemetry": false,
"queryLog": null,
"te3ExePath": null,
"profiles": {}
}
Rutas de archivo
Configúralas en tu configuración para evitar pasar las mismas rutas en cada comando. Las opciones específicas de cada comando y las variables de entorno prevalecen sobre los valores de configuración; consulta Prioridad de resolución de rutas más abajo.
| Clave | Significado |
|---|---|
macros |
Ruta explícita a un archivo JSON de macros (normalmente MacroActions.json). La resuelve cualquier comando te macro. Apunta a un archivo compartido (un recurso compartido de red, un archivo local del repositorio o incluso el archivo de escritorio de TE3) para reutilizar el mismo conjunto de macros en distintos equipos y entre la CLI y TE3 Desktop. |
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. |
te3ExePath |
Ruta explícita al ejecutable de Tabular Editor 3 Desktop (TabularEditor.exe). te open lo usa solo para iniciar la aplicación de escritorio; puedes dejarlo sin configurar en Linux/macOS o cuando no uses te open. Si no está configurado, te open recurre a una búsqueda en PATH. |
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. Útil para mantener registros de auditoría o analizar patrones de consulta a lo largo del tiempo. Admite ~ para el directorio personal (p. ej., ~/.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 automáticamente ninguna ubicación de instalación de TE3; configúralas explícitamente. Para empezar con un archivo predeterminado en el directorio de trabajo 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
Toda la configuración relacionada con BPA está en el objeto bpa y se referencia mediante claves con puntos en te config set.
| Clave | Predeterminado | Descripción |
|---|---|---|
autoFormat |
false |
Ejecuta DAX Formatter sobre las expresiones modificadas después de te add / te set / te mv / te macro run. Usa el formateador interno de forma predeterminada; puedes optar por el servicio web de SQL BI mediante formatOptions.useSqlBiDaxFormatter. |
validateOnMutation |
true |
Después de un comando de modificación (add, set, mv, replace --save, macro run), comprueba que todas las referencias Table[Column] del modelo se sigan resolviendo. Detecta referencias huérfanas introducidas por cambios de nombre o eliminaciones antes de llegar al despliegue. |
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, no los de todo el modelo; útil para obtener retroalimentación rápida durante ediciones iterativas. |
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 severidad ≥ 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 -o 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. Configúralo en false para ignorar por completo las reglas integradas; entonces el control ejecutará solo las reglas configuradas mediante bpa.rules y cualquier regla incrustada en el modelo. |
bpa.disabledBuiltInRuleIds |
null |
ID de reglas integradas individuales que se excluirán de la puerta de calidad. Este valor se modifica mediante te bpa rules disable <id> / te bpa rules enable <id>; es preferible usar esos comandos en lugar de editar el arreglo directamente. |
vertipaqOnRefresh |
false |
Tras una actualización correcta (full, dataonly, automatic o add), ejecuta automáticamente el análisis de VertiPaq para mostrar estadísticas de almacenamiento de las tablas actualizadas. Útil para detectar de inmediato regresiones inesperadas de cardinalidad o memoria. |
interactiveEditMode |
stage |
Comportamiento predeterminado para las mutaciones en memoria dentro de te interactive. stage mantiene las mutaciones en memoria hasta que se invoca save (la opción más segura); save escribe en el origen después de cada comando que modifica el estado (úsese con cuidado en orígenes remotos: cada set desencadena una escritura XMLA); revert descarta las mutaciones después de cada comando, a menos que se haya pasado --save o --stage. Las marcas --save / --revert / --stage por comando siempre prevalecen. |
disableTelemetry |
false |
Desactiva la telemetría de uso anónima. La CLI recopila datos básicos de uso de comandos (nombre del comando, código de salida y duración) para orientar la priorización de funciones. La CLI nunca recopila el contenido del modelo, PATH 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
Se aplica siempre que la CLI invoque un formateador de DAX (para te format y, cuando está habilitado, para autoFormat en las mutaciones). La CLI incluye un formateador propio que funciona completamente sin conexión; activa el servicio web de SQL BI daxformatter.com mediante formatOptions.useSqlBiDaxFormatter si necesitas ese estilo o quieres igualar el comportamiento de TE2 o TE3 con "Use daxformatter.com..." activado.
| Clave | Predeterminado | Descripción |
|---|---|---|
formatOptions.useSemicolons |
false |
Usa ; como separador de listas (según la configuración regional europea/de la UE). El valor predeterminado , coincide con la configuración regional en-US. |
formatOptions.shortFormat |
false |
Prefiere un formato corto, de una sola línea, cuando sea posible, en lugar del diseño predeterminado de varias líneas. |
formatOptions.skipSpaceAfterFunction |
false |
Omite el espacio entre el nombre de una función y su paréntesis de apertura (por ejemplo, SUM(x) en lugar de SUM (x)). |
formatOptions.useSqlBiDaxFormatter |
false |
Formatea DAX con el servicio web SQL BI daxformatter.com en lugar del formateador interno. Requiere acceso a Internet. El formateador interno (predeterminado) funciona sin conexión y coincide con la configuración predeterminada de Tabular Editor 3 Desktop. |
Visualización
Ajustes que controlan la salida del terminal de la CLI y el nivel de detalle de los diagnósticos.
| 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. No los edites a mano; usa te profile set / remove / list. Consulta Autenticación y conexiones para la gestión de perfiles.
Los perfiles pueden incluir anulaciones que sustituyen los valores predeterminados de comportamiento anteriores siempre que el perfil esté activo. Así, un perfil de desarrollo puede relajar la validación y el BPA, mientras que uno de producción los mantiene estrictos:
te profile set dev --validate-on-mutation false --bpa-on-deploy false
te profile set prod --auto-format true
Control BPA
El control BPA es la red de seguridad que impide que se guarde o se despliegue un modelo con infracciones de reglas. Se ejecuta automáticamente con los siguientes comandos:
te deployejecuta el control, a menos que se pase--skip-bpao quebpa.onDeployseafalse.te saveejecuta el control, a menos que se pase--skip-bpa(o--force) o quebpa.onSaveseafalse.te add,te set,te mv,te macro runejecutan el control 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). Las reglas integradas pueden excluirse individualmente mediante bpa.disabledBuiltInRuleIds; se administran con te bpa rules disable <id> / te bpa rules enable <id>.
Cuando el control se activa y encuentra infracciones con gravedad ≥ error, el comando falla con el código de salida 1 y un resumen de las infracciones. Opciones para resolverlo:
--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. Las reglas integradas siguen aplicándose salvo quebpa.builtInRulesseafalse.
Ejecuta te bpa run de forma independiente para previsualizar el comportamiento del control sin desplegar:
te bpa run ./model --fail-on error
te bpa run ./model --fix --save # Apply fixes to the source
Reglas de BPA integradas
La CLI incluye un único conjunto canónico de reglas de BPA integradas, incrustado como recurso JSON. Las reglas integradas son de solo lectura: te bpa rules set y te bpa rules rm se niegan a modificar los ID integrados y remiten a los usuarios a te bpa rules disable en su lugar. Para personalizar el comportamiento de una regla integrada, cópiala en tu archivo local de reglas como una regla nueva con un ID distinto y deshabilita la regla integrada.
Tanto bpa.builtInRules como bpa.disabledBuiltInRuleIds se aplican de forma coherente a la validación de implementación/guardado/mutación y al comando manual te bpa run: si deshabilitas una regla una vez con te bpa rules disable, queda excluida en todas partes.
Comportamiento tras la mutación
Cuando ejecutas un comando que modifica (te add, te set, te mv, te replace --save, te macro run), la CLI realiza estas comprobaciones automáticamente:
- Los errores de TOM siempre se muestran. Un DAX o M no válidos en medidas, columnas, particiones o elementos de cálculo siempre hacen que el comando falle.
- La validación del esquema (
validateOnMutation, valor predeterminadotrue) comprueba que las referenciasTable[Column]en DAX sigan resolviéndose y verifica la consistencia de los metadatos. - Formato automático de DAX (
autoFormat, valor predeterminadofalse) da formato a cualquier expresión afectada por la mutación mediante el DAX Formatter integrado cuando está habilitado. - BPA tras la mutación (
bpa.onMutation, valor predeterminadofalse) ejecuta BPA después de la mutación cuando está habilitado, y muestra una advertencia o hace que el comando falle según--fail-on.
Deshabilita una comprobación con te config set <key> false, o limita esa relajación a un entorno concreto mediante un perfil.
Variables de entorno
Usa las siguientes variables de entorno específicas de la CLI para PATH, 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 respeta en todas las operaciones de te config (show, set, init, paths). |
TE_MACROS_PATH |
Anula la ruta del archivo de macros (segundo en el orden de resolución; ver arriba). 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. |
TE3_EXE_PATH |
Ruta al binario de escritorio de Tabular Editor 3. Se usa solo con te open; puedes dejarla sin definir en Linux/macOS o si no usas te open. Si no se especifica, se usa la búsqueda en PATH. |
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 automáticamente. |
TE_SESSION |
Sobrescribe el identificador de sesión por terminal que se usa para el estado de la conexión activa. Útil para ejecutar varias sesiones aisladas de la CLI dentro del mismo shell, por ejemplo, en trabajos de matriz de CI en paralelo. Inspecciona y gestiona las sesiones con te session. |
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. |
Páginas relacionadas
- 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.