Table of Contents

Línea de comandos (Tabular Editor 2)

Tabular Editor se puede ejecutar desde la línea de comandos para realizar diversas tareas, lo que puede ser útil en escenarios de compilación e implementación automatizadas, etc.

Cómo encajan las herramientas

Tabular Editor 3 es una aplicación de escritorio para desarrolladores. No tiene su propia interfaz de línea de comandos. Para implementaciones automatizadas y canalizaciones de CI/CD, usa TabularEditor.exe (la CLI de Tabular Editor 2 documentada en esta página) o la nueva CLI de Tabular Editor multiplataforma (te).

Ejecutar TabularEditor.exe en una canalización de CI/CD no requiere una licencia de Tabular Editor 3. Solo los usuarios de la aplicación Tabular Editor 3 necesitan una licencia.

Tip

¿Busca la nueva CLI multiplataforma? Consulte Tabular Editor CLI (Vista previa pública limitada) para obtener la CLI de Tabular Editor (versión preliminar pública limitada), su sucesora que se ejecuta en Windows, macOS y Linux.

TabularEditor.exe frente a la CLI de Tabular Editor

La CLI de Tabular Editor (te) es la sucesora multiplataforma de TabularEditor.exe. No es solo una reescritura para macOS y Linux: incorpora la edición, la inspección, la comparación de diferencias de modelos, las pruebas, la activación de actualizaciones y el análisis de VertiPaq como operaciones de canalización de primera clase; nada de esto era posible con TabularEditor.exe. La CLI te está en versión preliminar pública limitada (expira el 2026-10-31); por ahora, usa TabularEditor.exe para las canalizaciones de producción hoy.

De un vistazo

Aspecto CLI de TE2 (TabularEditor.exe) CLI de TE (te)
Estado Estable y lista para producción Versión preliminar pública limitada (expira el 2026-10-31)
Plataforma Solo para Windows Windows, macOS, Linux
Requiere licencia No No (versión preliminar); por determinar cuando llegue a GA
Binario Aplicación WinForms; requiere el wrapper start /wait Binario de consola diseñado específicamente para este fin; no requiere wrapper

Autenticación

Capacidad CLI de TE2 (TabularEditor.exe) CLI de TE (te)
Entidad de servicio Mediante una cadena de conexión de MSOLAP Compatibilidad nativa con --auth spn, --auth env, --auth managed-identity; credenciales a través de variables de entorno, stdin o certificado; almacén seguro de credenciales nativo del sistema operativo
Identidad administrada No Sí (--auth managed-identity), para runners alojados en Azure
Inicio de sesión interactivo en el navegador No Sí (te auth login)

CI/CD

Capacidad CLI de TE2 (TabularEditor.exe) CLI de TE (te)
Anotaciones de CI -V (Azure DevOps), -G (GitHub) --ci vsts, --ci github en cada comando
Modo no interactivo Sin opción explícita; si hay errores, puede solicitarte datos Opción global --non-interactive: falla de inmediato, sin solicitar datos
Códigos de salida predecibles Parcial 0 = éxito, 1 = fallo (para te diff: se encontraron diferencias), 2 = error en la comparación de te diff
Salida estructurada No --output-format json/csv/tmdl/tmsl en cada comando
Resultados de VSTEST Opción -T --trx <file> en validate, bpa run, test run

Implementación

Capacidad CLI de TE2 (TabularEditor.exe) CLI de TE (te)
Implementar el modelo Opción -D te deploy con opciones detalladas (--deploy-roles, --deploy-partitions, --deploy-connections, --deploy-full, etc.)
Generar XMLA/TMSL sin realizar el despliegue opción -X De forma predeterminada: te deploy sin --execute imprime el TMSL en stdout
Comprobación de BPA antes del despliegue No Integrado; usa --skip-bpa o --fix-bpa para anularlo
Perfiles de conexión No te profile set/list/show - perfiles reutilizables con nombre por entorno

Best Practice Analyzer y edición de modelos

