This page allows the user to specify the data that the chart will query the loaded table for. As the user progresses through, specifying options in the interface for this page, the resulting SQL query will be built and displayed in the text box near the bottom. This is the query that will be submitted to the internal local database to retrieve loaded data.
The user may also directly edit/create the query through the text box it is displayed in. However, for a valid chart to be created, the SQL query must return two non-empty columns. The first column containing character string values, the second column containing only numeric values. It is also possible that a directly edited query may be constructed in a manner that the application may fail to recognize conditions to drill down on. Using only the interface to generate the query will guarantee that it will be able to be drilled down on.
As an example, using the image above, the page specifies a query that retrieves the frequency in which user IDs appear in fault entries and groups them by their name. It will also filter out the user ID named 'SYSTEM' and only list users that are related to more than 100 fault entries. In addition it is in descending order and will only show the 10 largest frequencies.
These are the two series of data that will be plotted against each other. Typically this involves an aggregation of values for the Y series since much of the fault entry data is categorical. If the Specify Y Series check is ticked, this will allow the user to edit the Y series, otherwise the Y series will default to the frequency of the X series (default is false).
To specify the series press the Change... button to open the following dialog:
This dialog is shown for changing both the X and Y series definitions. However typically the aggregation function and distinct check are only used with Y series definitions.
ColumnThis drop-down list specifies the column from which data will be pulled from. These columns are the same as the columns available in the reports list.
Aggregate FunctionThis drop-down list specifies the aggregate function to be applied to the data retrieved from the above specified column. An aggregate function is typically only applied to Y series values and should only be used if the data is being grouped by each X series (which is a default setting).
Use AliasThis check specifies if this series should use an alias.
AliasThis text box specifies the alias that the column will use, it is only enabled if the Use Alias option is checked.
DistinctThis check specifies if this series should only grab unique non-repeating values. This is typically only applied to Y series values and should only be used if the data is being grouped by each X series (defaulting to true).
This is the set of conditions that will be tested against each row in the loaded reports list table before being aggregated into a group (if that option is checked). Pressing the Add or Edit buttons will open the following dialog:
The column whose value will be tested against the condition.
ComparatorThe logic operator that will be used in the condition. Character string values should only use =, != or LIKE. LIKE is used for basic SQL pattern matching, and uses the '% symbol for matching strings and _ for matching single characters.
ValueThe value that the specified column value will be tested against using the comparator.
This is the set of conditions that will be tested against each grouped value after aggregation (e.g. test if the frequency of a certain category is larger than a specified number). This condition section is only available if the user has selected to group by the X series (defaulting to true). Pressing the Add or Edit buttons will open the following dialog:
Note that this dialog is similar to the previous individual record condition dialog except for two additional options. Values specified in this dialog should be numeric only.
Aggregate FunctionThis drop down list will specify the aggregate function applied to the selected column to produce the value to compare with the specified test value. Unlike the series definition dialog, a function must be specified.
DistinctThis will grab only distinct values in the group to be applied to the aggregation function, instead of repeating values. An example, a use of this is to display only jobs that are run by at least 5 distinct users (COUNT(DISTINCT "USER_ID") >= 5).
Check if the user wants to sort the results by the Y series value
Sort DescendingIf Sort Results is checked, this determines the direction of ordering (defaults to true).
Group By X SeriesThis option aggregates data related to each X series value into their own groups labeled by that value, and allows aggregation functions to be used. This must be checked if aggregate conditions are to be used and is set to true by default. This would be set to false if the user is charting a numeric value in the Y series and does not need to perform an aggregate function on the Y series (such as MD_PAGES or DUPS).
Limit ResultsIf checked this will limit the number of categories displayed in the chart. It is useful if there are many potential categories and the user would like to limit visual clutter. Note that this is the only option that is not reflected in the constructed query at the bottom of the page.
Select top X resultsThis specifies how many results will be displayed on the chart if the above Limit Results checkbox is checked.
This is where the constructed query is shown. This will be built as changes are made in the options explained above.
Directly Edit QueryChecking this box will enable the user to type directly into the query box. Note that direct changes made to the query may be overwritten if changes are made through the interface options specified above afterwards.
Enable InterfaceThis button will only be enabled if the query is being edited however is not compatible with the interface on this page (when this happens the rest of the interface will be disabled). Pressing this button will re-enable the interface but expose the query to being completely overwritten when using the interface.
Validate QueryThis button will send the query in its current form to the SQL database, which will determine if it is valid SQL syntax. Pressing the Next or Finish buttons will also perform this operation.
Fault Analyzer plug-in for Eclipse