【问题标题】:Qlik sense+restrict values in pivot tableQlik sense+restrict 数据透视表中的值
【发布时间】:2018-05-09 10:10:18
【问题描述】:

我有以下数据集(只是规模更大):

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       
];

我需要在数据透视表中显示数据,使用 Quarter 作为列,Region 作为行,sum(Value) 作为度量 如果我像这样创建数据透视表,它将呈现所有 6 个季度。如果我只想限制最后 4 个季度怎么办? 它需要是一个动态的解决方案,因为我会将数据添加到负载中,并且总是需要显示最后 4 个季度

可以通过set表达式来完成吗?或者我需要在加载脚本中使用逻辑? 老实说,我宁愿寻求涉及集合表达式的解决方案

有人能想出一个方法来实现吗?

【问题讨论】:

    标签: qlikview qliksense


    【解决方案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)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-10
      • 2022-11-08
      • 1970-01-01
      • 2022-11-10
      • 1970-01-01
      相关资源
      最近更新 更多