jasper map crosstab crosstabHeaderCell do subdataset diferente do crosstabdataset

i precisava mostrar as colunas crosstabHeaderCell dinamicamente a partir da matriz de strings. este é um json

{
    "header": {
        "columnName": [
            "Product Store1",
            "location"
        ],
        "values": [{
                "purchase": {
                    "name": "bags",
                    "location": "MainMarket "
                },
                "weekSpend": [{
                        "weekStartDate": 20181105,
                        "spend": 100

                    },
                    {
                        "weekStartDate": 20181112,
                        "spend": 200

                    }
                ]
            },
            {
                "purchase": {
                    "name": "shoes",
                    "location": "MainMarket "
                },
                "weekSpend": [{
                        "weekStartDate": 20181105,
                        "spend": 100

                    },
                    {
                        "weekStartDate": 20181112,
                        "spend": 200

                    }
                ]
            }
        ]
    }

Quero mostrar crosstabHeaderCell da lista de valores da matriz columnName na guia cruzada. do json acima, eu posso iterar e mostrar o nome e o local do produto como linhas e weekSpend como coluna com conjunto de dados de tabela de referência cruzada como

<crosstabDataset isDataPreSorted="true">
            <dataset>
                <datasetRun subDataset="crossTabDataSet" uuid="e7b27508-8a48-4785-a48e-c646249df9a9">
                    <dataSourceExpression><![CDATA[((net.sf.jasperreports.engine.data.JsonQLDataSource)$P{REPORT_DATA_SOURCE}).subDataSource("..values(@size > 0)..weekSpend.*")]]></dataSourceExpression>
                </datasetRun>
            </dataset>
        </crosstabDataset>

quando especifico o componente list para crosstabHeaderCell, como abaixo, estou recebendo o parâmetro de erro REPORT_DATA_SOURCE não encontrad

<jr:list xmlns:jr="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd" printOrder="Horizontal" ignoreWidth="true">
                <datasetRun subDataset="listcol" uuid="a13d0691-5b9e-4d9f-aaa0-9d0ff0b67b78">
<dataSourceExpression><![CDATA[((net.sf.jasperreports.engine.data.JsonQLDataSource)$P{REPORT_DATA_SOURCE}).subDataSource("$.columnName.*")]]></dataSourceExpression>
                </datasetRun>
                <jr:listContents height="30" width="100">
                    <textField>
                        <reportElement x="0" y="0" width="100" height="30" uuid="99c3d5fe-9f90-4efc-bdab-4371eee17d54"/>
                        <textFieldExpression><![CDATA[$F{namecol}]]></textFieldExpression>
                    </textField>
                </jr:listContents>
            </jr:list>

o conjunto de dados listcol é definido como

<subDataset name="listcol" uuid="2630f2ff-b912-4f05-8189-7a5d47eada9e">
        <field name="namecol" class="java.lang.String">
            <property name="net.sf.jasperreports.jsonql.field.expression" value="[0]"/>
        </field>
    </subDataset>

Como posso me referir à lista de valores do conjunto de dados de tabela de referência cruzada. por que a lista falha com o parâmetro não encontrado, exceção para REPORT_DATA_SOURCE. podemos definir o valor REPORT_DATA_SOURCE do conjunto de dados de tabela de referência cruzada para ser usado pelo conjunto de dados interno.

se eu remover REPORT_DATA_SOURCE jr: list e usar querystring listcol como $ .columnName. *. fico em branco na crosstabHeaderCell

A saída esperada é

Obrigado Anjana,

questionAnswers(1)

yourAnswerToTheQuestion