Updating the Structure of a Report

Updates the report structure of the specified report.

Request

PUT <webiURL>/documents/{documentId}/reports/{reportId}/specification

Where:
  • {documentId} is the document identifier retrieved from the list of documents
  • {reportId} is the report identifier retrieved from the list of reports

Request type: text/xml

Request body: the report structure

Response

Response type: application/xml or application/json

The response is a message stating the success or failure of the request.

Example

1: To add a simple cell to a report structure for report ID 23

PUT <webiURL>/documents/2334/reports/23/specification

Request body:

<REPORT rId="12" name="My First Cell">
    <PAGE_BODY>
        <CELL  x="1000" y="1500">
            <CONTENT>="My First CELL"</CONTENT>
        </CELL>
    </PAGE_BODY>
</REPORT>

Response:

<success>
    <message>The resource of type 'Report' with  identifier '23' has been successfully updated.</message> 
    <id>23</id>
</success>

Example

2: To add a simple vertical table to a report ID 23

Request body:

<REPORT name="Vertical Table">
    <PAGE_HEADER/>
    <PAGE_BODY>
        <VTABLE name="My Vertical Table" x="3037" y="4455">
            <ROWGROUP type="HEADER">
                <TR>
                    <TDCELL>
                        <CONTENT>=NameOf([Country])</CONTENT>
                    </TDCELL>
                    <TDCELL>
                        <CONTENT>=NameOf([Revenue])</CONTENT>
                    </TDCELL>
                </TR>
            </ROWGROUP>
            <ROWGROUP type="BODY">
                <TR>
                    <TDCELL>
                        <CONTENT>=[Country]</CONTENT>
                    </TDCELL>
                    <TDCELL>
                        <CONTENT>=[Revenue]</CONTENT>
                    </TDCELL>
                </TR>
            </ROWGROUP>
            <ROWGROUP type="FOOTER">
                <TR>
                    <TDCELL>
                        <CONTENT/>
                    </TDCELL>
                    <TDCELL>
                        <CONTENT>=[Revenue]</CONTENT>
                    </TDCELL>
                </TR>
            </ROWGROUP>
        </VTABLE>
    </PAGE_BODY>
    <PAGE_FOOTER/>
</REPORT>

Example

3: To add a simple vertical table with break to a report ID 23

Request body:

<REPORT name="Vertical Table And Break">
    <PAGE_HEADER/>
    <PAGE_BODY>
        <VTABLE name="Table And Break " x="3037" y="4455">
            <AXIS>
                <EXPRS>
                    <AXIS_EXPR>=[Country]</AXIS_EXPR>
                    <AXIS_EXPR>=[Resort]</AXIS_EXPR>
                </EXPRS>
                <BREAK bId="1" expr="=[Country]" addSort="yes" onePage="yes" newPage="yes" duplicate="center"/>
            </AXIS>
            <ROWGROUP breakId="1" type="HEADER">
                <TR>
                    <TDCELL>
                        <CONTENT>=NameOf([Country])</CONTENT>
                    </TDCELL>
                    <TDCELL>
                        <CONTENT>=NameOf([Resort])</CONTENT>
                    </TDCELL>
                    <TDCELL>
                        <CONTENT>=NameOf([Revenue])</CONTENT>
                    </TDCELL>
                </TR>
            </ROWGROUP>
            <ROWGROUP type="BODY">
                <TR>
                    <TDCELL>
                        <STYLE>
                            <TEXTVALIGN value="center"/>
                        </STYLE>
                        <CONTENT>=[Country]</CONTENT>
                    </TDCELL>
                    <TDCELL>
                        <CONTENT>=[Resort]</CONTENT>
                    </TDCELL>
                    <TDCELL>
                        <CONTENT>=[Revenue]</CONTENT>
                    </TDCELL>
                </TR>
            </ROWGROUP>
            <ROWGROUP breakId="1" type="FOOTER">
                <TR>
                    <TDCELL>
                        <CONTENT>=[Country]</CONTENT>
                    </TDCELL>
                    <TDCELL><CONTENT/></TDCELL>
                    <TDCELL><CONTENT/></TDCELL>
                </TR>
            </ROWGROUP>
        </VTABLE>
    </PAGE_BODY>
    <PAGE_FOOTER/>
</REPORT>

Example

4: To add a simple vertical table with one filter on the report and one filter on the table to a report ID 23

Request body:

