Вычисляемые поля 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, чтобы поле в сводной таблице было просто значением даты?

1 ответ

Решение

Предварительный расчет этого в сценарии загрузки будет рекомендован для повышения производительности пользовательского интерфейса на больших объемах данных, а также для удобства сопровождения, поскольку вы можете повторно использовать поле во всем пользовательском интерфейсе, не сохраняя логику в нескольких местах (то есть на нескольких графиках).

Не видя ваших структур данных, трудно дать вам точную структуру, однако, предполагая, что у вас есть оба поля, доступные в таблице в памяти во время загрузки, вы просто сможете расширить скрипт загрузки, чтобы включить вычисление в качестве дополнительного поля.:

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
];
Другие вопросы по тегам