表格编辑器 - 从表格编辑器 CLI 设置 "Shared Expression" 值(使用 Azure Devops)

Tabular Editor - Set "Shared Expression" value from Tabular Editor CLI (with Azure Devops)

我需要更改 TOM 中的参数值。我正在使用 Azure Devops 和包含表格编辑器 CLI 的步骤。我已经编写了一个单行脚本,应该能够更改共享表达式的值。 (也许共享表达式是只读的?)

将要执行的脚本

Model.Expressions["CustomerNameParameter"].Expression = "\"some value\" meta [IsParameterQuery=true, Type=\"Text\", IsParameterQueryRequired=true]";

我 returns 每当 Azure Devops 尝试 运行 时出错:

在模型中找不到 CustomerNameParameter。

我的构建看起来像这样:

Starting: Build Mode.bim from SourceDirectory
==============================================================================
Task         : Command line
Description  : Run a command line script using Bash on Linux and macOS and cmd.exe on Windows
Version      : 2.201.1
Author       : Microsoft Corporation
Help         : https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/command-line
==============================================================================
Generating script.
Script contents: shell
TabularEditor.exe "D:\a\s" -B "D:\a\a\Model.bim"
========================== Starting Command Output ===========================
"C:\Windows\system32\cmd.exe" /D /E:ON /V:OFF /S /C "CALL "D:\a\_temp\ba31b528-d9a3-42cc-9099-d80d46d1ffe6.cmd""

Tabular Editor 2.12.4 (build 2.12.7563.29301)
--------------------------------
Dependency tree built in 113 ms
Loading model...
Building Model.bim file...
Finishing: Build Mode.bim from SourceDirectory

你的脚本看起来不错。您是否尝试过在表格编辑器中执行它 UI?

可能参数在您的模型中的命名方式不同。您可以在 CLI 中使用以下脚本输出参数列表:

foreach(var expr in Model.Expressions) Info(expr.Name);

在上面屏幕截图中显示的模型上在 CLI 中执行的结果: