Qlik sense + ограничить значения в сводной таблице

У меня есть следующий набор данных (только в большем масштабе):

LOAD * INLINE [
    Region, Value, Quarter   
    A, 1, Q1 18
    B, 2, Q1 18
    C, 3, Q1 18
    D, 4, Q1 18 
    A, 1, Q1 17
    B, 2, Q1 17
    C, 3, Q1 17
    D, 4, Q1 17 
    A, 1, Q2 17
    B, 2, Q2 17
    C, 3, Q2 17
    D, 4, Q2 17
    A, 1, Q3 17
    B, 2, Q3 17
    C, 3, Q3 17
    D, 4, Q3 17
    A, 1, Q4 17
    B, 2, Q4 17
    C, 3, Q4 17
    D, 4, Q4 17
    A, 1, Q4 16
    B, 2, Q4 16
    C, 3, Q4 16
    D, 4, Q4 16       
];

Мне нужно представить данные в сводной таблице, используя квартал в качестве столбцов, регион в качестве строк и сумму (значение) в качестве меры. Если я создам такую ​​сводную таблицу, она отобразит все 6 кварталов. Что, если я хочу ограничить кварталы только для последних 4 из них? Это должно быть динамическое решение, так как я буду добавлять данные в нагрузку, и всегда нужно отображать последние 4 квартала.

Можно ли это сделать с помощью заданного выражения? Или мне нужно использовать логику в скрипте загрузки? Честно говоря, я бы предпочел решение, включающее выражение множества

Может ли кто-нибудь придумать способ добиться этого?


person rosuandreimihai    schedule 09.05.2018    source источник


Ответы (1)


Будет сложно справиться с этим с помощью анализа одного набора с использованием поля Quarter.

Один из способов сделать это:

Data:
LOAD * INLINE [
    Region, Value, Quarter   
    A, 1, Q1 18
    B, 2, Q1 18
    C, 3, Q1 18
    D, 4, Q1 18 
    A, 1, Q1 17
    B, 2, Q1 17
    C, 3, Q1 17
    D, 4, Q1 17 
    A, 1, Q2 17
    B, 2, Q2 17
    C, 3, Q2 17
    D, 4, Q2 17
    A, 1, Q3 17
    B, 2, Q3 17
    C, 3, Q3 17
    D, 4, Q3 17
    A, 1, Q4 17
    B, 2, Q4 17
    C, 3, Q4 17
    D, 4, Q4 17
    A, 1, Q4 16
    B, 2, Q4 16
    C, 3, Q4 16
    D, 4, Q4 16       
];

Tmp:
LOAD Distinct 
    Quarter,
    Right(Quarter, 2) as Year,
    Left(Quarter, 2) as Q
Resident Data
;


Calendar:
LOAD *,
    RowNo() as SeqNumber
Resident Tmp
ORDER BY Year DESC, Q DESC;

DROP Table Tmp;

Затем используя следующее выражение: Sum({<SeqNumber={"<=4"}>} Value)

person Vanbrabant Thomas    schedule 09.05.2018