2013-03-05 42 views
0

如果我想从两个状态中找到由成员ID汇总的列的最大值,是否应该这样工作?如何在QlikView中获得两个aggrs的集合?

=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 

而且状态1有20120101选择状态2有20120103选择,我的表情会返回20120103会员1

谢谢!

编辑:在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 

回答

0

这将是更容易实现自己的目标,如果你转换你的,要假设你正在使用的图表,其中实际日期字段 MBR_ID是维度,如果你想最大的日期(最近日期),你可以做到以下几点:

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

要转换为日期,您可以使用此功能:

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

(日期格式看起来像YYYYMMDD给我,但如果天遂一个月,你可以使用YYYYDDMM)

我建议你在脚本格式,所以你不会有每次需要使用该日期时都要担心它。

相关问题