2014-07-22 177 views
1

我在pentaho报表设计器中创建报表,并需要一些帮助为我创建的参数设置默认值。在pentaho报表设计器中设置参数的默认值

其中一个标记为date的参数从表格的日期列中提取数据。虽然我可以查看下拉列表中的所有日期,但我无法找到将此下拉列表的默认值设置为all(表示所有日期在一起)的方法。

有没有一种方法可以将“全部”值设置为默认值?

回答

0

假设您从PRD中的JDBC连接获取过滤器的值,可以编写一个像这样的查询。 (我用过Postgresql)。 这将加载'All'作为下拉列表中的第一个值以及表中其他不同的日期值。 (做正确铸件)

SELECT 1 AS sort,'All' AS date 
UNION 
SELECT DISTINCT 2 AS sort, 

    tablename.datecolumn::date AS date 
FROM 
    tablename 

ORDER BY sort 

然后在您的参数显示给用户选择的日期,在Default Value字段中输入All并选择我们写查询。 接下来假设你使用KTR检索数据到报表,您可以在一个“表输入”步下面的查询,

(tablename.datecolumn IN (SELECT CASE WHEN('${date}' = 'All' OR '${date}' IS NULL) THEN tablename.datecolumn ELSE '${date}' END)) 

希望这会有所帮助。如果您有任何其他问题,请在下面评论。因为这对我来说非常合适。