Jasper reports iReport:如何为计算计数的饼图提供自定义标签的选择?

Jasper reports iReport:如何为计算计数的饼图提供自定义标签的选择?,jasper-reports,ireport,Jasper Reports,Ireport,我是JasperReports的新手,我正在尝试使用iReports 5.1.0生成饼图 我计算了3个切片的百分比所用的天数,但是我应该在键表达式和标签表达式中给出什么? 尝试在5天内定制3个切片标签,超过5天,并且已测试但未引用 我正在通过这个代码获取计数 选择SUMsubSet.days_take 5作为大于_5的天数, SUMsubSet.date\u refered为NULL,因为尚未\u refered 从选择p.patient_id, 案例 当st.涂抹结果为“阴性”或st.gxp涂

我是JasperReports的新手,我正在尝试使用iReports 5.1.0生成饼图

我计算了3个切片的百分比所用的天数,但是我应该在键表达式和标签表达式中给出什么? 尝试在5天内定制3个切片标签,超过5天,并且已测试但未引用

我正在通过这个代码获取计数

选择SUMsubSet.days_take 5作为大于_5的天数, SUMsubSet.date\u refered为NULL,因为尚未\u refered 从选择p.patient_id, 案例 当st.涂抹结果为“阴性”或st.gxp涂抹结果为“MTB+”时,则参考DateDiff.date涂抹,测试MINst.date涂抹 其他的 案例 当st.Smeal\u结果为“阴性”或st.gxp\u结果为“MTB-”时,则引用DateDiff.date\u,测试MAXst.date\u Smeal\u 随着时间的流逝而结束, r、 日期被称为日期 来自患者,作为p 左外接痰试验作为st对p患者id=st患者id 左外连接转诊为r on r.patient_id=st.patient_id 其中p.u.by不为空 p.patient_status=‘可疑’或 p、 患者状态=‘已确认’ 按p.患者id分组 作为子集 这也是我正在使用的数据集运行


非常感谢您的帮助。

您现在所做的是在一个元组中创建三列,这样您可能会得到类似于以下内容的结果:'

--------------------------------------------------
| within_5_days | more_than_5 | not_yet_referred |
--------------------------------------------------
|       4       |       5     |       8          |
--------------------------------------------------
但是,饼图不接受这种格式。相反,您希望:

-------------------------
|     Type       | Summ | 
-------------------------
|within_5_days   |  4   |
|more_than_5     |  5   |
|not_yet_referred|  8   |
-------------------------
使用它,您可以将Type作为标签表达式,将Sum作为值表达式。因此,您必须将查询更改为以下内容

select CASE 
   WHEN subSet.days_taken <= 5 THEN 'within_5_days' 
   WHEN subSet.days_taken > 5 THEN 'more_than_5' 
   WHEN subSet.date_referred IS NULL THEN 'not_yet_referred'
END CASE AS Type, 1 AS Summ ...
然后你可以把它加起来