水晶报告选择公式

时间:2010-08-20 15:38:44

标签: sql winforms crystal-reports

有谁知道如何在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

3 个答案:

答案 0 :(得分:0)

你能使用minimum()函数吗?它在Crystal的帮助文件中引用。

答案 1 :(得分:0)

您是否尝试在选择公式中汇总数据,然后根据该汇总过滤数据?我怀疑这会起作用(可能是错的,没试过)。我建议: 1.喂食晶体预过滤数据
OR
2.将您的选择公式作为第二个数据集包括在内,并将两个表一起链接在Crystal中。

答案 2 :(得分:0)

是的,您可以在GROUP选择公式中使用Crystal的聚合函数(最小值,最大值等)。但是,对于非常大的数据集来说,这可能是一个坏主意。原因是(这也适用于记录选择),在选择公式中使用Crystal函数很可能不会延续到Crystal生成并发送到数据库的实际SQL查询。这意味着不会在数据库服务器上进行选择,并且必须将ENTIRE数据集发送回Crystal,然后本地计算机必须通过它来过滤掉不符合选择标准的行/组

而是使用SQL表达式。您可以使用表达式从记录子集中返回最小日期,并将其用于选择公式中。这些将包含在Crystal发送到数据库的SQL查询中。