Capacidad CLI de TE2 (TabularEditor.exe) CLI de TE (te)
Ejecutar BPA opciones -A / -AX te bpa run con --fail-on warning/error, --fix, delimitación mediante --path y --vpax para reglas compatibles con VPA
Gestión de reglas de BPA No te bpa rules add/rm/set/list/disable/enable/init
Ejecutar C# Script opción -S te script: varios scripts, código en línea, stdin, comprobación de compilación con --validate, símbolos del preprocesador (TECLI)
Ejecutar macros No te macro run con contexto --on <object>
Establecer/consultar propiedades No te get, te set, te add, te rm, te mv
Formato DAX No te set --format para objetos del modelo, te util format-dax / format-m para expresiones sueltas

Inspección, actualización, pruebas y análisis de VertiPaq

Capacidad TE2 CLI (TabularEditor.exe) TE CLI (te)
Listar objetos del modelo No te ls con filtros de ruta con comodines, --type, --paths-only, --output-format bim
Buscar expresiones/nombres No te find con expresiones regulares y ámbito (--in expressions/names/descriptions)
Comparar dos modelos No te diff - comparación estructural con código de salida 1 si hay alguna diferencia
Análisis de dependencias No te deps - dependencias ascendentes y descendentes para cualquier objeto; --unused para encontrar código muerto
Iniciar una actualización No te refresh con --type, --table, --partition, --apply-refresh-policy; simulación en seco de forma predeterminada; usa --execute para ejecutarlo
Pruebas de aserción de DAX No te test run con --tag, --trx, --ci; te test init/snapshot/compare
Estadísticas de almacenamiento No te vertipaq - columnas, relaciones, particiones; --export/--import VPAX

Otros

Capacidad TE2 CLI (TabularEditor.exe) TE CLI (te)
REPL interactivo No te interactive - shell con conocimiento del modelo, historial persistente y ediciones por etapas
Autocompletado con Tab en el shell No te completion bash/zsh/pwsh
Compatibilidad con versiones anteriores de TE2 Nativa Capa de compatibilidad integrada: las invocaciones existentes de TabularEditor.exe funcionan sin cambios

Para ver una correspondencia opción por opción entre la sintaxis de TE2 y la nueva CLI, consulta Migración desde la línea de comandos de TE2.

Nota: Dado que TabularEditor.exe es una aplicación WinForms, si la ejecutas directamente desde un símbolo del sistema de Windows, el hilo volverá inmediatamente al símbolo del sistema. Esto puede provocar problemas en scripts de comandos, etc. Para esperar a que TabularEditor.exe termine sus tareas de línea de comandos, ejecútalo siempre así: start /wait TabularEditor ...

Para ver las opciones de línea de comandos disponibles en Tabular Editor, ejecuta el siguiente comando:

Línea de comandos de Windows:

start /wait TabularEditor.exe /?

PowerShell:

$p = Start-Process -filePath TabularEditor.exe -Wait -NoNewWindow -PassThru -ArgumentList "/?"

Salida:

Usage:

TABULAREDITOR ( file | server database | -L [name] ) [-S script1 [script2] [...]]
    [-SC] [-A [rules] | -AX rules] [(-B | -F | -TMDL) output [id]] [-V | -G] [-T resultsfile]
    [-D [server database [-L user pass] [-F | -O [-C [plch1 value1 [plch2 value2 [...]]]]
        [-P [-Y]] [-S] [-R [-M]]]
        [-X xmla_script]] [-W] [-E]]

