Qlik sense + ограничить значения в сводной таблице - PullRequest
0 голосов
/ 09 мая 2018

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

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 квартала

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

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

1 Ответ

0 голосов
/ 09 мая 2018

Будет сложно справиться с этим с помощью анализа одного набора, используя поле 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)

...