!--a11y-->
Further Configuring Your Query 
After you have created a BI query, you may further configure it by defining different inputs and outputs for your data service. For example, you may wish to:
· Create a columns chart view on the output port that graphically displays the result of a Top 5 query in columns.
· Create an input form on the data service that lets the user enter a string for a specific country and then re-submit the query.
· Create advanced BI applications by stringing multiple objects together from the input and output of the data service.
All of the queries created using the BI Query Wizard (except for the Heatmap and query views based on BW-native data services) are automatically configured with a table view on the output port. You may instead configure your data service to display a different view such as a chart. To do this:
...
1. Select and delete the table view connected to the output port of your data service.
2. Follow the procedure in Defining a Chart.
Possible alternate views for each query template are suggested in the following table:
Output Port Suggestions
Query Template |
Alternate View |
All Data |
Table |
Count (OLAP) |
Bars chart |
Count (Relational) |
Table |
Cumulative Total |
Lines chart |
Freeform |
Table |
Grand Totals |
Table |
Minimum/Maximum |
Table |
Moving Average |
Lines chart |
Percentage Growth |
Table |
Percentage Share |
Pie chart |
Planned vs. Actual |
Columns chart |
Rank Change |
Table |
Top N |
Columns chart |
Trend over Time |
Lines chart |
Zero Activity |
Table |

· The Heatmap template is configured by default to display a heatmap through the URL port.
· Instead of using the output port, BW-native data services are configured by default to render the default Web template through the URL port. The BW data service is also created with an output port that you may use to retrieve the data in table format.

The display of a query's result deployed in the portal is limited to 500 rows, to avoid unintentionally returning a very large result. See Query Properties for more information.
All of the queries created via the BI Query Wizard are automatically configured with a start input. You may instead wish to provide a form on the input port so the user can enter specific information and resubmit the query at runtime. To do this:
1. Select and delete the start input of your data service.
2. Follow the procedure in Defining Input to the Data Service.
The table below lists the default fields on the input ports for each type of system:
Default Fields on Input Ports
System Type |
Description |
Relational systems |
Every field of the selected table |
OLAP systems |
One field per dimension of the selected cube |
BW-native systems |
One field per characteristic contained in the query |

· You may see some mapping of characters in the field names. See Query Properties for more information.
· If you replace the start trigger of a BW query view with an input form and view the application in the Preview workspace, information you submit through the input form does not update the BW Web application. When you deploy your application into the portal, the values from the input form properly update the application.
You can string multiple objects together from the inputs and outputs of the data service to create advanced BI applications. For example:
· Use the result of one query as the input of another query.
You could, for example, supply a list of countries from a JDBC table as input to a second query. To do this, attach the output of the first query to the input of the second query and map the fields. Use the Fields panel to specify the fields that appear in the input form.
· Supply real-time results as input for a query.
In business scenarios, you may wish to use detailed real-time data such as results from an R/3 BAPI as the input to a query, and then perform analysis of it in the BI query. For example, get a list of current customers from an R/3 BAPI and then perform analysis for each customer with a BI query.
One example of such an advanced scenario might look something like the below:


Query results are dynamic. If you are using fields from the result of one query as the input for another object, your mappings could become invalid when the results of your query change during runtime. In this case, the input port becomes null and could provide unexpected results.
