在 QlikView 中仅加载 select 部分代码

Load only select sections of Code in 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. 通过变量概述创建变量 window (ctrl + alt + v) 就像您提到的引用要重新加载的正确脚本 (vROIType)

  2. 创建一个按钮或文本框并设置一个操作来更改 vROIType 变量的值。您可以只制作两个按钮,这样您就可以通过单击相应的按钮来 select 正确的数据源。

  3. 通过菜单重新加载或创建另一个文本 box/button 以重新加载脚本。

  4. 最重要的是,在脚本中使用条件语句 select根据 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的