外部保存的 Qlik Sense 表达式中的字符串

String within externally saved Qlik Sense expression

我有一个小问题,所以这里有一些背景知识:

我们正在开发 Qlik Sense 应用程序,我们通常将表达式写入外部脚本。我们将这些保存为变量,然后在应用程序中评估变量。这样做的好处是 a) 我们可以通过 GIT 使用更好的版本控制,并且 b) 如果我们将来需要更改平台,我们可以将查询与应用程序分开。

我的问题:

我遇到过这样一种情况,我们需要将字符串连接到表达式的结果,这在应用程序中很容易完成,但是当您将表达式保存到外部文件时,表达式周围的单引号干扰字符串周围的单引号。

我试过了

我接下来想做的是将引号更改为流氓字符,这样 qlik 会忽略它作为文本,然后稍后用引号替换它,这样 qlik 就会尝试评估它。

示例代码:

SET variable = 'if(isnull(month),'Month: ' & date(now(), 'MMM-YYYY'),'Month: ' & only({$<year={2016}, month={6}>}month)';

经过进一步研究,我发现 Qlik 有自己的转义字符方式,无需使用“\”字符。我能够通过像这样转义内部单引号来解决这个问题:

SET variable = 'if(isnull(month),''Month: '' & date(now(), ''MMM-YYYY''),''Month: '' & only({$<year={2016}, month={6}>}month)';

现在感觉这是一个非常愚蠢的疏忽,但希望这会在将来为某人节省一些时间。