2015-06-11 42 views
0

我有一個負載腳本,我嘗試做以下變量:在加載腳本的QlikView變量表達式

set vTest = if('$(dialMode)'='Month',sum(Comps.SpendDollers)); 

當我運行此腳本,並期待在我的「變量概述」我可以看到,它的走出來:

if('Week'='Month',sum(Comps.SpendDollers)) 

有人能向我解釋,我是怎麼變「dialMode」當負載腳本運行評估時,我用我的變量文件中,而不是?

我希望我已經說清楚了,請不要讓我知道。

回答

0

美元擴張是不必要的,但你需要一些引號(「)和一個等號,以使腳本的地方文成變量表達式不只是一個字符串。

set vTest = "=if(dialMode='Month',sum(Comps.SpendDollers))"; 

肯定變量可以在vTest變量之外計算,您只需要表達式的值而不是表達式的值。我甚至在dialMode中處理了空格。

set vTest2 = "=if(dialMode='Month 5',sum(Comps.SpendDollers))"; 

set dialMode="=concat(distinct [Dial])"; 

load * inline [ 
Comps.SpendDollers, Dial 
1,Month 5 
2,Week 
3,Day 
];