Running reports and retrieving output in IBM Cognos Viewer formats
You can run reports and retrieve outputs in the formats used by IBM® Cognos® Viewer (such as PDF, CSV, Microsoft Excel).
You can use the outputFormats resource type (REST applications) or the getOutputFormats method (SOAP applications) to retrieve a list of supported output formats for a report. The list is contained in a GetOutputFormatsResponse element. You can then use the outputFormat resource type (REST applications) or the getOutputFormat method (SOAP applications) to obtain the report output in a specified format.
REST example
The following URL requests a list of the supported output formats for the sample report Public Folders > Samples > Models > GO Data Warehouse (analysis) > Reporting Report Samples > Employee Satisfaction 2012.
http://localhost/ibmcognos/bi/v1/disp/rds/outputFormats/report/i1AD695527913442D92D07DDB3425740F?v=3
The response from the IBM Cognos Analytics Server is shown here:
<rds:GetOutputFormatsResponse>
<rds:supportedFormats>
<rds:outputFormatName>CSV</rds:outputFormatName>
<rds:outputFormatName>MHT</rds:outputFormatName>
<rds:outputFormatName>PDF</rds:outputFormatName>
<rds:outputFormatName>spreadsheetML</rds:outputFormatName>
<rds:outputFormatName>XLWA</rds:outputFormatName>
<rds:outputFormatName>XML</rds:outputFormatName>
<rds:outputFormatName>xlsxData</rds:outputFormatName>
</rds:supportedFormats>
</rds:GetOutputFormatsResponse>
To run the report and retrieve the output for the Crosstab1 report part in PDF format, submit the following URL to the BI Server:
http://localhost/ibmcognos/bi/v1/disp/rds/outputFormat/report/i1AD695527913442D92D07DDB3425740F/PDF?v=3&selection=Crosstab1
SOAP example
The following code snippets shows how to perform the same actions as in the REST example.
- C# sample
rds.ReportDataService svc = new rds.ReportDataService(); rds.GetOutputFormatsRequest formatsreq = new rds.GetOutputFormatsRequest(); formatsreq.sourceID = "i1AD695527913442D92D07DDB3425740F"; formatsreq.sourceType = rds.SourceTypeEnum.report; rds.GetOutputFormatsResponse formats = svc.getOutputFormats(formatsreq); foreach (String format in formats.supportedFormats.outputFormatName) { System.Console.WriteLine("Supporting: " + format); } rds.GetOutputFormatRequest formatreq = new rds.GetOutputFormatRequest(); rds.Filter report_part = new rds.Filter(); report_part.filterType = rds.FilterTypeEnum.OBJECT_ID; report_part.filterValue = "Crosstab1"; formatreq.sourceID = "i1AD695527913442D92D07DDB3425740F"; formatreq.sourceType = rds.SourceTypeEnum.report; formatreq.outputFormatName = "PDF"; formatreq.filters = new rds.Filter[] { report_part }; rds.GetOutputFormatResponse formatresp = svc.getOutputFormat(formatreq); System.Console.WriteLine("URL: " + formatresp.outputFormatURL);
- Java™ sample
ReportDataServiceLocator rdslocator = new ReportDataServiceLocator(); ReportDataServicePort rdsservice = rdslocator.getReportDataServiceBinding(new URL(url)); GetOutputFormatsRequest formatsreq = new GetOutputFormatsRequest(); formatsreq.setSourceID("i1AD695527913442D92D07DDB3425740F"); formatsreq.setSourceType(SourceTypeEnum.report); GetOutputFormatsResponse formatsresp = rdsservice.getOutputFormats(formatsreq); for (String str : formatsresp.getSupportedFormats().getOutputFormatName()) { System.out.println("Supporting: " + str); } GetOutputFormatRequest req = new GetOutputFormatRequest(); req.setSourceID("i1AD695527913442D92D07DDB3425740F"); req.setSourceType(SourceTypeEnum.report); req.setOutputFormatName("PDF"); Filter[] filters = {new Filter("Crosstab1", FilterTypeEnum.OBJECT_ID, null)}; req.setFilters(filters); GetOutputFormatResponse resp = rdsservice.getOutputFormat(req); System.out.println("URL: " + resp.getOutputFormatURL());
The response from the BI server from either of these programs is shown here:
Supporting: CSV
Supporting: MHT
Supporting: PDF
Supporting: spreadsheetML
Supporting: XLWA
Supporting: XML
Supporting: xlsxData
URL: http://localhost:80/ibmcognos/bi/v1/disp/rds/
outputformat/report/i1AD695527913442D92D07DDB3425740F/PDF
?selection=Crosstab1