【问题标题】:How do I get the aggr of two aggrs in QlikView?如何在 QlikView 中获取两个 aggr 的 aggr?
【发布时间】:2013-02-20 03:06:09
【问题描述】:

如果我想从成员 ID 聚合的两个状态中找到列的最大值,这应该可行吗?

=Aggr(
    MaxString(
        Aggr(NODISTINCT MinString({[State1]}DATE_STRING),MBR_ID)
        +
        Aggr(NODISTINCT MinString({[State2]}DATE_STRING),MBR_ID)
) , MBR_ID) 

如果我有这些数据:

MBR ID          DATE_STRING
1               20120101
1               20120102
1               20120103

State1 选择了 20120101,State2 选择了 20120103,我的表达式将为成员 1 返回 20120103。

谢谢!

编辑:在 SQL 中,这看起来像:

WITH MinInfo (DATE_STRING, MBR_ID)
AS (SELECT MIN(DATE_STRING), MBR_ID FROM Table WHERE TYPE IN ('State1', 'State2') GROUP BY MBR_ID, TYPE)
SELECT MAX(DATE_STRING) DATE_STRING, MBR_ID FROM MinInfo GROUP BY MBR_ID

【问题讨论】:

    标签: reporting business-intelligence qlikview


    【解决方案1】:

    如果您将其转换为实际日期字段,则更容易实现您的目标 假设您使用的是 MBR_ID 为维度的图表,如果您想要最大日期(最新日期),您可以执行以下操作:

    =nummax(Max({[State1]}DATE_STRING),Max({[State2]}DATE_STRING))
    

    要转换为日期,可以使用这个函数:

    date#(DATE_STRING,'[text format of the date]')

    (在我看来,日期格式看起来像 YYYYMMDD,但如果它的日期是月份,你会使用 YYYYDDMM)

    我建议您在脚本中对其进行格式化,这样您每次需要使用该日期时就不必担心它。

    【讨论】:

      猜你喜欢
      • 2017-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-15
      • 2016-01-15
      相关资源
      最近更新 更多