0

如果我想从成员 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
4

1 回答 1

0

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

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

要转换为日期,您可以使用此函数:

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

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

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

于 2013-08-16T14:56:35.623 回答