2012-09-18 38 views
0

我正在使用BusinessObjects Enterprise服务器,并且我有一个使用“部门”作为参数字段来控制记录选择的报表。有20个不同的部门。使用不同参数多次运行一个水晶报表

我想要安排此报告运行20次,每次选择一个新部门。有没有办法做到这一点,而无需安排20次报告?

感谢您的任何帮助

+0

您有权访问编程环境吗? – craig

+0

我假设你是指通过.net之类的东西创建报告,然后让.net一次创建多个报告?不幸的是不是 – user1023993

+0

是的。您可以通过操纵报告的记录选择公式来“爆发”报告。 – craig

回答

3

是的,你可以。一个过程的位:

  • 每个部门
  • 根据需要将用户添加到组创建组;确保他们有一个电子邮件地址
  • 创建一个配置文件;为每个组添加一个配置文件值(每个组/部门ID组合的一个配置文件值);配置文件值将为字符串(重要)
  • 创建发布;将您的报告添加到源文档;将您之前创建的组添加到Enterprise-Recipient列表中
  • 现在定义Personalization(关键部分);您可以添加一个过滤器(将TABLE.FIELD或FORMULA设置为您的配置文件(报告字段&企业收件人映射列),或将部门ID参数设置为相应的企业收件人映射值(您的参数需要是字符串才能工作;附注注释更早)
  • 设定的目的地为所需
  • 保存&关闭

您还可以安排此公布一个经常性的基础上发生的电子邮件

  • 设置其他属性(如格式)。

    注:

    • 该解决方案使用发布作业服务器(运行出版物),水晶报表作业服务器(运行报告),​​自适应处理服务器(不破裂),以及目标作业服务器(发送电子邮件)。您可能希望创建一组单独的这些服务并将它们打包到自己的服务器组中,然后强制出版物仅使用此服务器组。
    • 与前面的内容相关,您可能需要为计划报告创建服务器组,并强制重复实例使用此服务器组。为什么?出版物似乎无法在队列中等待报告 - 如果Crystal Reports作业服务器不可用,发布将失败。强制调度报告实例在其自己的服务器组上生成有助于消除此问题。
    • 如果您对报告进行了重大更改(例如添加参数),您可能需要删除然后将报告添加到源文档列表以确保它具有最新的定义;报告的其他变化(例如添加一列)似乎并不需要这个注意。你的旅费可能会改变。
  • 0

    您可以设计部门作为一个组的报告。

    在每个组后面都有一个新页面,并确保从部门组部分打印记录,而不是详细信息。

    这假定您正在获取数据库字段中的所有部门。

    +0

    不错的想法,但不幸的报告是作为Excel文件输出,我需要为每个部门单独的工作表。由于我无法在excell中创建单独的选项卡,因此我必须创建一个单独的电子表格 – user1023993