2013-03-07 50 views
1

我目前在Qlikview數據透視表中使用以下計算的字段。帶有加載腳本的Qlikview計算字段

=if([Event Type] = 'PO',date(MonthStart([EvtDt.Date Code]-15), 'YYYY-MMM'),if([Event Type] = 'WO',date(MonthStart([EvtDt.Date Code]-50), 'YYYY-MMM'), if([Event Type] = 'BFT PLAN',date(MonthStart([EvtDt.Date Code]), 'YYYY-MMM')))) 

是否可以在LOAD腳本中預先計算此字段,以便數據透視表中的字段只是日期值?

回答

3

在加載腳本中預先計算這個值是推薦的方法,可以在更大的數據量上提高UI性能,並且還可以提高可維護性,因爲您可以在整個界面中重複使用該字段,而不必將邏輯存儲在多個位置多個圖表)。

不看你的數據結構很難給你確切的結構,但是,假設你在加載期間在內存表中有兩個字段可用,你應該能夠擴展你的加載腳本以包含計算作爲附加字段:

LOAD 
    * 
    ,if([Event Type] = 'PO',date(MonthStart([EvtDt.Date Code]-15), 'YYYY-MMM'),if([Event Type] = 'WO',date(MonthStart([EvtDt.Date Code]-50), 'YYYY-MMM'), if([Event Type] = 'BFT PLAN',date(MonthStart([EvtDt.Date Code]), 'YYYY-MMM')))) as [My New Field] 
INLINE [ 
    Event Type,EvtDt.Date Code,Value 
    PO,01/01/2013,1234 
    WO,01/01/2013,1234 
    BFT PLAN,01/01/2013,1234 
];