我一直在尝试获取日期变量的最大值,当我尝试这样做时,webi给了我第二个最大日期而不是最大值。
[Var_tran_date]= If([Part Tran Type]="D") Then
(FormatDate(ToDate("10/10/10";"MM/dd/yy");"MM/dd/yy"))ForEach ([SBA,CAA,TDA].[Foracid])
Else
[Tran Date]
foracid这里是帐号,最大变量定义为:
var_maxdate=Max([Var_tran_date]) In ([SBA,CAA,TDA].[Foracid])
,结果是给出了每个帐号的第二个最长日期,而不是最大值
我无法获取最长日期。
答案 0 :(得分:0)
变量中的FormatDate()
调用导致结果为文本字符串值而不是日期。因此,您的后续Max()
生成日期字符串值的最大值。在这种情况下,“11/28/14”在“1/1/15”之后出现。
var_tran_date中的ForEach也是不必要的,可能会妨碍。
尝试:
=If([Part Tran Type]="D") Then
ToDate("10/10/10";"MM/dd/yy")
Else
[Tran Date]
或
=If([Part Tran Type]="D") Then
(FormatDate(ToDate("10/10/10";"yyyy/MM/dd");"yyyy/MM/dd"))
Else
[Tran Date]
第一个将值保留为日期,因此Max()将按预期运行。第二个将日期格式化为字符串,但作为yyyy / mm / dd格式,因此Max()仍将产生预期值