<REPORT name="Filter">
    <DATA>
        <DATA_FILTER>
            <WHERE>
                <FILTER key="[Country]">
                    <CONDITION operatorCondition="InList">
                        <MEMBER>France</MEMBER>
                    </CONDITION>
                </FILTER>
            </WHERE>
        </DATA_FILTER>
    </DATA>
    <PAGE_BODY>
        <VTABLE bId="17" name="Block 1" x="3749" y="3443">
            <AXIS>
                <EXPRS>
                    <AXIS_EXPR>=[Country]</AXIS_EXPR>
                    <AXIS_EXPR>=[Resort]</AXIS_EXPR>
                </EXPRS>
            </AXIS>
            <DATA>
                <DATA_FILTER>
                    <WHERE>
                        <FILTER key="[Resort]">
                            <CONDITION operatorCondition="InList">
                                <MEMBER>French Riviera</MEMBER>
                            </CONDITION>
                        </FILTER>
                    </WHERE>
                </DATA_FILTER>
            </DATA>
            <ROWGROUP type="HEADER">
                <TR height="567">
                    <TDCELL>
                        <CONTENT>=NameOf([Country])</CONTENT>
                    </TDCELL>
                    <TDCELL>
                        <CONTENT>=NameOf([Resort])</CONTENT>
                    </TDCELL>
                    <TDCELL>
                        <CONTENT>=NameOf([Revenue])</CONTENT>
                    </TDCELL>
                </TR>
            </ROWGROUP>
            <ROWGROUP type="BODY">
                <TR height="567">
                    <TDCELL>
                        <CONTENT>=[Country]</CONTENT>
                    </TDCELL>
                    <TDCELL>
                        <CONTENT>=[Resort]</CONTENT>
                    </TDCELL>
                    <TDCELL>
                        <CONTENT>=[Revenue]</CONTENT>
                    </TDCELL>
                </TR>
            </ROWGROUP>
        </VTABLE>
    </PAGE_BODY>
</REPORT>

Example

5: To add a section (sort and filter) with a table and free cell to a report ID 23

Request body:

<REPORT name="Section &amp; Filter">
    <DATA/>
    <PAGE_BODY>
        <ROW height="6255"/>
        <SECTION>
            <DATA>
                <DATA_FILTER>
                    <WHERE>
                        <FILTER key="[Country]">
                            <CONDITION operatorCondition="InList">
                                <MEMBER>France</MEMBER>
                            </CONDITION>
                        </FILTER>
                    </WHERE>
                </DATA_FILTER>
            </DATA>
            <AXIS>
                <SORTS>
                    <SORT sign="desc" expr="=[Country]"/>
                </SORTS>
                <AXIS_EXPR>=[Country]</AXIS_EXPR>
            </AXIS>
            <SBODY bottomPadding="3638" bookmark="yes">
                <CELL class="ia-section-cell" x="600" y="500">
                    <CONTENT>=[Country]</CONTENT>
                </CELL>
                <VTABLE name="Block 1" x="3749" y="500">
                    <DATA/>
                    <ROWGROUP type="HEADER">
                        <TR>
                            <TDCELL>
                                <CONTENT>=NameOf([Resort])</CONTENT>
                            </TDCELL>
                            <TDCELL>
                                <CONTENT>=NameOf([Revenue])</CONTENT>
                            </TDCELL>
                        </TR>
                    </ROWGROUP>
                    <ROWGROUP type="BODY">
                        <TR>
                            <TDCELL>
                                <CONTENT>=[Resort]</CONTENT>
                            </TDCELL>
                            <TDCELL>
                                <CONTENT>=[Revenue]</CONTENT>
                            </TDCELL>
                        </TR>
                    </ROWGROUP>
                </VTABLE>
            </SBODY>
        </SECTION>
        <ROW height="1500"/>
    </PAGE_BODY>
</REPORT>

Example

6. To add a free cell with hide conditional

Request body:

<REPORT name="Cell with hide always and Cell with hide conditional">
    <DATA/>
    <PAGE_BODY>
        <ROW height="2992" bottomPadding="0">
            <CELL x="7416" y="432" hideAlways="yes" width="15048" height="1547">
                <CONTENT>ALWAYS HIDE</CONTENT>
            </CELL>
            <CELL x="7416" y="2000" hideAlways="no" hideExpr="=Count([Country]) > 3"  width="15048" height="1547">
                <CONTENT>=Count([Country])> 3</CONTENT>
            </CELL>
        </ROW>
    </PAGE_BODY>
</REPORT>