Report Fields Node Layout


Subnodes of the profile node statistics.report_fields described report fields. Each subnode describes one report field. The layout of report field nodes is described here.

label
column_label
column_info
database_field
average_denominator_field
expression
type
sort_type
category
display_format_type
custom_display_format_type
column_alignment
subitems_level
show_remainder_value
show_average_value
show_min_value
show_max_value
show_total_value
percent_calculation
sort_by_before_expression_evaluation
sort_direction_before_expression_evaluation


label
Type: string
Values:Unique report field label.
Default value:-
Relevant:always
Notes: -


column_label
Type: string
Values:-
Default value:
Relevant:Only if the column label should be overriden.
Notes: The column_label is used if the table column should have a different label than the report_field label. I.e. the report field "Session pages" should be "Pages" in the table column_header, so we define:
label = "Session Pages"
column_label = "Pages"


column_info
Type: string
Values:-
Default value:-
Relevant:Only if the column info should be provided.
Notes: This node contains the text which is shown when the user clicks on the table column info icon.


database_field
Type: string
Values:Node name of an existing database field.
Default value:-
Relevant:Only relevant if the report field is based on a database field.
Notes: -


average_denominator_field
Type: string
Values:""(empty) or the node name of another aggregating report field.
Default value:-
Relevant:Only relevant if the report field is based on a database field.
Notes: A report field which has an average_denominator_field defined becomes automatically a report field upon query fields creation.


expression
Type: string
Values:-
Default value:-
Relevant:Only relevant if the report field is based on an expression and not on a database field.
Notes: A report field expression can only be calculated from other report fields which are based on a database field!


type
Type: string
Values:string
int
float
Default value:int
Relevant:Only relevant if the report field is based on an expression and not on a database field.
Notes: The type defines the type in the ssql table for any report field which is not based on a database field.


sort_type
Type: string
Values:""(empty)
alphabetical
numerical
chronological
Default value:""(empty)
Relevant:always
Notes: sort_type allows to override the default sorting of a ssql table report_field.
The default sort type is evaluated automatically by the C++ depending on other report field parameters.
If sort_type is not empty then the C++ will sort according to the specified value.


category
Type: string
Values:""(empty)
date_time
day_of_week
hour_of_day
day_of_year
week_of_year
...
Categories are defined in LogAnalysisInfo/field_categories.cfg.
Default value:""(empty)
Relevant:Only if the report field is based on an expression or if it overrides the database field category.
If a report field is baed on a database field and the category node exists, then it overrides the database field category, also in case that the value is empty. I.e.,category="" will set the category to "", regardless of which category is defined in the source database field.
Notes: The report field category overrides any database field category.
A category is usually given in the database field, though a report field with an expression is not based on a database field, hence we allow the definition of a category in report fields as well.


display_format_type
Type: string
Values:string
bandwidth
date_time
day_of_week
hour_of_day
page
hostname
integer
duration --> show in list as "duration"(fully written out)"
duration_compact -->show in list as "duration as seconds (e.g., 1y23d 12:34:56)"
duration_milliseconds -->show in list as "duration as milliseconds (e.g., 1 y23d 12:34:56.789)"
duration_microseconds -->duration as microseconds (e.g., 1y23d 12:34:56.789012)"
duration_hhmmss
custom --> Defines that we use the value of custom_display_format_type for formatting.
Default value:string
Relevant:always
Notes: If custom is defined we show a separate custom_display_format_type input field.
The string "custom" itself is never used in format(), it is only used to determine from where we get the final display format type which is then set in query_fields.
We do not constraint the user on selecting the display_format_type depending on type or any othe property.
Any display format type is allowed, regardless of the selected report field type.


custom_display_format_type
Type: string
Values:-
Default value:-
Relevant:Only relevant if display_format_type is "custom".
Notes: Custom display format types are useful to format i.e. a numerical value as string with a currency symbol like "30.22". format () supports printf-style formatting, so a custom_display_format_type must be in the printf-style format, i.e.:
custom_display_format_type = "
%0.4f"(Formats '2.345678' as ' 2.3456')
custom_display_format_type = "%0.2f" (Formats '2.345678 as '2.34')

Formatting a value so that it displays a dash which we require in RBAC (we simply use the display format type for hidden fields, value is only set in the query fields display format type!)
display_format_type = "%" (Formats 'abc' as '-')
Format values as dash: That takes advantage of the fact that Sawmill uses printf formatting when there is a % in the string. But %- is an invalid printf format string, so it renders as ""; that makes the whole thing "-".


column_alignment
Type: string
Values:"" (empty, is equal auto alignment)
left
right
Default value:"" (empty)
Relevant:always
Notes: column_alignment defines the alignment in html table columns.
If column_alignment is empty (auto) we align non-aggregating fields left and aggregating fields right.
If left or right is specified then we align accordingly regardless of non-aggregating/aggregating type.


subitems_level
Type: int
Values:>= -2
Default value:-1
Relevant:Only relevant for report fields which are based on a database field and where the log field on which the database field is based on is not of type "flat" and not of type "agent".
Notes: -2 --> source item field (date_time timestamp in case for date_time database field in log_detail report)
-1 --> bottom_level field
0 --> hierarchical field
>= 1 --> specific subitems level


show_remainder_value
Type: boo|
Values:-
Default value:true
Relevant:Only relevant for aggregating report fields.
Notes: If set to true, it will show the calculated remainder value in the remainder row cell.
If set to false, it will show a "-" dash in the remainder row cell.


show_average_value
Type: boo|
Values:-
Default value:true
Relevant:Only relevant for aggregating report fields.
Notes: If set to true, it will show the calculated average value in the average row cell.
If set to false, it will show a "-" dash in the average row cell.


show_min_value
Type: boo|
Values:-
Default value:true
Relevant:Only relevant for aggregating report fields.
Notes: If set to true, it will show the calculated min value in the min row cell.
If set to false, it will show a "-" dash in the min row cell.


show_max_value
Type: boo|
Values:-
Default value:true
Relevant:Only relevant for aggregating report fields.
Notes: If set to true, it will show the calculated max value in the max row cell.
If set to false, it will show a "-" dash in the max row cell.


show_total_value
Type: boo|
Values:-
Default value:true
Relevant:Only relevant for aggregating report fields.
Notes: If set to true, it will show the calculated total value in the totals row cell.
If set to false, it will show a "-" dash in the totals row cell.


percent_calculation
Type: string
Values:sum
sum_or_subsum
none (column value is already a percent value) - Not implemented, planned for later.
column_value (Get base value from another aggregating report field) - Not implemented, planned for later.
Default value:sum
Relevant:Only relevant for aggregating report fields.
Notes: sum and subsum basically defines the base value for percentage calculation for the inner rows (sub-table) of a pivot table. If sum, we calculate all percentages from the sum of the outer rows (main-table).
If sum_or_subsum then teh sub-sum of the inner rows is equal 100%, so the base value for the inner rows percentage calculation is the sub-sum value and not the sum value.


sort_by_before_expression_evaluation
Type: string
Values:"" (empty) or node name of an existing report field.
Default value:-
Relevant:Only relevant for report fields which are based on an expression.
Notes: If a report field is specified then it sorts the ssql table before expressions are evaluated.


sort_direction_before_expression_evaluation
Type: string
Values:ascending
descending
Default value:descending
Relevant:Only relevant if sort_by_before_expression_evaluatin is defined.
Notes:This defines the sort direction for sort_by_before_expression_evaluation.