RapidMiner 9.7 is Now Available

Lots of amazing new improvements including true version control! Learn more about what's new here.

CLICK HERE TO DOWNLOAD

"Macro in report name doesn't work - bug or missing feature?"

ImageMinerImageMiner Member Posts: 4 Contributor I
edited May 2019 in Help
Hi,

I have a process loop over some values. Now I would like to generate one report for each iteration.
Observation 1:
As expected, if I use a static name for the "Create Report" and the "Report" operators, only parts of the last iteration are inside the report file.
Observation 2:
I decided to generate the report file with postfix %{loop_value}, but I have to split the report parts too.
So I used the macro name %{loop_value} inside the "Create Report" operator. Now no report is generated at all .

My question: Is it possible to use a macro inside the "Create Report" operator as report name?
And further more ...  is there an operator, which finalizes the report, so one can reuse the static name?

Is it a bug or a feature  ;)

One simple example as xml below.

Regards

Ralf
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<process version="5.1.006">
  <context>
    <input/>
    <output/>
    <macros/>
  </context>
  <operator activated="true" class="process" compatibility="5.1.006" expanded="true" name="Process">
    <process expanded="true" height="454" width="812">
      <operator activated="true" class="generate_data_user_specification" compatibility="5.1.006" expanded="true" height="60" name="Generate Data by User Specification" width="90" x="45" y="75">
        <list key="attribute_values">
          <parameter key="reportpostfix" value="&quot;A&quot;"/>
        </list>
        <list key="set_additional_roles"/>
      </operator>
      <operator activated="true" class="generate_data_user_specification" compatibility="5.1.006" expanded="true" height="60" name="Generate Data by User Specification (2)" width="90" x="45" y="165">
        <list key="attribute_values">
          <parameter key="reportpostfix" value="&quot;B&quot;"/>
        </list>
        <list key="set_additional_roles"/>
      </operator>
      <operator activated="true" class="union" compatibility="5.1.006" expanded="true" height="76" name="Union" width="90" x="179" y="75"/>
      <operator activated="true" class="loop_values" compatibility="5.1.006" expanded="true" height="60" name="Loop Values" width="90" x="313" y="75">
        <parameter key="attribute" value="reportpostfix"/>
        <process expanded="true" height="472" width="830">
          <operator activated="true" class="generate_data" compatibility="5.1.006" expanded="true" height="60" name="Generate Data" width="90" x="112" y="75">
            <parameter key="number_of_attributes" value="1"/>
          </operator>
          <operator activated="true" class="reporting:generate_report" compatibility="5.1.000" expanded="true" height="76" name="Generate Report" width="90" x="246" y="75">
            <parameter key="report_name" value="testreport%{loop_value}"/>
            <parameter key="repository_entry" value="testreport"/>
            <parameter key="pdf_output_file" value="C:\testreport%{loop_value}.pdf"/>
          </operator>
          <operator activated="true" class="reporting:report" compatibility="5.1.000" expanded="true" height="60" name="Report" width="90" x="380" y="75">
            <parameter key="report_name" value="testreport%{loop_value}"/>
            <parameter key="report_item_header" value="Test %{loop_value}"/>
            <parameter key="specified" value="true"/>
            <parameter key="reportable_type" value="Data Table"/>
            <parameter key="renderer_name" value="Plot View"/>
            <list key="parameters">
              <parameter key="plotter" value="Histogram"/>
              <parameter key="scatter_axis_x_axis_log_scale" value="false"/>
              <parameter key="scatter_axis_y_axis_log_scale" value="false"/>
              <parameter key="scatter_jitter_amount" value="0"/>
              <parameter key="scatter_rotate_labels" value="false"/>
              <parameter key="scatter_multiple_axis_x_axis_log_scale" value="false"/>
              <parameter key="scatter_multiple_jitter_amount" value="0"/>
              <parameter key="scatter_multiple_rotate_labels" value="false"/>
              <parameter key="scatter_matrix_jitter_amount" value="0"/>
              <parameter key="bubble_axis_x_axis_log_scale" value="false"/>
              <parameter key="bubble_axis_y_axis_log_scale" value="false"/>
              <parameter key="bubble_rotate_labels" value="false"/>
              <parameter key="parallel_rotate_labels" value="false"/>
              <parameter key="parallel_local_normalization" value="false"/>
              <parameter key="deviation_rotate_labels" value="false"/>
              <parameter key="deviation_local_normalization" value="false"/>
              <parameter key="series_rotate_labels" value="false"/>
              <parameter key="series_multiple_rotate_labels" value="false"/>
              <parameter key="som_jitter_amount" value="0"/>
              <parameter key="block_axis_x_axis_log_scale" value="false"/>
              <parameter key="block_axis_y_axis_log_scale" value="false"/>
              <parameter key="block_jitter_amount" value="0"/>
              <parameter key="block_rotate_labels" value="false"/>
              <parameter key="pie_absolute_values" value="false"/>
              <parameter key="pie_aggregation" value="none"/>
              <parameter key="pie_use_distinct" value="false"/>
              <parameter key="pie_explosion_amount" value="0"/>
              <parameter key="pie_3d_absolute_values" value="false"/>
              <parameter key="pie_3d_aggregation" value="none"/>
              <parameter key="pie_3d_use_distinct" value="false"/>
              <parameter key="ring_absolute_values" value="false"/>
              <parameter key="ring_aggregation" value="none"/>
              <parameter key="ring_use_distinct" value="false"/>
              <parameter key="ring_explosion_amount" value="0"/>
              <parameter key="bars_absolute_values" value="false"/>
              <parameter key="bars_rotate_labels" value="false"/>
              <parameter key="bars_aggregation" value="none"/>
              <parameter key="bars_use_distinct" value="false"/>
              <parameter key="bars_orientation" value="vertical"/>
              <parameter key="bars_stacked_absolute_values" value="false"/>
              <parameter key="bars_stacked_rotate_labels" value="false"/>
              <parameter key="bars_stacked_aggregation" value="none"/>
              <parameter key="bars_stacked_use_distinct" value="false"/>
              <parameter key="bars_stacked_orientation" value="vertical"/>
              <parameter key="pareto_rotate_labels" value="false"/>
              <parameter key="pareto_sorting_direction" value="Descending Keys"/>
              <parameter key="pareto_show_bar_labels" value="true"/>
              <parameter key="pareto_show_cumulative_labels" value="false"/>
              <parameter key="distribution_rotate_labels" value="false"/>
              <parameter key="histogram_plot_columns" value="att1"/>
              <parameter key="histogram_absolute_values" value="false"/>
              <parameter key="histogram_rotate_labels" value="false"/>
              <parameter key="histogram_log_scale" value="false"/>
              <parameter key="histogram_number_of_bins" value="40"/>
              <parameter key="histogram_opaqueness" value="100"/>
              <parameter key="histogram_color_absolute_values" value="false"/>
              <parameter key="histogram_color_rotate_labels" value="false"/>
              <parameter key="histogram_color_log_scale" value="false"/>
              <parameter key="histogram_color_number_of_bins" value="40"/>
              <parameter key="histogram_color_opaqueness" value="100"/>
            </list>
          </operator>
          <connect from_op="Generate Data" from_port="output" to_op="Generate Report" to_port="through 1"/>
          <connect from_op="Generate Report" from_port="through 1" to_op="Report" to_port="reportable in"/>
          <portSpacing port="source_example set" spacing="0"/>
          <portSpacing port="sink_out 1" spacing="0"/>
        </process>
      </operator>
      <connect from_op="Generate Data by User Specification" from_port="output" to_op="Union" to_port="example set 1"/>
      <connect from_op="Generate Data by User Specification (2)" from_port="output" to_op="Union" to_port="example set 2"/>
      <connect from_op="Union" from_port="union" to_op="Loop Values" to_port="example set"/>
      <portSpacing port="source_input 1" spacing="0"/>
      <portSpacing port="sink_result 1" spacing="0"/>
    </process>
  </operator>
</process>

Answers

  • landland RapidMiner Certified Analyst, RapidMiner Certified Expert, Member Posts: 2,529   Unicorn
    Hi Ralf,

    it's a missing buggy feature :) No, to be serious, all report streams are closed automatically when the process is finished. We did not thought that it would be useful to split the report in this way, as we assumed that new sections would be favorable.
    Each time the report operator is executed, it will append something to the reporting "stream". So there should not be missing anything if you execute it in a loop...

    Well I just took a look into that. Yes, it's indeed a buggy feature, only static names are supported right now.

    Greetings,
    Sebastian
Sign In or Register to comment.