CrystalReports中的每日计划

Sco*_*ott 3 crystal-reports

我正在尝试在Crystal Reports中创建每日时间表,以显示诊所中医生的预约.从侧面开始,将是从上午7点到下午5点,以半小时为增量的一天中的小时.在顶部将是医生的名字.每列都会让医生的预约与时间排成一行.我怎样才能做到这一点?

Ema*_*eco 6

您应该提供有关您的背景的更多信息;

无论如何遵循这个步骤:

  1. 写一个返回医生姓名,日期和时间,约会的查询
  2. 按感兴趣的日期过滤查询
  3. 创建一个cross-tab,将医生姓名放在列中,将日期和时间放在行中,在现场预约
  4. 总结MAX(或MIN,其他摘要报告中的数字不是实数值)的约会
  5. 编辑样式以省略行和列的总计(我不需要我想)
  6. 编辑日期和时间的格式(右键单击该字段),仅显示小时(和分钟)
  7. 编辑日期和时间选项(在"十字标签专家"上)以每分钟显示行(默认"每天"仅显示一行..)
  8. 享受你的报告

小心

  • Cross选项卡每行只允许1次预约
  • 如果来自查询的时间存在时间间隔,则交叉表中将存在间隙(请查看16.00行); 查询必须以报告空约会的方式编写.

样本报告

我创建了一个示例报告.

在此输入图像描述

示例查询

SELECT  'Doctor 1' as Doctor,  CAST('2012-02-01 07:00:00' AS DATETIME) as DateTime , 'mr. Red' as Appointment
union
SELECT 'Doctor 1' , CAST('2012-02-01 07:30:00' AS DATETIME)  , 'mr. Pink' 
union
SELECT 'Doctor 1' , CAST('2012-02-01 08:00:00' AS DATETIME)  , 'mr. White' 
union
SELECT 'Doctor 1' , CAST('2012-02-01 08:30:00' AS DATETIME)  , 'mr. Yellow' 
union
SELECT 'Doctor 1' , CAST('2012-02-01 09:00:00' AS DATETIME)  , 'mr. Green' 
union
SELECT 'Doctor 1' , CAST('2012-02-01 09:30:00' AS DATETIME)  , 'mr. Gray' 
union
SELECT 'Doctor 1' , CAST('2012-02-01 16:00:00' AS DATETIME)  , 'mr. Purple'
union
SELECT 'Doctor 2' , CAST('2012-02-01 07:30:00' AS DATETIME)  , 'mr. Red' 
union
SELECT 'Doctor 2' , CAST('2012-02-01 08:00:00' AS DATETIME)  , 'mr. Orange' 
union
SELECT 'Doctor 3' , CAST('2012-02-01 09:30:00' AS DATETIME)  , 'mr. Blue' 
Run Code Online (Sandbox Code Playgroud)