A program to recognize and reward our most engaged community members
<?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="607" width="773"> <operator activated="true" class="read_database" compatibility="5.1.006" expanded="true" height="60" name="Read Database" width="90" x="45" y="120"> <parameter key="connection" value="anki"/> <parameter key="query" value="SELECT distinct "CUST_ID" , count(*) TRAN_CNT FROM "CUST_TRAND" group by CUST_ID"/> <enumeration key="parameters"/> </operator> <operator activated="true" class="filter_examples" compatibility="5.1.006" expanded="true" height="76" name="Filter Examples" width="90" x="166" y="101"> <parameter key="condition_class" value="attribute_value_filter"/> <parameter key="parameter_string" value="TRAN_CNT>6"/> </operator> <operator activated="true" class="loop_examples" compatibility="5.1.006" expanded="true" height="94" name="Loop Examples" width="90" x="380" y="75"> <process expanded="true" height="607" width="773"> <operator activated="true" class="extract_macro" compatibility="5.1.006" expanded="true" height="60" name="Extract Macro" width="90" x="45" y="30"> <parameter key="macro" value="customer_id"/> <parameter key="macro_type" value="data_value"/> <parameter key="attribute_name" value="CUST_ID"/> <parameter key="example_index" value="%{example}"/> </operator> <operator activated="true" class="extract_macro" compatibility="5.1.006" expanded="true" height="60" name="Extract Macro (2)" width="90" x="179" y="30"> <parameter key="macro" value="tranc"/> <parameter key="macro_type" value="data_value"/> <parameter key="attribute_name" value="TRAN_CNT"/> <parameter key="example_index" value="%{example}"/> </operator> <operator activated="true" class="generate_macro" compatibility="5.1.006" expanded="true" height="76" name="Generate Macro" width="90" x="380" y="30"> <list key="function_descriptions"> <parameter key="outlier_count" value="ceil(%{tranc} * 0.2)"/> </list> </operator> <operator activated="true" class="read_database" compatibility="5.1.006" expanded="true" height="60" name="Read Database (2)" width="90" x="45" y="210"> <parameter key="connection" value="anki"/> <parameter key="query" value="SELECT * FROM "CUST_TRAND" WHERE CUST_ID=%{customer_id}"/> <enumeration key="parameters"/> </operator> <operator activated="true" class="work_on_subset" compatibility="5.1.006" expanded="true" height="76" name="Work on Subset" width="90" x="179" y="210"> <parameter key="attribute_filter_type" value="subset"/> <parameter key="attributes" value="|TRAN_AMT"/> <process expanded="true"> <connect from_port="exampleSet" to_port="example set"/> <portSpacing port="source_exampleSet" spacing="0"/> <portSpacing port="sink_example set" spacing="0"/> <portSpacing port="sink_through 1" spacing="0"/> </process> </operator> <operator activated="true" breakpoints="after" class="detect_outlier_distances" compatibility="5.1.006" expanded="true" height="76" name="Detect Outlier (Distances)" width="90" x="313" y="210"> <parameter key="number_of_neighbors" value="3"/> <parameter key="number_of_outliers" value="%{outlier_count}"/> </operator> <operator activated="true" class="write_database" compatibility="5.1.006" expanded="true" height="60" name="Write Database" width="90" x="447" y="210"> <parameter key="connection" value="anki"/> <parameter key="table_name" value="newone"/> <parameter key="overwrite_mode" value="append"/> </operator> <connect from_port="example set" to_op="Extract Macro" to_port="example set"/> <connect from_op="Extract Macro" from_port="example set" to_op="Extract Macro (2)" to_port="example set"/> <connect from_op="Extract Macro (2)" from_port="example set" to_op="Generate Macro" to_port="through 1"/> <connect from_op="Generate Macro" from_port="through 1" to_port="example set"/> <connect from_op="Read Database (2)" from_port="output" to_op="Work on Subset" to_port="example set"/> <connect from_op="Work on Subset" from_port="example set" to_op="Detect Outlier (Distances)" to_port="example set input"/> <connect from_op="Detect Outlier (Distances)" from_port="example set output" to_op="Write Database" to_port="input"/> <connect from_op="Write Database" from_port="through" to_port="output 1"/> <portSpacing port="source_example set" spacing="18"/> <portSpacing port="sink_example set" spacing="0"/> <portSpacing port="sink_output 1" spacing="72"/> <portSpacing port="sink_output 2" spacing="0"/> </process> </operator> <connect from_op="Read Database" from_port="output" to_op="Filter Examples" to_port="example set input"/> <connect from_op="Filter Examples" from_port="example set output" to_op="Loop Examples" to_port="example set"/> <connect from_op="Loop Examples" from_port="output 1" to_port="result 1"/> <portSpacing port="source_input 1" spacing="0"/> <portSpacing port="sink_result 1" spacing="0"/> <portSpacing port="sink_result 2" spacing="0"/> </process> </operator></process>
/** Subclasses might want to override this method if they do not support auto_increment. */ protected void createRMPrimaryKeyIndex(DatabaseHandler databaseHandler, String tableName) throws SQLException { String addKeyQuery = "ALTER TABLE " + databaseHandler.getStatementCreator().makeIdentifier(tableName)+ " ADD " + databaseHandler.getStatementCreator().makeIdentifier(INDEX_COLUMN_NAME)+ " INT NOT NULL AUTO_INCREMENT PRIMARY KEY"; Statement statement = databaseHandler.createStatement(true); statement.execute(addKeyQuery); statement.close(); }
SELECT distinct "CUST_ID", count(*) TRAN_CNT FROM "CUST_TRAND" group by CUST_ID
<?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="607" width="773"> <operator activated="true" class="read_database" compatibility="5.1.006" expanded="true" height="60" name="Read Database" width="90" x="45" y="75"> <parameter key="connection" value="anki"/> <parameter key="query" value="SELECT distinct "CUST_ID" , count(*) TRAN_CNT FROM "CUST_TRAND" group by CUST_ID"/> <enumeration key="parameters"/> </operator> <operator activated="true" class="filter_examples" compatibility="5.1.006" expanded="true" height="76" name="Filter Examples" width="90" x="184" y="74"> <parameter key="condition_class" value="attribute_value_filter"/> <parameter key="parameter_string" value="TRAN_CNT>6"/> </operator> <operator activated="true" class="loop_examples" compatibility="5.1.006" expanded="true" height="94" name="Loop Examples" width="90" x="380" y="75"> <process expanded="true" height="607" width="773"> <operator activated="true" class="extract_macro" compatibility="5.1.006" expanded="true" height="60" name="Extract Macro" width="90" x="45" y="30"> <parameter key="macro" value="customer_id"/> <parameter key="macro_type" value="data_value"/> <parameter key="attribute_name" value="CUST_ID"/> <parameter key="example_index" value="%{example}"/> </operator> <operator activated="true" class="extract_macro" compatibility="5.1.006" expanded="true" height="60" name="Extract Macro (2)" width="90" x="167" y="29"> <parameter key="macro" value="tranc"/> <parameter key="macro_type" value="data_value"/> <parameter key="attribute_name" value="TRAN_CNT"/> <parameter key="example_index" value="%{example}"/> </operator> <operator activated="true" class="generate_macro" compatibility="5.1.006" expanded="true" height="76" name="Generate Macro" width="90" x="292" y="29"> <list key="function_descriptions"> <parameter key="outlierc" value="ceil(%{tranc} * 0.2)"/> </list> </operator> <operator activated="true" class="read_database" compatibility="5.1.006" expanded="true" height="60" name="Read Database (2)" width="90" x="45" y="210"> <parameter key="connection" value="anki"/> <parameter key="query" value="SELECT * FROM "CUST_TRAND" WHERE CUST_ID=%{customer_id}"/> <parameter key="table_name" value="CUST_TRAND"/> <parameter key="prepare_statement" value="true"/> <enumeration key="parameters"/> </operator> <operator activated="false" class="select_attributes" compatibility="5.1.006" expanded="true" height="76" name="Select Attributes" width="90" x="179" y="165"> <parameter key="attribute_filter_type" value="subset"/> </operator> <operator activated="true" class="detect_outlier_distances" compatibility="5.1.006" expanded="true" height="76" name="Detect Outlier (2)" width="90" x="313" y="210"> <parameter key="number_of_neighbors" value="3"/> <parameter key="number_of_outliers" value="%{outlierc}"/> </operator> <operator activated="true" class="write_database" compatibility="5.1.006" expanded="true" height="60" name="Write Database (2)" width="90" x="447" y="120"> <parameter key="connection" value="anki"/> <parameter key="table_name" value="outnew"/> <parameter key="overwrite_mode" value="append"/> </operator> <operator activated="true" class="free_memory" compatibility="5.1.006" expanded="true" height="76" name="Free Memory (2)" width="90" x="581" y="210"/> <connect from_port="example set" to_op="Extract Macro" to_port="example set"/> <connect from_op="Extract Macro" from_port="example set" to_op="Extract Macro (2)" to_port="example set"/> <connect from_op="Extract Macro (2)" from_port="example set" to_op="Generate Macro" to_port="through 1"/> <connect from_op="Generate Macro" from_port="through 1" to_port="example set"/> <connect from_op="Read Database (2)" from_port="output" to_op="Detect Outlier (2)" to_port="example set input"/> <connect from_op="Detect Outlier (2)" from_port="example set output" to_op="Write Database (2)" to_port="input"/> <connect from_op="Write Database (2)" from_port="through" to_op="Free Memory (2)" to_port="through 1"/> <connect from_op="Free Memory (2)" from_port="through 1" to_port="output 1"/> <portSpacing port="source_example set" spacing="0"/> <portSpacing port="sink_example set" spacing="0"/> <portSpacing port="sink_output 1" spacing="72"/> <portSpacing port="sink_output 2" spacing="0"/> </process> </operator> <connect from_op="Read Database" from_port="output" to_op="Filter Examples" to_port="example set input"/> <connect from_op="Filter Examples" from_port="example set output" to_op="Loop Examples" to_port="example set"/> <connect from_op="Loop Examples" from_port="output 1" to_port="result 1"/> <portSpacing port="source_input 1" spacing="0"/> <portSpacing port="sink_result 1" spacing="0"/> <portSpacing port="sink_result 2" spacing="0"/> </process> </operator></process>