RDLC如何按行划分时间范围

时间:2014-09-29 04:01:37

标签: rdlc

我正在使用linq获取值并将其传递给reportviewer。

请说明从9月29日上午9点到9月30日上午8点的特定日期。

我想说从(日期)的上午8点到下一个日期的上午8点有一个转变

我如何实现这样的报告?

Date                   Name   Value
Sept 29,2014 8:00 Am   mango    10
Sept 30,2014 8:00 Am   apple    20
Sum                             30

Sept 30,2014 9:00 Am   mango    30
Oct  01,2014 1:00 Am   apple    20   
Sum                             50

由于

1 个答案:

答案 0 :(得分:1)

要进行任何类型的分组,您需要在记录之间有共同点来进行分组。您似乎试图根据24小时开始对数据进行分组,从一天的上午8点开始,到第二天的上午8点开始。

这种方法的一个问题是分组的结束包括日期的下一个开始。那么你想把数据分组从第二天上午8:00:00到7:59:59或者第二天上午8:00:01到8:00:00。

现在,一旦做出决定,您就可以使用公式根据数据创建分组 如下所示(仅限概念,需要适应您的情况)

Grouping Date = (data.DateTime.TimeComponent >= 8:00:00am) then data.Date else data.Date - 1 day

修改 所以你最终会得到你的数据

    Date                   Name   Value   GroupingDate
    Sept 29,2014 8:00 Am   mango    10    Sept 29, 2014
    Sept 30,2014 8:00 Am   apple    20    Sept 29, 2014 
    Sept 30,2014 9:00 Am   mango    30    Sept 30, 2014
    Oct  01,2014 1:00 Am   apple    20    Sept 30, 2014