首页 > 解决方案 > 在 Crystalreport 中对 1-50、51-100、101-150 等进行分组

问题描述

我有从 1 开始但结束范围未知的值列表(从 DB 中选择),我想在水晶报表中对这些值进行分组,使值介于 1 到 50 之间,然后是 51 到 100,然后是 101 到 150 等达到最大值。我应该怎么分组??

    eg: The selected values of the column rate are
         1,1.6,2,56,71.1,61.9,109,118 etc.
        i want to group like
       rate range(1-50)
            1
            1.6
            2
          -------------------------------
         rate range(51-100)
            56
           71.1
           61.9
         --------------------
       rate range(101-150)
        109
        118
    etc.
    but i don't know the exact max value of the list

标签: crystal-reports-2010

解决方案


创建以下公式并根据该公式对报告进行分组。

Floor(({yourTable.Value}-1)/50)+1


它返回组号。例子:

  • 对于23它返回的值1
  • 对于150.99它返回的值3
  • 对于543它返回的值11

使用以下公式作为组标题:

"rate range(" & CStr({@GroupNumber}*50-49, "#") & "-" & CStr({@GroupNumber}*50, "#") & ")"

推荐阅读