我有一组在Qlik中相当大的代码。我有在脚本开头定义的日期 即
Let vBDate = Date(Date#('01/01/2015','MM/DD/YYYY'),'MM/DD/YYYY');
Let vEDate = Date(Date#('12/31/2015','MM/DD/YYYY'),'MM/DD/YYYY');
整个代码根据特定数据源运行财务数字。最初我为每个数据源都有一个QVW版本。然而,正如经常与财务一样,QVW不断需要改进。所以我将它们合并为一个代码。我将代码分解为不同的标签,以便我可以关闭我不想要的来源。
我想要做的是尝试在代码中查找变量,如此,
Let vROIType = 'Vendor';
或使用我在第一次尝试这个问题时回答的方法,其中变量是在设计师一侧使用按钮定义的。
希望在设置变量时,只有与该变量关联的代码才会在重新加载中运行,而其他代码将被跳过。
在我的研究中,我尝试在脚本中创建函数并使用代码来调用它们,但是调用总是会出错。我还读到了有关QVD的信息,但我的许多日期变量都是在运行它时开始定义的,QVD需要预先运行。
任何帮助都将不胜感激。
答案 0 :(得分:3)
只要您在条件中正确包装脚本的相应部分,就应该完成它:
通过变量概述窗口(ctrl + alt + v)创建一个变量,就像你提到的那样引用要重新加载的正确脚本(vROIType
)
创建按钮或文本框并设置操作以更改vROIType
变量的值。您只需创建两个按钮,即可通过单击相应的按钮选择正确的数据源。
通过菜单重新加载或创建另一个文本框/按钮,其中包含重新加载脚本的操作。
最重要的是,在脚本中使用条件来根据vROIType
变量选择性地运行正确的部分。
if vROIType = 'Vendor' then
Everything in the script you want run when the source is `Vendor`.
elseif vROIType = 'SomeOtherVendor' then
Everything in the script you want run when the source is ....
end if;
重新加载后,脚本将查看vROIType
变量并使用它来确定是否运行部分脚本。 Here's a link举一个简单的例子,如果你有Qlikview的付费版本,你可以尝试,否则它会对你大喊大叫,你不能打开第三方.qvw'