需要创建显示一段时间使用情况的报告

时间:2011-11-18 15:54:29

标签: c# crystal-reports

我正在尝试创建一个报告(确实是折线图),以显示在给定时间段内的应用程序使用情况。

我有一个SQL数据库,其中包含我将使用的以下信息:

- Application Name
- Application Version
- Start Time
- End Time (if still running, will == null)

我还有其他变量用于操作数据,但主要关注的是开始/结束时间: 我正在寻找的基本上是给定时间段的线图(使用DateTimePicker,但这很简单),它将显示一段时间内运行应用程序的客户端数量。

因此,基本上只关注有效的开始/结束时间,如何在折线图中显示?我到处搜索,之前我做过报告,但无法弄清楚如何将其变成线图。

编辑: 示例SQL查询:

SELECT REPORTING_CLIENT_INFORMATION.host_name, 
       APPLICATION_USAGE.start_time,
       APPLICATION_USAGE.app_name, 
       APPLICATION_USAGE.app_version, 
       APPLICATION_USAGE.end_time, 
       APPLICATION_USAGE.shutdown_state
FROM   APPLICATION_USAGE 
INNER JOIN REPORTING_CLIENT_INFORMATION 
        ON APPLICATION_USAGE.host_id = REPORTING_CLIENT_INFORMATION.host_id
WHERE (APPLICATION_USAGE.start_time <= CONVERT(DATETIME, @end, 102)) AND
      (REPORTING_CLIENT_INFORMATION.host_name LIKE N'%DNCS%') AND
      (APPLICATION_USAGE.end_time >= CONVERT(DATETIME, @start, 102) OR
                      APPLICATION_USAGE.end_time IS NULL)

1 个答案:

答案 0 :(得分:0)

创建计算持续时间的公式:

  //{@duration}
  If Isnull({APPLICATION_USAGE.end_time}) Then
    DateDiff("s", {APPLICATION_USAGE.start_time}, (DataDate + DataTime))
  Else
    DateDiff("s", {APPLICATION_USAGE.start_time}, {APPLICATION_USAGE.end_time})

在“报告标题”部分中插入交叉表。将app_name字段添加到&#39;行&#39;框,然后对app_version字段执行相同操作。接下来将{@duration}字段添加到&#39;汇总字段&#39;框。确保计算结果为&#39;

将图表添加到“报告标题”部分。选择“交叉表”&#39;按钮。从&#39;更改&#39;中选择app_name。 list,app_version来自&& 39;细分为&#39;列表,以及来自&#39; Show&#39;的{@duration}名单。单击“确定”,然后预览报告。