#### Automatic drilling

Automatic drilling enables you to switch from the current dimension to another dimension by using system-defined commands on the shortcut menu, and it is divided into three kinds:

- Drill-to
  It enables you to obtain a different view of data by switching among dimensions.
- Drill-to-by-value
  It allows you to filter data based on a drill-to action so as to obtain a more detailed view of the data.
- Drill-down
  It enables you to drill data according to predefined hierarchies.

Drilling actions are performed on crosstabs, and grouped tables and banded objects, whose data are based on business/report cube or if on query, data fields of which can be converted to corresponding cube elements (see the note in Analytic reporting for details). After drilling, the new component can be analyzed in the same way as the original one, and a "drill path" will be displayed in the Go To drop-down list on the navigation bar if you are drilling on a table or banded object, with which you can return to any level easily by selecting the node from the list.

Assume you have created a crosstab report on the report cube WorldWideSales in Data Source 1 of the SampleReports catalog showing product sales information with Product Type (ascending) as the column field, Category (ascending) as the row field, and Total Sales as the summary field, and applied the default style to the crosstab. We will now take the crosstab as an instance to illustrate the automatic drilling functions. See the report.

##### Drill-to

1. Right-click any value of Product Type, Decaf for example, and choose Drill To from the shortcut menu. The list of dimensions available for Drill To will appear on the submenu. See illustration.

2. Click Region on the submenu, then in the regenerated result, we can see that Category remains the dimension for rows and Region becomes the dimension for columns. See the result.

3. Repeat Steps 1 and 2 to drill the data to other dimensions. Row field can also be drilled freely.

##### Drill-to-by-value

1. Undo the drill-to action in the above example.
2. Right-click the value Decaf of the Product Type dimension, and point to Drill to By Value on the shortcut menu. A submenu for the command is displayed, which lists the same items as those of Drill To.
3. Click Region too and the result will be regenerated. See the result.

   We can see that the result is different from that of drill-to. This is because that, for the drill-to-by-value action, the dimension of columns changes to Region by the Product Type value Decaf. That is, on the basis of the drill-to action, a filtering action where Product Type = Decaf is further performed, and thus the result of drill-to-by-value is generated.

##### Drill-down

Drill-down actions are based on predefined business/report cube hierarchies. The report cube WorldWideSales contains a hierarchy Geography, which allows you to drill a dimension (corresponding to a high level) down to the one-level-lower dimension.

1. Based on the report result after drill-to-by-value, right-click the value APAC, on the shortcut menu, point to Drill Down, and we can see that Territory is listed as the submenu item. See illustration.

2. Click Territory to see the result. It displays the data about countries in Asia Pacific. See the result.

3. The one-level-lower dimension for Territory defined in the hierarchy is Country. Now click Asia directly and JReport will also drill it down to Country. See the result.

4. Along the way defined by the hierarchy, we can further drill the column dimension down to State and then City.

Notes:

- For banded object and table, you can right-click its group header/footer to show the shortcut menu so as to use the automatic drilling functions, you can also right-click field values in the group header/footer to achieve this.
- For dimension objects not used as group fields in a banded object or table, automatic drilling doesn't take effect.
- JReport allows you to define display names for items to be shown on the drill-related menu items. For detailed information, see Customizing the field display names in the JReport Designer User's Guide.