1

我目前在 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 脚本中,以便数据透视表中的字段只是日期值?

4

1 回答 1

3

建议在加载脚本中预先计算这一点,以提高较大数据量的 UI 性能,它还提高了可维护性,因为您可以在整个 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
];
于 2013-03-08T09:49:49.883 回答