仅加载QlikView中的代码选择部分

时间:2016-08-18 12:00:34

标签: qlikview

我有一组在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需要预先运行。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:3)

只要您在条件中正确包装脚本的相应部分,就应该完成它:

  1. 通过变量概述窗口(ctrl + alt + v)创建一个变量,就像你提到的那样引用要重新加载的正确脚本(vROIType

  2. 创建按钮或文本框并设置操作以更改vROIType变量的值。您只需创建两个按钮,即可通过单击相应的按钮选择正确的数据源。

  3. 通过菜单重新加载或创建另一个文本框/按钮,其中包含重新加载脚本的操作。

  4. 最重要的是,在脚本中使用条件来根据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;
    
  5. 重新加载后,脚本将查看vROIType变量并使用它来确定是否运行部分脚本。 Here's a link举一个简单的例子,如果你有Qlikview的付费版本,你可以尝试,否则它会对你大喊大叫,你不能打开第三方.qvw'