我正在使用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
由于
答案 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