Jasperserver根据计划的报告重新计算报告动态选择查询

时间:2018-01-16 10:56:29

标签: email oracle11g jasperserver

我有一些数据如下表所示。我想通过电子邮件向每位数据的所有者发送报告,该电子邮件显示在"电子邮件"专栏。那么,有没有办法为每个用户准备报告,然后为该报告运行预定的作业并向该用户发送电子邮件。 (我使用Jasperserver 6.0.3和OracleDB进行选择查询)

(我不想为每个用户创建一个预定作业。我只创建一个适用于所有用户的预定作业。)

提前致谢...

我原来的数据:

 Data Usage(MB)           User                Email                 Date
 550                      Alice          alice@alice.com          16.01.2017
 860                      Bob            bob@bob.com              16.01.2017
1450                      Charlie        charlie@charlie.com      16.01.2017
 230                      Dave           dave@dave.com            16.01.2017
 475                      Evelyn         evelyn@evelyn.com        16.01.2017
 900                      Alice          alice@alice.com          17.01.2017
 160                      Bob            bob@bob.com              17.01.2017
 340                      Charlie        charlie@charlie.com      17.01.2017
2560                      Dave           dave@dave.com            17.01.2017
1175                      Evelyn         evelyn@evelyn.com        17.01.2017

爱丽丝的预期结果:

Data Usage(MB)  User            Email                 Date
550             Alice         alice@alice.com       16.01.2017
900             Alice         alice@alice.com       17.01.2017

1 个答案:

答案 0 :(得分:0)

我通过为每个用户创建一个新工作来解决这个问题。

  1. 我的报告网址如下所示。
  2. http://localhost:8080/jasperserver/flow.html?_flowId=viewReportFlow&_flowId=viewReportFlow&ParentFolderUri=%2Freports%2FTEST&reportUnit=%2Freports%2FTEST%2FMy_Report&standAlone=true&userName=Alice

    1. 我创建了一个参数" userName"在我的jasperreport。
    2. 我的jasperreport选择查询是这样的:
    3. Select * from myTable where myTable.User = $P!{userName}

      1. 为每个用户创建新作业。例如:在参数选项卡中创建预定作业时,输入" Alice"到userName参数输入;然后在通知选项卡中输入" alice@alice.com"收到电子邮件。