我使用soap服务作为数据源。我打算使用一个数据结构。
<return>
<labChartLst>
<elecGroupName>Electricité</elecGroupName>
<powerValue>725072</powerValue>
<xCategory>2015-12-10T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<capacityValue>679679</capacityValue>
<groupName>Eau</groupName>
<xCategory>2015-12-10T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<capacityValue>247</capacityValue>
<groupName>Gaz</groupName>
<xCategory>2015-12-10T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<elecGroupName>Electricité</elecGroupName>
<powerValue>701065</powerValue>
<xCategory>2015-12-11T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<capacityValue>653653</capacityValue>
<groupName>Eau</groupName>
<xCategory>2015-12-11T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<capacityValue>121</capacityValue>
<groupName>Gaz</groupName>
<xCategory>2015-12-11T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<elecGroupName>Electricité</elecGroupName>
<powerValue>499024</powerValue>
<xCategory>2015-12-12T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<capacityValue>477477</capacityValue>
<groupName>Eau</groupName>
<xCategory>2015-12-12T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<capacityValue>52</capacityValue>
<groupName>Gaz</groupName>
<xCategory>2015-12-12T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<elecGroupName>Electricité</elecGroupName>
<powerValue>544024</powerValue>
<xCategory>2015-12-13T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<capacityValue>522522</capacityValue>
<groupName>Eau</groupName>
<xCategory>2015-12-13T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<capacityValue>53</capacityValue>
<groupName>Gaz</groupName>
<xCategory>2015-12-13T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<elecGroupName>Electricité</elecGroupName>
<powerValue>744066</powerValue>
<xCategory>2015-12-14T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<capacityValue>699699</capacityValue>
<groupName>Eau</groupName>
<xCategory>2015-12-14T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<capacityValue>264</capacityValue>
<groupName>Gaz</groupName>
<xCategory>2015-12-14T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<elecGroupName>Electricité</elecGroupName>
<powerValue>659054</powerValue>
<xCategory>2015-12-15T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<capacityValue>614614</capacityValue>
<groupName>Eau</groupName>
<xCategory>2015-12-15T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<capacityValue>273</capacityValue>
<groupName>Gaz</groupName>
<xCategory>2015-12-15T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<elecGroupName>Electricité</elecGroupName>
<powerValue>582055</powerValue>
<xCategory>2015-12-16T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<capacityValue>534534</capacityValue>
<groupName>Eau</groupName>
<xCategory>2015-12-16T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<capacityValue>263</capacityValue>
<groupName>Gaz</groupName>
<xCategory>2015-12-16T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<elecGroupName>Electricité</elecGroupName>
<powerValue>518052</powerValue>
<xCategory>2015-12-17T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<capacityValue>473473</capacityValue>
<groupName>Eau</groupName>
<xCategory>2015-12-17T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<capacityValue>323</capacityValue>
<groupName>Gaz</groupName>
<xCategory>2015-12-17T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<elecGroupName>Electricité</elecGroupName>
<powerValue>512031</powerValue>
<xCategory>2015-12-18T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<capacityValue>476476</capacityValue>
<groupName>Eau</groupName>
<xCategory>2015-12-18T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<capacityValue>148</capacityValue>
<groupName>Gaz</groupName>
<xCategory>2015-12-18T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<elecGroupName>Electricité</elecGroupName>
<powerValue>407020</powerValue>
<xCategory>2015-12-19T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<capacityValue>383383</capacityValue>
<groupName>Eau</groupName>
<xCategory>2015-12-19T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<capacityValue>23</capacityValue>
<groupName>Gaz</groupName>
<xCategory>2015-12-19T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<elecGroupName>Electricité</elecGroupName>
<powerValue>410020</powerValue>
<xCategory>2015-12-20T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<capacityValue>386386</capacityValue>
<groupName>Eau</groupName>
<xCategory>2015-12-20T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<capacityValue>24</capacityValue>
<groupName>Gaz</groupName>
<xCategory>2015-12-20T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<elecGroupName>Electricité</elecGroupName>
<powerValue>564054</powerValue>
<xCategory>2015-12-21T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<capacityValue>508508</capacityValue>
<groupName>Eau</groupName>
<xCategory>2015-12-21T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<capacityValue>136</capacityValue>
<groupName>Gaz</groupName>
<xCategory>2015-12-21T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<elecGroupName>Electricité</elecGroupName>
<powerValue>534062</powerValue>
<xCategory>2015-12-22T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<capacityValue>492492</capacityValue>
<groupName>Eau</groupName>
<xCategory>2015-12-22T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<capacityValue>146</capacityValue>
<groupName>Gaz</groupName>
<xCategory>2015-12-22T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<elecGroupName>Electricité</elecGroupName>
<powerValue>518065</powerValue>
<xCategory>2015-12-23T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<capacityValue>473473</capacityValue>
<groupName>Eau</groupName>
<xCategory>2015-12-23T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<capacityValue>218</capacityValue>
<groupName>Gaz</groupName>
<xCategory>2015-12-23T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<elecGroupName>Electricité</elecGroupName>
<powerValue>482021</powerValue>
<xCategory>2015-12-24T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<capacityValue>450450</capacityValue>
<groupName>Eau</groupName>
<xCategory>2015-12-24T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<capacityValue>64</capacityValue>
<groupName>Gaz</groupName>
<xCategory>2015-12-24T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<elecGroupName>Electricité</elecGroupName>
<powerValue>426018</powerValue>
<xCategory>2015-12-25T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<capacityValue>402402</capacityValue>
<groupName>Eau</groupName>
<xCategory>2015-12-25T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<capacityValue>0</capacityValue>
<groupName>Gaz</groupName>
<xCategory>2015-12-25T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<elecGroupName>Electricité</elecGroupName>
<powerValue>417019</powerValue>
<xCategory>2015-12-26T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<capacityValue>394394</capacityValue>
<groupName>Eau</groupName>
<xCategory>2015-12-26T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<capacityValue>0</capacityValue>
<groupName>Gaz</groupName>
<xCategory>2015-12-26T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<elecGroupName>Electricité</elecGroupName>
<powerValue>438020</powerValue>
<xCategory>2015-12-27T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<capacityValue>415415</capacityValue>
<groupName>Eau</groupName>
<xCategory>2015-12-27T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<capacityValue>0</capacityValue>
<groupName>Gaz</groupName>
<xCategory>2015-12-27T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<elecGroupName>Electricité</elecGroupName>
<powerValue>525022</powerValue>
<xCategory>2015-12-28T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<capacityValue>496496</capacityValue>
<groupName>Eau</groupName>
<xCategory>2015-12-28T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<capacityValue>91</capacityValue>
<groupName>Gaz</groupName>
<xCategory>2015-12-28T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<elecGroupName>Electricité</elecGroupName>
<powerValue>483023</powerValue>
<xCategory>2015-12-29T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<capacityValue>457457</capacityValue>
<groupName>Eau</groupName>
<xCategory>2015-12-29T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<capacityValue>95</capacityValue>
<groupName>Gaz</groupName>
<xCategory>2015-12-29T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<elecGroupName>Electricité</elecGroupName>
<powerValue>528024</powerValue>
<xCategory>2015-12-30T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<capacityValue>499499</capacityValue>
<groupName>Eau</groupName>
<xCategory>2015-12-30T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<capacityValue>135</capacityValue>
<groupName>Gaz</groupName>
<xCategory>2015-12-30T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<elecGroupName>Electricité</elecGroupName>
<powerValue>460020</powerValue>
<xCategory>2015-12-31T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<capacityValue>436436</capacityValue>
<groupName>Eau</groupName>
<xCategory>2015-12-31T00:00:00+07:00</xCategory>
</labChartLst>
<labChartLst>
<capacityValue>14</capacityValue>
<groupName>Gaz</groupName>
<xCategory>2015-12-31T00:00:00+07:00</xCategory>
</labChartLst>
</return>
但是我无法将birt的图表模板配置为如上图所示。
最佳答案
由于有两个 Y 轴,您需要对度量进行非规范化。如果您无法更改肥皂服务,在 BIRT 中执行此操作的一个简单方法是在数据集中创建三个计算列,每列代表一个度量:“水”、“天然气”、“电”。例如,在您的示例中,“waterValue”表达式为:
row["groupName"]=="Eau"?row["capacityValue"]:0
这样我们就得到了这些新列:
最后:
- 通过启用“辅助轴”选项创建标准折线图
- 使用“elecValue”列将系列 1 设置为第一个轴
- 分别使用“gasValue”和“waterValue”列将系列 2 和系列 3 设置为辅助轴
其余的工作只是装饰性的:您实际上可以获得准确的预期输出
关于java - BIRT:复杂折线图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36218085/