按周分组,每周的每一天都有列

时间:2012-06-13 15:03:17

标签: asp.net crystal-reports crosstab

我正在尝试为我的asp.net应用程序创建一个报告,该报告将显示每个项目的数量与每周每天订购的单位的组合。一周的日子是专栏。

更具体一点: 我有两个表,一个是订单ID,客户名称,日期等订单表... 第二个表是OrderItems,该表具有作为外键的订单ID,订单商品ID,商品名称,单位(exp:each,box,case),数量和价格。

当用户在我的asp页面上选择报告的日期范围时,例如从2012年3月2日到4月2日,该报告将按周对订单项目进行分组,如下所示:

**week (1) starting from sunday of such date to saturday of such date**


item | unit | Sun | Mon  | Tues | Wedn | Thur | Fri | Sat | Total Price for week

item1 | bag |  3  |   0  | 12   | 8    |  45  | 1   | 4   | $1234
item4 | box |  2  |   4  |  5   | 0    |   5  | 2   | 6   | $1234


**week (2) starting from sunday of such date to saturday of such date**


item | unit | Sun | Mon  | Tues | Wedn | Thur | Fri | Sat | Total Price for week

item1 | bag |  3  |   0  | 12   | 8    |  45  | 1   | 4   | $1234
item4 | box |  2  |   4  |  5   | 0    |   5  | 2   | 6   | $2354

**week (2) starting from sunday of such date to saturday of such date**

item | unit | Sun | Mon  | Tues | Wedn | Thur | Fri | Sat | Total Price for week

item1 | bag |  3  |   0  | 12   | 8    |  45  | 1   | 4   | $1234
item4 | box |  2  |   4  |  5   | 0    |   5  | 2   | 6   | $2354

我希望我能有一些东西可以表明我已经开始了,但水晶不是我的强项,我甚至不知道从哪里开始处理这个。我知道如何传递参数和我自己预先过滤的数据表,然后再将其传递给报告。例如,按日期范围和客户或订单ID过滤项目。

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:0)

为订单总计的一周中的每一天创建一个公式。

即星期日数量:

if dayOfWeek(dateField) = 'Sun'
then order.quantity
else 0

将每日公式添加到报告的详细信息部分,然后针对每个组级别对其进行汇总。要按周对其进行分组,只需按日期字段进行分组,然后将分组选项设置为按周。抑制细节,你就会得到你想要的东西。

  • 我不记得dayOfWeek功能的确切名称,但它就是这样的。