file                Full path of the Model.bim file or database.json model folder to load.
server              Server\instance name or connection string from which to load the model
database            Database ID of the model to load. If blank (") picks the first available
                      database on the server.
-L / -LOCAL         Connects to a Power BI Desktop (local) instance of Analysis Services. If no
                      name is specified, this assumes that exactly 1 instance is running. Otherwise,
                      name should match the name of the .pbix file loaded in Power BI Desktop.
-S / -SCRIPT        Execute the specified script on the model after loading.
  scriptN             Full path of one or more files containing a C# script to execute or an inline
                      script.
-SC / -SCHEMACHECK  Attempts to connect to all Provider Data Sources in order to detect table schema
                    changes. Outputs...
                      ...warnings for mismatched data types and unmapped source columns
                      ...errors for unmapped model columns.
-A / -ANALYZE       Runs Best Practice Analyzer and outputs the result to the console.
  rules               Optional path of file or URL of additional BPA rules to be analyzed. If
                      specified, model is not analyzed against local user/local machine rules,
                      but rules defined within the model are still applied.
-AX / -ANALYZEX     Same as -A / -ANALYZE but excludes rules specified in the model annotations.
-B / -BIM / -BUILD  Saves the model (after optional script execution) as a Model.bim file.
  output              Full path of the Model.bim file to save to.
  id                  Optional id/name to assign to the Database object when saving.
-F / -FOLDER        Saves the model (after optional script execution) as a Folder structure.
  output              Full path of the folder to save to. Folder is created if it does not exist.
  id                  Optional id/name to assign to the Database object when saving.
-TMDL               Saves the model (after optional script execution) as a TMDL folder structure.
  output              Full path of the TMDL folder to save to. Folder is created if it does not exist.
  id                  Optional id/name to assign to the Database object when saving.
-V / -VSTS          Output Visual Studio Team Services logging commands.
-G / -GITHUB        Output GitHub Actions workflow commands.
-T / -TRX         Produces a VSTEST (trx) file with details on the execution.
  resultsfile       File name of the VSTEST XML file.
-D / -DEPLOY        Command-line deployment
                      If no additional parameters are specified, this switch will save model metadata
                      back to the source (file or database).
  server              Name of server to deploy to or connection string to Analysis Services.
  database            ID of the database to deploy (create/overwrite).
  -L / -LOGIN         Disables integrated security when connecting to the server. Specify:
    user                Username (must be a user with admin rights on the server)
    pass                Password
  -F / -FULL          Deploy the full model metadata, allowing overwrite of an existing database.
  -O / -OVERWRITE     Allow deploy (overwrite) of an existing database.
    -C / -CONNECTIONS   Deploy (overwrite) existing data sources in the model. After the -C switch, you
                        can (optionally) specify any number of placeholder-value pairs. Doing so, will
                        replace any occurrence of the specified placeholders (plch1, plch2, ...) in the
                        connection strings of every data source in the model, with the specified values
                        (value1, value2, ...).
    -P / -PARTITIONS    Deploy (overwrite) existing table partitions in the model.
      -Y / -SKIPPOLICY    Do not overwrite partitions that have Incremental Refresh Policies defined.
    -S / -SHARED        Deploy (overwrite) shared expressions.
    -R / -ROLES         Deploy roles.
      -M / -MEMBERS       Deploy role members.
  -X / -XMLA        No deployment. Generate XMLA/TMSL script for later deployment instead.
    xmla_script       File name of the new XMLA/TMSL script output.
  -W / -WARN        Outputs information about unprocessed objects as warnings.
  -E / -ERR         Returns a non-zero exit code if Analysis Services returns any error messages after
                      the metadata was deployed / updated.
Warning

La incorporación de la opción de implementación -S / -SHARED en Tabular Editor 2.27.0 es un cambio incompatible. Si estás usando la CLI de Tabular Editor para realizar implementaciones y vas a actualizar desde una versión anterior de Tabular Editor, asegúrate de incluir esa opción en tus comandos de la CLI, ya que, de lo contrario, no se implementarán las expresiones compartidas.

Tip

La opción -F se introdujo en Tabular Editor 2.27.0. Se usa para realizar una implementación "completa" y equivale a especificar -O -C -P -S -R -M.

Conexión a Azure Analysis Services

Puedes usar cualquier cadena de conexión válida de SSAS en lugar de un nombre de servidor en el comando. El siguiente comando carga un modelo desde Azure Analysis Services y lo guarda localmente como un archivo Model.bim:

Línea de comandos de Windows:

start /wait TabularEditor.exe "Provider=MSOLAP;Data Source=asazure://northeurope.asazure.windows.net/MyAASServer;User ID=xxxx;Password=xxxx;Persist Security Info=True;Impersonation Level=Impersonate" MyModelDB -B "C:\Projects\FromAzure\Model.bim"

PowerShell:

$p = Start-Process -filePath TabularEditor.exe -Wait -NoNewWindow -PassThru `
       -ArgumentList "`"Provider=MSOLAP;Data Source=asazure://northeurope.asazure.windows.net/MyAASServer;User ID=xxxx;Password=xxxx;Persist Security Info=True;Impersonation Level=Impersonate`" MyModelDB -B C:\Projects\FromAzure\Model.bim"

Si prefieres conectarte usando una entidad de servicio (ID de aplicación y clave) en lugar de la autenticación de Azure Active Directory, puedes usar la siguiente cadena de conexión:

Provider=MSOLAP;Data Source=asazure://northeurope.asazure.windows.net/MyAASServer;User ID=app:<APPLICATION ID>@<TENANT ID>;Password=<APPLICATION KEY>;Persist Security Info=True;Impersonation Level=Impersonate

Automatización de cambios de script

Si has creado un script dentro de Tabular Editor y quieres aplicarlo a un archivo Model.bim antes del despliegue, puedes usar la opción de línea de comandos "-S" (Script):

Línea de comandos de Windows:

start /wait TabularEditor.exe "C:\Projects\MyModel\Model.bim" -S "C:\Projects\MyModel\MyScript.cs" -D localhost\tabular MyModel

PowerShell:

$p = Start-Process -filePath TabularEditor.exe -Wait -NoNewWindow -PassThru `
       -ArgumentList "`"C:\Projects\MyModel\Model.bim`" -S `"C:\Projects\MyModel\MyScript.cs`" -D `"localhost\tabular`" `"MyModel`""

Este comando cargará el archivo Model.bim en Tabular Editor, aplicará el script especificado y desplegará el modelo modificado en el servidor "localhost\tabular" como una nueva base de datos "MyModel". Usa la opción "-O" (Overwrite) si quieres sobrescribir una base de datos existente en el servidor con el mismo nombre.

Puedes usar la opción "-B" (Build) en lugar de la opción "-D" (Deploy) para generar el modelo modificado como un nuevo archivo Model.bim, en vez de desplegarlo directamente en un servidor. Esto es útil si quieres desplegar el modelo con otra herramienta de despliegue o si quieres inspeccionarlo en Visual Studio o Tabular Editor antes de desplegarlo. También puede ser útil en escenarios de compilación automatizada, donde quieres guardar el modelo modificado como un artefacto de la versión antes de desplegarlo.

Modificar cadenas de conexión durante el despliegue

Supongamos que tienes un modelo que contiene un origen de datos con la siguiente cadena de conexión:

Provider=SQLOLEDB.1;Data Source=sqldwdev;Persist Security Info=False;Integrated Security=SSPI;Initial Catalog=DW

Durante el despliegue, quieres modificar la cadena para que apunte a una base de datos de UAT o de producción. La mejor manera de hacerlo es, primero, usar un script que cambie toda la cadena de conexión por un valor de marcador de posición y, después, usar la opción -C para sustituir el marcador por la cadena de conexión real.

Coloca el siguiente script en un archivo llamado "ClearConnectionStrings.cs" o similar:

// This will replace the connection string of all Provider (legacy) data sources in the model
// with a placeholder based on the name of the data source. E.g., if your data source is called
// "SQLDW", the connection string after running this script would be "SQLDW":

foreach(var ds in Model.DataSources.OfType<ProviderDataSource>())
    ds.ConnectionString = ds.Name;

Podemos indicar a Tabular Editor que ejecute el script y, a continuación, realizar la sustitución de marcadores de posición con el siguiente comando:

Línea de comandos de Windows:

start /wait TabularEditor.exe "Model.bim" -S "ClearConnectionStrings.cs" -D localhost\tabular MyModel -C "SQLDW" "Provider=SQLOLEDB.1;Data Source=sqldwprod;Persist Security Info=False;Integrated Security=SSPI;Initial Catalog=DW"

PowerShell:

$p = Start-Process -filePath TabularEditor.exe -Wait -NoNewWindow -PassThru `
       -ArgumentList "Model.bim -S ClearConnectionStrings.cs -D localhost\tabular MyModel -C SQLDW `"Provider=SQLOLEDB.1;Data Source=sqldwprod;Persist Security Info=False;Integrated Security=SSPI;Initial Catalog=DW`""

El comando anterior desplegará el archivo Model.bim como una nueva base de datos de SSAS "MyModel" en la instancia de SSAS "localhost\tabular". Antes del despliegue, el script se usa para reemplazar todas las cadenas de conexión en los orígenes de datos del proveedor (heredados) por el nombre del origen de datos, que se usará como marcador de posición. Suponiendo que solo tengamos un único origen de datos llamado "SQLDW", el conmutador -C actualizará la cadena de conexión, reemplazando "SQLDW" por la cadena completa especificada.

Esta técnica es útil en escenarios en los que quieres desplegar el mismo modelo en varios entornos que deben procesar datos de diferentes orígenes (idénticos), por ejemplo, una base de datos de producción, preproducción o UAT. Si usas Azure DevOps (ver más abajo), considera usar una variable para almacenar la cadena de conexión real que se utilizará, en lugar de dejarla codificada en el comando.

Integración con Azure DevOps

Si quieres usar el CLI de Tabular Editor dentro de una canalización de Azure DevOps, deberías usar el modificador "-V" en cualquier comando de TabularEditor.exe que ejecute tu script. Este modificador hará que Tabular Editor emita comandos de registro en un formato legible por Azure DevOps. Esto permite que Azure DevOps reaccione correctamente ante errores, etc.

Al realizar el despliegue desde la línea de comandos, se mostrará en la consola información sobre los objetos sin procesar. En escenarios de despliegue automatizado, puede que quieras que tu agente de compilación reaccione cuando haya objetos que queden sin procesar, por ejemplo al agregar nuevas columnas, cambiar la expresión DAX de una tabla calculada, etc. En ese caso, puedes usar el modificador "-W" además del modificador "-V" mencionado anteriormente, para emitir esta información como advertencias. Al hacerlo, el despliegue devolverá a Azure DevOps el estado "SucceededWithIssues" una vez que se haya completado el despliegue. También puede usar el modificador "-E" si desea que el despliegue devuelva el estado "Failed" en caso de que el servidor informe de cualquier error de DAX después de un despliegue satisfactorio.

start /wait no es necesario al ejecutar TabularEditor.exe dentro de una tarea de línea de comandos en una canalización de Azure DevOps. Esto se debe a que la tarea de línea de comandos no finalizará hasta que todos los hilos iniciados por la tarea hayan terminado. Dicho de otro modo, solo necesitas usar start /wait si tienes comandos adicionales después de la llamada a TabularEditor.exe y, en ese caso, asegúrate de usar start /B /wait. El modificador /B es obligatorio para que la salida de TabularEditor.exe se redirija correctamente al registro de la canalización.

TabularEditor.exe "C:\Projects\My Model\Model.bim" -D ssasserver databasename -O -C -P -S -V -E -W

O con varios comandos:

start /B /wait TabularEditor.exe "C:\Projects\Finance\Model.bim" -D ssasserver Finance -O -C -P -S -V -E -W
start /B /wait TabularEditor.exe "C:\Projects\Sales\Model.bim" -D ssasserver Sales -O -C -P -S -V -E -W

La figura siguiente muestra el aspecto de este tipo de compilación en Azure DevOps:

imagen

Si el despliegue falla por cualquier motivo, Tabular Editor devuelve el estado "Fallido" a Azure DevOps, independientemente de si está usando o no el modificador "-W".

Para obtener más información sobre Azure DevOps y Tabular Editor, eche un vistazo a esta serie de entradas del blog (especialmente el capítulo 3 y los capítulos posteriores).

Tarea de PowerShell de Azure DevOps

Si prefiere usar una tarea de PowerShell en lugar de una tarea de línea de comandos, debe ejecutar TabularEditor.exe con el cmdlet Start-Process, tal como se muestra arriba. Además, asegúrese de pasar el código de salida del proceso como el parámetro de salida en su script de PowerShell, para que los errores que se produzcan en Tabular Editor hagan que la tarea de PowerShell falle:

$p = Start-Process -filePath TabularEditor.exe -Wait -NoNewWindow -PassThru `
       -argumentList "`"C:\Projects\My Model\Model.bim`" -D ssasserver databasename -O -C -P -S -V -E -W"
exit $p.ExitCode

Pasar parámetros a scripts mediante variables de entorno

Al ejecutar scripts de C# con la opción -S en pipelines de Azure DevOps, la forma recomendada de pasar parámetros es mediante variables de entorno en lugar de argumentos de la línea de comandos. Los scripts de C# pueden leer variables de entorno usando Environment.GetEnvironmentVariable(), y Azure DevOps pone automáticamente a disposición todas las variables del pipeline como variables de entorno.

Ejemplo: establecer variables de entorno en YAML:

variables:
  deployEnv: 'Production'
  serverName: 'prod-sql-server'

steps:
- script: TabularEditor.exe "Model.bim" -S "UpdateModel.csx" -D "$(serverName)" "MyDatabase" -O -V -E -W
  displayName: 'Deploy with Script Parameters'
  env:
    DEPLOY_ENV: $(deployEnv)
    SERVER_NAME: $(serverName)

Ejemplo: tarea de PowerShell con variables de entorno:

- task: PowerShell@2
  displayName: 'Run Tabular Editor Script'
  env:
    DEPLOY_ENV: 'UAT'
    CONNECTION_STRING: $(sqldwConnectionString)
  inputs:
    targetType: 'inline'
    script: |
      $p = Start-Process -filePath TabularEditor.exe -Wait -NoNewWindow -PassThru `
             -ArgumentList "`"Model.bim`" -S `"ConfigureModel.csx`" -B `"output/Model.bim`" -V"
      exit $p.ExitCode

En su script de C# (por ejemplo, UpdateModel.csx):

var deployEnv = Environment.GetEnvironmentVariable("DEPLOY_ENV");
var serverName = Environment.GetEnvironmentVariable("SERVER_NAME");

Info($"Configuring model for {deployEnv} environment on {serverName}");

// Apply environment-specific changes
foreach(var ds in Model.DataSources.OfType<ProviderDataSource>())
{
    ds.ConnectionString = ds.ConnectionString.Replace("{SERVER}", serverName);
}

Este enfoque es más limpio y más fácil de mantener que codificar valores en los scripts o usar técnicas complejas de reemplazo de cadenas. Para más información sobre el uso de variables de entorno en scripts de C#, consulte C# Scripts - Acceso a variables de entorno.

Ejecutar Best Practice Analyzer

Puede usar el modificador "-A" para que Tabular Editor analice su modelo y detecte todos los objetos que infrinjan cualquiera de las reglas de mejores prácticas definidas en el equipo local (en el archivo %AppData%..\Local\TabularEditor\BPARules.json), o como anotaciones dentro del propio modelo. Como alternativa, puede especificar la ruta de un archivo .json que contenga reglas de mejores prácticas después del modificador "-A", para analizar el modelo con las reglas definidas en el archivo. Los objetos que incumplan las reglas se mostrarán en la consola.

Si también está usando el modificador "-V", el nivel de gravedad de cada regla determinará cómo se notifica la infracción a la canalización de compilación:

  • Gravedad = 1: solo informativo
  • Gravedad = 2 generará una ADVERTENCIA
  • Gravedad >= 3 generará un ERROR

Realizar una comprobación del esquema de la fuente de datos

A partir de la versión 2.8 (2.8), puede usar el modificador -SC (-SCHEMACHECK) para validar las consultas de origen de las tablas. Esto equivale a invocar la interfaz de usuario de Refresh Table Metadata, con la diferencia de que no se realizará ningún cambio en el modelo, pero las diferencias de esquema se notifican en la consola. Los tipos de datos cambiados y las columnas que se hayan agregado al origen se notificarán como advertencias. Las columnas de origen que falten se notificarán como errores. Si se especifican los modificadores -SC (-SCHEMACHECK) y -S (-SCRIPT), la comprobación de esquema se ejecutará después de que el script se haya ejecutado correctamente, lo que le permite modificar las propiedades de la fuente de datos antes de realizar la comprobación de esquema, por ejemplo, para especificar la contraseña de una credencial.

También puede anotar tablas y columnas si quiere que la comprobación de esquema las trate de una manera específica. Más información aquí.

Salida de la línea de comandos y códigos de salida

La línea de comandos proporciona varios detalles, en función de los parámetros usados y de los eventos que se produzcan durante la ejecución. Los códigos de salida se introdujeron en la versión 2.7.4.

Nivel Comando Mensaje Aclaración
Error (Cualquiera) Sintaxis de argumentos no válida Se proporcionaron argumentos no válidos al CLI de Tabular Editor
Error (Cualquiera) Archivo no encontrado: ...
Error (Cualquiera) Error al cargar el archivo: ... El archivo está dañado o no contiene metadatos TOM válidos en formato JSON
Error (Cualquiera) Error al cargar el modelo: ... No se pudo conectar a la instancia de Analysis Services proporcionada; no se encontró la base de datos; los metadatos de la base de datos están dañados; o la base de datos no tiene un nivel de compatibilidad admitido
Error -SCRIPT No se encontró el archivo de script especificado
Error -SCRIPT Errores de compilación del script: El script contenía sintaxis de C# no válida. Los detalles se mostrarán en las líneas siguientes.
Error -SCRIPT Error al ejecutar el script: ... Excepción no controlada al ejecutar el script.
Información -SCRIPT Nº de línea del script: ... Uso de los métodos Info(string) o Output(string) dentro del script.
Advertencia -SCRIPT Advertencia del script: ... Uso del método Warning(string) dentro del script.
Error -SCRIPT Error del script: ... Uso del método Error(string) dentro del script.
Error -FOLDER, -BIM Los argumentos -FOLDER y -BIM son mutuamente excluyentes. Tabular Editor no puede guardar el modelo cargado actualmente en una estructura de carpetas y en un archivo .bim al mismo tiempo.
Error -ANALYZE No se encontró el archivo de reglas: ...
Error -ANALYZE Archivo de reglas no válido: ... El archivo de reglas de BPA especificado está dañado o no contiene un JSON válido.
Información -ANALYZE ... viola la regla ... Resultados del Best Practice Analyzer para reglas con un nivel de gravedad de 1 o inferior.
Advertencia -ANALYZE ... viola la regla ... Resultados del Best Practice Analyzer para reglas con un nivel de gravedad de 2.
Error -ANALYZE ... viola la regla ... Resultados del Best Practice Analyzer para reglas con un nivel de gravedad de 3 o superior.
Error -DEPLOY ¡Falló el despliegue! ... Motivo del fallo devuelto directamente por la instancia de Analysis Service (por ejemplo: base de datos no encontrada, no se permite sobrescribir la base de datos, etc.)
Información -DEPLOY Objeto sin procesar: ... Objetos que están en el estado "NoData" o "CalculationNeeded" tras una implementación correcta. Utilice el modificador -W para tratarlos como Nivel=Advertencia.
Advertencia -DEPLOY El objeto no está en estado "Ready": ... Objetos que se encuentran en estado "DependencyError", "EvaluationError" o "SemanticError" después de un despliegue correcto. Si usa la opción -W, también incluye los objetos en estado "NoData" o "CalculationNeeded".
Advertencia -DEPLOY Error en X:... Objetos que contienen DAX no válido después de un despliegue correcto (medidas, columnas calculadas, tablas calculadas, roles). Use la opción -E para tratarlos como Level=Error.

Si se encuentra alguno de los mensajes de nivel "Error", Tabular Editor devolverá el código de salida = 1. En caso contrario, 0.