# # report_field_ratio snapon # # This snapon adds a report field which displays the ratio of two other report fields # # 2010-09-03 - GMF - 1.0 - Initial snapon creation # report_field_ratio = { label = "$lang_admin.snapons.report_field_ratio.label" comment = "$lang_admin.snapons.report_field_ratio.comment" config_snapon_category = "" version = "1.0.1" # 2012-??-?? - GMF - Initial creation # 2012-08-14 - GMF - Fixed bug where database_field defaulted to the field name (should be "") parameters = { numerator_field = { # parameter_value = "page" parameter_value = "numer" validation_type = "string" form_element_label = "$lang_admin.snapons.report_field_ratio.parameters.numerator_field.form_element_label" form_element_type = "select" select_options_source = "database_fields" description = "" } # numerator_field denominator_field = { # parameter_value = "page" parameter_value = "denom" validation_type = "string" form_element_label = "$lang_admin.snapons.report_field_ratio.parameters.denominator_field.form_element_label" form_element_type = "select" select_options_source = "database_fields" description = "" } # denominator_field ratio_field = { parameter_value = "$lang_admin.snapons.report_field_ratio.parameters.ratio_field.parameter_value" validation_type = "field_label" validate_field_label_for = { report_fields = true } form_element_label = "$lang_admin.snapons.report_field_ratio.parameters.ratio_field.form_element_label" form_element_type = "text" form_element_width = "380" description = "" } # ratio_field ratio_field = { parameter_value = "$lang_admin.snapons.report_field_ratio.parameters.ratio_field.parameter_value" validation_type = "field_label" validate_field_label_for = { report_fields = true } form_element_label = "$lang_admin.snapons.report_field_ratio.parameters.ratio_field.form_element_label" form_element_type = "text" form_element_width = "380" description = "" } # ratio_field display_format_type = { parameter_value = "two_digit_fixed" # validation_type = "field_label" # validate_field_label_for = { # report_fields = true # } form_element_label = "$lang_admin.snapons.report_field_ratio.parameters.display_format_type.form_element_label" form_element_type = "text" form_element_width = "380" description = "" } # display_format_type } # parameters parameters_form = { group_1 = { description = "$lang_admin.snapons.report_field_ratio.parameters_form.group_1.description" parameters = { numerator_field = true denominator_field = true ratio_field = true display_format_type = true } # parameters } # group 1 } # parameters_form attach_operations = { # When attaching: Add the ratio report field add_ratio_report_field = { type = "add_report_fields" fields = { "{= @parameters{'ratio_field'}{'final_node_name'} =}" = { category = "" column_alignment = "" column_info = "" column_label = "" # custom_display_format_type = "" # display_format_type = "two_digit_fixed" display_format_type = "{=@parameters{'display_format_type'}{'parameter_value'}=}" expression = "(0.0 + cell_by_name('{=@parameters{'numerator_field'}{'parameter_value'}=}')) / (0.0 + cell_by_name('{=@parameters{'denominator_field'}{'parameter_value'}=}'))" label = "{=@parameters{'ratio_field'}{'parameter_value'}=}" sort_by_before_expression_evaluation = "" sort_direction_before_expression_evaluation = "" type = "float" database_field = "" } # report_field_ratio } # fields } # add_ratio_field_report_field # When attaching: Add the report_field_ratio column to all report elements add_ratio_field_report_column = { type = "add_report_element_columns" report = "*" report_element = "*" columns = { "{= @parameters{'ratio_field'}{'final_node_name'} =}" = { report_field = "{= @parameters{'ratio_field'}{'final_node_name'} =}" show_column = true show_percent_column = false show_bar_column = false # 2013-06-13 - GMF - Making this default to false for now, because bounce_rate shouldn't add two graphs to every report. # show_graph = true } # report_field_ratio } # columns require_report_field_columns = { 0 = "{=@parameters{'numerator_field'}{'parameter_value'}=}" 1 = "{=@parameters{'denominator_field'}{'parameter_value'}=}" } # require_report_field_columns } # add_ratio_field_report_column } # attach_operations } # report_field_ratio