有谁知道如何在Crystal Report的选择公式中使用MIN()?
我想这样做:
Dim sql As String = ""
Dim startDate As Date = CDate(_startDate.ToString(_dateFormat))
Dim endDate As Date = CDate(_endDate.ToString(_dateFormat))
sql = "min({" & tableName & "." & dateFieldName & "}) <= " & startDate & " AND {" & tableName & "." & dateFieldName & "} <= " & endDate & ""
Return sql
答案 0 :(得分:0)
你能使用minimum()函数吗?它在Crystal的帮助文件中引用。
答案 1 :(得分:0)
您是否尝试在选择公式中汇总数据,然后根据该汇总过滤数据?我怀疑这会起作用(可能是错的,没试过)。我建议:
1.喂食晶体预过滤数据
OR
2.将您的选择公式作为第二个数据集包括在内,并将两个表一起链接在Crystal中。
答案 2 :(得分:0)
是的,您可以在GROUP选择公式中使用Crystal的聚合函数(最小值,最大值等)。但是,对于非常大的数据集来说,这可能是一个坏主意。原因是(这也适用于记录选择),在选择公式中使用Crystal函数很可能不会延续到Crystal生成并发送到数据库的实际SQL查询。这意味着不会在数据库服务器上进行选择,并且必须将ENTIRE数据集发送回Crystal,然后本地计算机必须通过它来过滤掉不符合选择标准的行/组
而是使用SQL表达式。您可以使用表达式从记录子集中返回最小日期,并将其用于选择公式中。这些将包含在Crystal发送到数据库的SQL查询中。