Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tableau api 表IF-THEN语句_Tableau Api - Fatal编程技术网

Tableau api 表IF-THEN语句

Tableau api 表IF-THEN语句,tableau-api,Tableau Api,请看下面我的代码。我对Tableau比较陌生。我已经掌握了很多基本知识,但是,我相信我的编码效率很低,并且会导致计算时间过长。我希望有人能帮助我找到一种更有效的方法来编写以下代码: 根据产品、等级和百分比,会导出不同的值。正如我们可以看到的那样——产品B,第40-60层应该在达到0.5(50%)时计算40%。。。。诸如此类。IF语句的使用率一直高达100% IF [Product] = "PRODUCTB" THEN IF [TIER] = "40-60" THEN

请看下面我的代码。我对Tableau比较陌生。我已经掌握了很多基本知识,但是,我相信我的编码效率很低,并且会导致计算时间过长。我希望有人能帮助我找到一种更有效的方法来编写以下代码:

根据产品、等级和百分比,会导出不同的值。正如我们可以看到的那样——产品B,第40-60层应该在达到0.5(50%)时计算40%。。。。诸如此类。IF语句的使用率一直高达100%

IF [Product] = "PRODUCTB"
THEN
    IF [TIER] = "40-60"
        THEN
            IF [% Attainment] = 0.5 THEN 40
            ELSEIF [% Attainment] = 0.51 THEN 80
            ELSEIF [% Attainment] = 0.52 THEN 120
            ELSEIF [% Attainment] = 0.53 THEN 160
            ELSEIF [% Attainment] = 0.54 THEN 200

一般来说,如果您有
if(cond1){if(cond2){…}
,那么您可能可以重写为
if(cond1&&cond2){…}
。对于成就感,因为这都是线性增长,
那么40+(((%acentation-0.5)*100*40)
可以取代所有额外的检查。谢谢。这是我立即做出的改变之一。比较逻辑对于Tableau来说非常耗时吗?不知道,但在某一点上,一点数学可能比一组重复的测试更有效。“割接在哪里,一点线索也没有。”马尔克,你应该回答这个问题。使用线性关系指出这一点很好。