我在任何报道中都是排名noob,但水平线与小计。我有一个数据集,其中包含停车场中汽车所花费的时间。我必须生成一个表格,显示每个小时的列和每天的一行,显示特定日期特定时间的条目数。
我会在RDLC设计器中发现它更容易,因为它的柱状分组,但我甚至无法在Crystal中找到这样的东西。
帮助。
答案 0 :(得分:4)
假设以下字段:{table.car_id}
和{table.census_time}
右键单击交叉表并选择“交叉表专家”:
{table.census_time]
添加到列字段列表中;按小时分组{table.census_time}
添加到行字段列表中;按天分组{table.car_id}
添加到摘要字段列表中;计数**编辑**
您无需创建特殊公式即可从日期/时间字段中提取小时数;交叉表将为您做到这一点。
选择“交叉表”标签,添加{table.census_time}
字段,然后点击“群组选项...”按钮。
选择'每小时'。来自选项列表。
答案 1 :(得分:1)
您需要创建一个包含每小时记录的表格:
表DayHour
Period StartHour EndHour
00:00 - 01:00 0 1
01:00 - 02:00 1 2
02:00 - 03:00 2 3
03:00 - 04:00 3 4
...
23:00 - 00:00 23 24
然后左边用这个表加入你的数据
SELECT h.Period, DATEPART(dd,d.EntryTime) as Day, 1 as Value
FROM DayHour h LEFT JOIN <YourData> d ON h.StartHour <=DATEPART(hh,d.EntryTime) and DATEPART(hh,d.EntryTime)<h.EndHour
这将返回具有时间段的所有记录,并且如果在特定时间段内没有车辆进入停车场,则将返回记录。将“期间”列拖放到交叉选项卡的“列”部分,将“日期”列拖放到“行”部分。将值列拖到摘要部分。