Parameters Birt参数与数据集

Parameters Birt参数与数据集,parameters,dataset,birt,Parameters,Dataset,Birt,我想使用参数显示报表,这取决于用户选择的参数。它应该显示特定的数据集。可能吗 这就是为什么我需要根据参数中选择的值显示不同的数据集的原因: 我有一份报告,如果可能的话,我需要把它整合到一份报告中。此报表具有开始日期和完成日期参数,但现在还需要一个服务参数。例如,我需要一个报告来向我显示与服务a相关的客户,可用的服务有:a、B、C、D、E,这就是为什么我使用服务作为参数,但同一个报告取决于它是什么服务,它会发生变化,不仅需要显示客户,还需要显示与服务相关的员工 i、 e. 报告1:显示与服务A相关

我想使用参数显示报表,这取决于用户选择的参数。它应该显示特定的数据集。可能吗

这就是为什么我需要根据参数中选择的值显示不同的数据集的原因:

我有一份报告,如果可能的话,我需要把它整合到一份报告中。此报表具有开始日期和完成日期参数,但现在还需要一个服务参数。例如,我需要一个报告来向我显示与服务a相关的客户,可用的服务有:a、B、C、D、E,这就是为什么我使用服务作为参数,但同一个报告取决于它是什么服务,它会发生变化,不仅需要显示客户,还需要显示与服务相关的员工

i、 e.
报告1:显示与服务A相关的客户端
报告2:显示与服务B相关的客户端
报告3:显示与服务C相关的客户和员工
报告4:显示与服务D相关的客户端

报告5:如果在运行期间必须交换数据集,则显示与服务E相关的客户端和员工:

  • 命名绑定到属性编辑器视图中的一个数据集的报表项,即到
    myTable
  • 在beforeFactory脚本中,指定适当的数据集:

    var myTable = reportContext.getDesignHandle().findElement('myTable');
    myTable.setProperty('dataSet', 'myChoosenDataSet');
    
  • 另一种更简单的方法:如果足够的话,您可以在不需要的时候隐藏数据项。在“属性编辑器”视图中为要隐藏的项设置可见性条件

    另一种方法:在数据集中调整sql查询,然后再打开脚本:

    if (params['service'].value == 'foo') {
        this.queryText = "select * from foo where foo.bar = ?";
    }