You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Crystal Reports中计算早于10:00的行占总数的百分比方法

Crystal Reports 计算早于10:00数据行占比的最优方法

针对你的需求,最适合新手的直观方法是通过公式字段+汇总计算实现,步骤如下:

1. 创建条件计数公式(统计早于10:00的行数)

  • 打开「字段资源管理器」,右键「公式字段」→「新建」,命名为Count_Before_10AM
  • 输入以下公式(替换{你的日期时间字段}为实际列名):
If Time({你的日期时间字段}) < Time(10, 0, 0) Then 1 Else 0

这个公式会给每条早于10:00的记录标记为1,其余为0。

2. 插入总行数汇总

  • 在「字段资源管理器」中找到你的日期时间字段,右键→「插入」→「汇总」
  • 汇总类型选择「计数」,汇总位置选择「报表页脚」,确定后报表页脚会出现统计总行数的字段(默认命名类似Count of 你的日期时间字段)

3. 创建百分比计算公式

  • 再次新建公式字段,命名为Percentage_Before_10AM
  • 输入公式(替换字段名,同时处理除以0的异常情况):
If Sum({@Count_Before_10AM}) = 0 Or Count({你的日期时间字段}) = 0 Then
    0
Else
    (Sum({@Count_Before_10AM}) / Count({你的日期时间字段})) * 100
  • 将这个公式拖到报表页脚,右键点击字段→「设置格式」→「数字」选项卡,选择「百分比」并调整小数位数(比如保留2位)

替代方案:用运行总计一步统计符合条件的行数

如果想简化步骤,也可以用运行总计字段直接统计早于10:00的行数:

  • 右键「运行总计字段」→「新建」,命名为RT_Count_Before_10AM
  • 「要汇总的字段」选你的日期时间字段,「汇总类型」选「计数」
  • 「评估」选择「使用公式」,输入Time({你的日期时间字段}) < Time(10, 0, 0)
  • 「重置」选择「从不」(适用于整个报表的统计)
  • 之后用这个运行总计的结果除以总行数,再乘以100得到百分比

内容的提问来源于stack exchange,提问作者Edwoo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 11:48:19