summaryrefslogtreecommitdiff
path: root/calculate_customer_per_year.ktr
diff options
context:
space:
mode:
authorstephanchrst <stephanchrst@gmail.com>2024-09-09 10:53:16 +0700
committerstephanchrst <stephanchrst@gmail.com>2024-09-09 10:53:16 +0700
commit220fbc8a87333dac4d0c51b4bd93207017371968 (patch)
tree3d0b14842d7fdc9c79df57ba295d9a3564a1f17a /calculate_customer_per_year.ktr
parent81280a09ba56d25ce8506e8f2d446e6204979cf0 (diff)
add calculate lob category
Diffstat (limited to 'calculate_customer_per_year.ktr')
-rw-r--r--calculate_customer_per_year.ktr1238
1 files changed, 1238 insertions, 0 deletions
diff --git a/calculate_customer_per_year.ktr b/calculate_customer_per_year.ktr
new file mode 100644
index 0000000..6138ebd
--- /dev/null
+++ b/calculate_customer_per_year.ktr
@@ -0,0 +1,1238 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<transformation>
+ <info>
+ <name>calculate_customer_per_year</name>
+ <description/>
+ <extended_description/>
+ <trans_version/>
+ <trans_type>Normal</trans_type>
+ <directory>/</directory>
+ <parameters>
+ </parameters>
+ <log>
+ <trans-log-table>
+ <connection/>
+ <schema/>
+ <table/>
+ <size_limit_lines/>
+ <interval/>
+ <timeout_days/>
+ <field>
+ <id>ID_BATCH</id>
+ <enabled>Y</enabled>
+ <name>ID_BATCH</name>
+ </field>
+ <field>
+ <id>CHANNEL_ID</id>
+ <enabled>Y</enabled>
+ <name>CHANNEL_ID</name>
+ </field>
+ <field>
+ <id>TRANSNAME</id>
+ <enabled>Y</enabled>
+ <name>TRANSNAME</name>
+ </field>
+ <field>
+ <id>STATUS</id>
+ <enabled>Y</enabled>
+ <name>STATUS</name>
+ </field>
+ <field>
+ <id>LINES_READ</id>
+ <enabled>Y</enabled>
+ <name>LINES_READ</name>
+ <subject/>
+ </field>
+ <field>
+ <id>LINES_WRITTEN</id>
+ <enabled>Y</enabled>
+ <name>LINES_WRITTEN</name>
+ <subject/>
+ </field>
+ <field>
+ <id>LINES_UPDATED</id>
+ <enabled>Y</enabled>
+ <name>LINES_UPDATED</name>
+ <subject/>
+ </field>
+ <field>
+ <id>LINES_INPUT</id>
+ <enabled>Y</enabled>
+ <name>LINES_INPUT</name>
+ <subject/>
+ </field>
+ <field>
+ <id>LINES_OUTPUT</id>
+ <enabled>Y</enabled>
+ <name>LINES_OUTPUT</name>
+ <subject/>
+ </field>
+ <field>
+ <id>LINES_REJECTED</id>
+ <enabled>Y</enabled>
+ <name>LINES_REJECTED</name>
+ <subject/>
+ </field>
+ <field>
+ <id>ERRORS</id>
+ <enabled>Y</enabled>
+ <name>ERRORS</name>
+ </field>
+ <field>
+ <id>STARTDATE</id>
+ <enabled>Y</enabled>
+ <name>STARTDATE</name>
+ </field>
+ <field>
+ <id>ENDDATE</id>
+ <enabled>Y</enabled>
+ <name>ENDDATE</name>
+ </field>
+ <field>
+ <id>LOGDATE</id>
+ <enabled>Y</enabled>
+ <name>LOGDATE</name>
+ </field>
+ <field>
+ <id>DEPDATE</id>
+ <enabled>Y</enabled>
+ <name>DEPDATE</name>
+ </field>
+ <field>
+ <id>REPLAYDATE</id>
+ <enabled>Y</enabled>
+ <name>REPLAYDATE</name>
+ </field>
+ <field>
+ <id>LOG_FIELD</id>
+ <enabled>Y</enabled>
+ <name>LOG_FIELD</name>
+ </field>
+ <field>
+ <id>EXECUTING_SERVER</id>
+ <enabled>N</enabled>
+ <name>EXECUTING_SERVER</name>
+ </field>
+ <field>
+ <id>EXECUTING_USER</id>
+ <enabled>N</enabled>
+ <name>EXECUTING_USER</name>
+ </field>
+ <field>
+ <id>CLIENT</id>
+ <enabled>N</enabled>
+ <name>CLIENT</name>
+ </field>
+ </trans-log-table>
+ <perf-log-table>
+ <connection/>
+ <schema/>
+ <table/>
+ <interval/>
+ <timeout_days/>
+ <field>
+ <id>ID_BATCH</id>
+ <enabled>Y</enabled>
+ <name>ID_BATCH</name>
+ </field>
+ <field>
+ <id>SEQ_NR</id>
+ <enabled>Y</enabled>
+ <name>SEQ_NR</name>
+ </field>
+ <field>
+ <id>LOGDATE</id>
+ <enabled>Y</enabled>
+ <name>LOGDATE</name>
+ </field>
+ <field>
+ <id>TRANSNAME</id>
+ <enabled>Y</enabled>
+ <name>TRANSNAME</name>
+ </field>
+ <field>
+ <id>STEPNAME</id>
+ <enabled>Y</enabled>
+ <name>STEPNAME</name>
+ </field>
+ <field>
+ <id>STEP_COPY</id>
+ <enabled>Y</enabled>
+ <name>STEP_COPY</name>
+ </field>
+ <field>
+ <id>LINES_READ</id>
+ <enabled>Y</enabled>
+ <name>LINES_READ</name>
+ </field>
+ <field>
+ <id>LINES_WRITTEN</id>
+ <enabled>Y</enabled>
+ <name>LINES_WRITTEN</name>
+ </field>
+ <field>
+ <id>LINES_UPDATED</id>
+ <enabled>Y</enabled>
+ <name>LINES_UPDATED</name>
+ </field>
+ <field>
+ <id>LINES_INPUT</id>
+ <enabled>Y</enabled>
+ <name>LINES_INPUT</name>
+ </field>
+ <field>
+ <id>LINES_OUTPUT</id>
+ <enabled>Y</enabled>
+ <name>LINES_OUTPUT</name>
+ </field>
+ <field>
+ <id>LINES_REJECTED</id>
+ <enabled>Y</enabled>
+ <name>LINES_REJECTED</name>
+ </field>
+ <field>
+ <id>ERRORS</id>
+ <enabled>Y</enabled>
+ <name>ERRORS</name>
+ </field>
+ <field>
+ <id>INPUT_BUFFER_ROWS</id>
+ <enabled>Y</enabled>
+ <name>INPUT_BUFFER_ROWS</name>
+ </field>
+ <field>
+ <id>OUTPUT_BUFFER_ROWS</id>
+ <enabled>Y</enabled>
+ <name>OUTPUT_BUFFER_ROWS</name>
+ </field>
+ </perf-log-table>
+ <channel-log-table>
+ <connection/>
+ <schema/>
+ <table/>
+ <timeout_days/>
+ <field>
+ <id>ID_BATCH</id>
+ <enabled>Y</enabled>
+ <name>ID_BATCH</name>
+ </field>
+ <field>
+ <id>CHANNEL_ID</id>
+ <enabled>Y</enabled>
+ <name>CHANNEL_ID</name>
+ </field>
+ <field>
+ <id>LOG_DATE</id>
+ <enabled>Y</enabled>
+ <name>LOG_DATE</name>
+ </field>
+ <field>
+ <id>LOGGING_OBJECT_TYPE</id>
+ <enabled>Y</enabled>
+ <name>LOGGING_OBJECT_TYPE</name>
+ </field>
+ <field>
+ <id>OBJECT_NAME</id>
+ <enabled>Y</enabled>
+ <name>OBJECT_NAME</name>
+ </field>
+ <field>
+ <id>OBJECT_COPY</id>
+ <enabled>Y</enabled>
+ <name>OBJECT_COPY</name>
+ </field>
+ <field>
+ <id>REPOSITORY_DIRECTORY</id>
+ <enabled>Y</enabled>
+ <name>REPOSITORY_DIRECTORY</name>
+ </field>
+ <field>
+ <id>FILENAME</id>
+ <enabled>Y</enabled>
+ <name>FILENAME</name>
+ </field>
+ <field>
+ <id>OBJECT_ID</id>
+ <enabled>Y</enabled>
+ <name>OBJECT_ID</name>
+ </field>
+ <field>
+ <id>OBJECT_REVISION</id>
+ <enabled>Y</enabled>
+ <name>OBJECT_REVISION</name>
+ </field>
+ <field>
+ <id>PARENT_CHANNEL_ID</id>
+ <enabled>Y</enabled>
+ <name>PARENT_CHANNEL_ID</name>
+ </field>
+ <field>
+ <id>ROOT_CHANNEL_ID</id>
+ <enabled>Y</enabled>
+ <name>ROOT_CHANNEL_ID</name>
+ </field>
+ </channel-log-table>
+ <step-log-table>
+ <connection/>
+ <schema/>
+ <table/>
+ <timeout_days/>
+ <field>
+ <id>ID_BATCH</id>
+ <enabled>Y</enabled>
+ <name>ID_BATCH</name>
+ </field>
+ <field>
+ <id>CHANNEL_ID</id>
+ <enabled>Y</enabled>
+ <name>CHANNEL_ID</name>
+ </field>
+ <field>
+ <id>LOG_DATE</id>
+ <enabled>Y</enabled>
+ <name>LOG_DATE</name>
+ </field>
+ <field>
+ <id>TRANSNAME</id>
+ <enabled>Y</enabled>
+ <name>TRANSNAME</name>
+ </field>
+ <field>
+ <id>STEPNAME</id>
+ <enabled>Y</enabled>
+ <name>STEPNAME</name>
+ </field>
+ <field>
+ <id>STEP_COPY</id>
+ <enabled>Y</enabled>
+ <name>STEP_COPY</name>
+ </field>
+ <field>
+ <id>LINES_READ</id>
+ <enabled>Y</enabled>
+ <name>LINES_READ</name>
+ </field>
+ <field>
+ <id>LINES_WRITTEN</id>
+ <enabled>Y</enabled>
+ <name>LINES_WRITTEN</name>
+ </field>
+ <field>
+ <id>LINES_UPDATED</id>
+ <enabled>Y</enabled>
+ <name>LINES_UPDATED</name>
+ </field>
+ <field>
+ <id>LINES_INPUT</id>
+ <enabled>Y</enabled>
+ <name>LINES_INPUT</name>
+ </field>
+ <field>
+ <id>LINES_OUTPUT</id>
+ <enabled>Y</enabled>
+ <name>LINES_OUTPUT</name>
+ </field>
+ <field>
+ <id>LINES_REJECTED</id>
+ <enabled>Y</enabled>
+ <name>LINES_REJECTED</name>
+ </field>
+ <field>
+ <id>ERRORS</id>
+ <enabled>Y</enabled>
+ <name>ERRORS</name>
+ </field>
+ <field>
+ <id>LOG_FIELD</id>
+ <enabled>N</enabled>
+ <name>LOG_FIELD</name>
+ </field>
+ </step-log-table>
+ <metrics-log-table>
+ <connection/>
+ <schema/>
+ <table/>
+ <timeout_days/>
+ <field>
+ <id>ID_BATCH</id>
+ <enabled>Y</enabled>
+ <name>ID_BATCH</name>
+ </field>
+ <field>
+ <id>CHANNEL_ID</id>
+ <enabled>Y</enabled>
+ <name>CHANNEL_ID</name>
+ </field>
+ <field>
+ <id>LOG_DATE</id>
+ <enabled>Y</enabled>
+ <name>LOG_DATE</name>
+ </field>
+ <field>
+ <id>METRICS_DATE</id>
+ <enabled>Y</enabled>
+ <name>METRICS_DATE</name>
+ </field>
+ <field>
+ <id>METRICS_CODE</id>
+ <enabled>Y</enabled>
+ <name>METRICS_CODE</name>
+ </field>
+ <field>
+ <id>METRICS_DESCRIPTION</id>
+ <enabled>Y</enabled>
+ <name>METRICS_DESCRIPTION</name>
+ </field>
+ <field>
+ <id>METRICS_SUBJECT</id>
+ <enabled>Y</enabled>
+ <name>METRICS_SUBJECT</name>
+ </field>
+ <field>
+ <id>METRICS_TYPE</id>
+ <enabled>Y</enabled>
+ <name>METRICS_TYPE</name>
+ </field>
+ <field>
+ <id>METRICS_VALUE</id>
+ <enabled>Y</enabled>
+ <name>METRICS_VALUE</name>
+ </field>
+ </metrics-log-table>
+ </log>
+ <maxdate>
+ <connection/>
+ <table/>
+ <field/>
+ <offset>0.0</offset>
+ <maxdiff>0.0</maxdiff>
+ </maxdate>
+ <size_rowset>10000</size_rowset>
+ <sleep_time_empty>50</sleep_time_empty>
+ <sleep_time_full>50</sleep_time_full>
+ <unique_connections>N</unique_connections>
+ <feedback_shown>Y</feedback_shown>
+ <feedback_size>50000</feedback_size>
+ <using_thread_priorities>Y</using_thread_priorities>
+ <shared_objects_file/>
+ <capture_step_performance>N</capture_step_performance>
+ <step_performance_capturing_delay>1000</step_performance_capturing_delay>
+ <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>
+ <dependencies>
+ </dependencies>
+ <partitionschemas>
+ </partitionschemas>
+ <slaveservers>
+ </slaveservers>
+ <clusterschemas>
+ </clusterschemas>
+ <created_user>-</created_user>
+ <created_date>2024/09/06 14:04:36.322</created_date>
+ <modified_user>-</modified_user>
+ <modified_date>2024/09/06 14:04:36.322</modified_date>
+ <key_for_session_key/>
+ <is_key_private>N</is_key_private>
+ </info>
+ <notepads>
+ </notepads>
+ <connection>
+ <name>dw bi indoteknik</name>
+ <server>localhost</server>
+ <type>POSTGRESQL</type>
+ <access>Native</access>
+ <database>dw_bi_indoteknik</database>
+ <port>5703</port>
+ <username>metabase</username>
+ <password>Encrypted 2be98dfba28d7bf86853c9f58cfc4f889</password>
+ <servername/>
+ <data_tablespace/>
+ <index_tablespace/>
+ <attributes>
+ <attribute>
+ <code>FORCE_IDENTIFIERS_TO_LOWERCASE</code>
+ <attribute>N</attribute>
+ </attribute>
+ <attribute>
+ <code>FORCE_IDENTIFIERS_TO_UPPERCASE</code>
+ <attribute>N</attribute>
+ </attribute>
+ <attribute>
+ <code>IS_CLUSTERED</code>
+ <attribute>N</attribute>
+ </attribute>
+ <attribute>
+ <code>PORT_NUMBER</code>
+ <attribute>5703</attribute>
+ </attribute>
+ <attribute>
+ <code>PRESERVE_RESERVED_WORD_CASE</code>
+ <attribute>Y</attribute>
+ </attribute>
+ <attribute>
+ <code>QUOTE_ALL_FIELDS</code>
+ <attribute>N</attribute>
+ </attribute>
+ <attribute>
+ <code>SUPPORTS_BOOLEAN_DATA_TYPE</code>
+ <attribute>Y</attribute>
+ </attribute>
+ <attribute>
+ <code>SUPPORTS_TIMESTAMP_DATA_TYPE</code>
+ <attribute>Y</attribute>
+ </attribute>
+ <attribute>
+ <code>USE_POOLING</code>
+ <attribute>N</attribute>
+ </attribute>
+ </attributes>
+ </connection>
+ <order>
+ <hop>
+ <from>last year</from>
+ <to>parter last year</to>
+ <enabled>Y</enabled>
+ </hop>
+ <hop>
+ <from>partner</from>
+ <to>parter last year</to>
+ <enabled>Y</enabled>
+ </hop>
+ <hop>
+ <from>parter last year</from>
+ <to>last and now</to>
+ <enabled>Y</enabled>
+ </hop>
+ <hop>
+ <from>this year</from>
+ <to>last and now</to>
+ <enabled>Y</enabled>
+ </hop>
+ <hop>
+ <from>last and now</from>
+ <to>Select values</to>
+ <enabled>Y</enabled>
+ </hop>
+ <hop>
+ <from>Select values</from>
+ <to>Calculator</to>
+ <enabled>Y</enabled>
+ </hop>
+ <hop>
+ <from>Calculator</from>
+ <to>Select values 2</to>
+ <enabled>Y</enabled>
+ </hop>
+ </order>
+ <step>
+ <name>partner</name>
+ <type>TableInput</type>
+ <description/>
+ <distribute>Y</distribute>
+ <custom_distribution/>
+ <copies>1</copies>
+ <partitioning>
+ <method>none</method>
+ <schema_name/>
+ </partitioning>
+ <connection>dw bi indoteknik</connection>
+ <sql>select rp.id, coalesce(gp.name, rp.name) as group, rp.name as customer
+from res_partner rp
+left join group_partner gp on gp.id = rp.group_partner_id
+where rp.id in (
+ select partner_id
+ from account_move am
+ where am.state = 'posted' and am.move_type = 'out_invoice'
+)
+order by rp.id</sql>
+ <limit>0</limit>
+ <lookup/>
+ <execute_each_row>N</execute_each_row>
+ <variables_active>N</variables_active>
+ <lazy_conversion_active>N</lazy_conversion_active>
+ <cached_row_meta_active>N</cached_row_meta_active>
+ <row-meta>
+ <value-meta>
+ <type>Integer</type>
+ <storagetype>normal</storagetype>
+ <name>id</name>
+ <length>9</length>
+ <precision>0</precision>
+ <origin>partner</origin>
+ <comments>id</comments>
+ <conversion_Mask>####0;-####0</conversion_Mask>
+ <decimal_symbol>.</decimal_symbol>
+ <grouping_symbol>,</grouping_symbol>
+ <currency_symbol/>
+ <trim_type>none</trim_type>
+ <case_insensitive>N</case_insensitive>
+ <collator_disabled>Y</collator_disabled>
+ <collator_strength>0</collator_strength>
+ <sort_descending>N</sort_descending>
+ <output_padding>N</output_padding>
+ <date_format_lenient>N</date_format_lenient>
+ <date_format_locale>en_ID</date_format_locale>
+ <date_format_timezone>Asia/Bangkok</date_format_timezone>
+ <lenient_string_to_number>N</lenient_string_to_number>
+ </value-meta>
+ <value-meta>
+ <type>String</type>
+ <storagetype>normal</storagetype>
+ <name>group</name>
+ <length>2147483647</length>
+ <precision>-1</precision>
+ <origin>partner</origin>
+ <comments>group</comments>
+ <conversion_Mask/>
+ <decimal_symbol>.</decimal_symbol>
+ <grouping_symbol>,</grouping_symbol>
+ <currency_symbol/>
+ <trim_type>none</trim_type>
+ <case_insensitive>N</case_insensitive>
+ <collator_disabled>Y</collator_disabled>
+ <collator_strength>0</collator_strength>
+ <sort_descending>N</sort_descending>
+ <output_padding>N</output_padding>
+ <date_format_lenient>N</date_format_lenient>
+ <date_format_locale>en_ID</date_format_locale>
+ <date_format_timezone>Asia/Bangkok</date_format_timezone>
+ <lenient_string_to_number>N</lenient_string_to_number>
+ </value-meta>
+ <value-meta>
+ <type>String</type>
+ <storagetype>normal</storagetype>
+ <name>customer</name>
+ <length>2147483647</length>
+ <precision>-1</precision>
+ <origin>partner</origin>
+ <comments>customer</comments>
+ <conversion_Mask/>
+ <decimal_symbol>.</decimal_symbol>
+ <grouping_symbol>,</grouping_symbol>
+ <currency_symbol/>
+ <trim_type>none</trim_type>
+ <case_insensitive>N</case_insensitive>
+ <collator_disabled>Y</collator_disabled>
+ <collator_strength>0</collator_strength>
+ <sort_descending>N</sort_descending>
+ <output_padding>N</output_padding>
+ <date_format_lenient>N</date_format_lenient>
+ <date_format_locale>en_ID</date_format_locale>
+ <date_format_timezone>Asia/Bangkok</date_format_timezone>
+ <lenient_string_to_number>N</lenient_string_to_number>
+ </value-meta>
+ </row-meta>
+ <attributes/>
+ <cluster_schema/>
+ <remotesteps>
+ <input>
+ </input>
+ <output>
+ </output>
+ </remotesteps>
+ <GUI>
+ <xloc>176</xloc>
+ <yloc>192</yloc>
+ <draw>Y</draw>
+ </GUI>
+ </step>
+ <step>
+ <name>last year</name>
+ <type>TableInput</type>
+ <description/>
+ <distribute>Y</distribute>
+ <custom_distribution/>
+ <copies>1</copies>
+ <partitioning>
+ <method>none</method>
+ <schema_name/>
+ </partitioning>
+ <connection>dw bi indoteknik</connection>
+ <sql>select rp.id, coalesce(gp.name, rp.name) as group, rp.name as customer,
+sum(aml.price_subtotal) as ly_value, count(distinct am.name) as ly_trx
+from account_move am
+join res_partner rp on rp.id = am.partner_id
+join account_move_line aml on aml.move_id = am.id
+join product p on p.product_id = aml.product_id
+left join group_partner gp on gp.id = rp.group_partner_id
+where am.state = 'posted' and am.move_type = 'out_invoice'
+and am.date between get_first_day_last_year()::date and get_now_last_year()::date
+group by rp.id, gp.name, rp.name
+order by rp.id</sql>
+ <limit>0</limit>
+ <lookup/>
+ <execute_each_row>N</execute_each_row>
+ <variables_active>N</variables_active>
+ <lazy_conversion_active>N</lazy_conversion_active>
+ <cached_row_meta_active>N</cached_row_meta_active>
+ <row-meta>
+ <value-meta>
+ <type>Integer</type>
+ <storagetype>normal</storagetype>
+ <name>id</name>
+ <length>9</length>
+ <precision>0</precision>
+ <origin>last year</origin>
+ <comments>id</comments>
+ <conversion_Mask>####0;-####0</conversion_Mask>
+ <decimal_symbol>.</decimal_symbol>
+ <grouping_symbol>,</grouping_symbol>
+ <currency_symbol/>
+ <trim_type>none</trim_type>
+ <case_insensitive>N</case_insensitive>
+ <collator_disabled>Y</collator_disabled>
+ <collator_strength>0</collator_strength>
+ <sort_descending>N</sort_descending>
+ <output_padding>N</output_padding>
+ <date_format_lenient>N</date_format_lenient>
+ <date_format_locale>en_ID</date_format_locale>
+ <date_format_timezone>Asia/Bangkok</date_format_timezone>
+ <lenient_string_to_number>N</lenient_string_to_number>
+ </value-meta>
+ <value-meta>
+ <type>String</type>
+ <storagetype>normal</storagetype>
+ <name>group</name>
+ <length>2147483647</length>
+ <precision>-1</precision>
+ <origin>last year</origin>
+ <comments>group</comments>
+ <conversion_Mask/>
+ <decimal_symbol>.</decimal_symbol>
+ <grouping_symbol>,</grouping_symbol>
+ <currency_symbol/>
+ <trim_type>none</trim_type>
+ <case_insensitive>N</case_insensitive>
+ <collator_disabled>Y</collator_disabled>
+ <collator_strength>0</collator_strength>
+ <sort_descending>N</sort_descending>
+ <output_padding>N</output_padding>
+ <date_format_lenient>N</date_format_lenient>
+ <date_format_locale>en_ID</date_format_locale>
+ <date_format_timezone>Asia/Bangkok</date_format_timezone>
+ <lenient_string_to_number>N</lenient_string_to_number>
+ </value-meta>
+ <value-meta>
+ <type>String</type>
+ <storagetype>normal</storagetype>
+ <name>customer</name>
+ <length>2147483647</length>
+ <precision>-1</precision>
+ <origin>last year</origin>
+ <comments>customer</comments>
+ <conversion_Mask/>
+ <decimal_symbol>.</decimal_symbol>
+ <grouping_symbol>,</grouping_symbol>
+ <currency_symbol/>
+ <trim_type>none</trim_type>
+ <case_insensitive>N</case_insensitive>
+ <collator_disabled>Y</collator_disabled>
+ <collator_strength>0</collator_strength>
+ <sort_descending>N</sort_descending>
+ <output_padding>N</output_padding>
+ <date_format_lenient>N</date_format_lenient>
+ <date_format_locale>en_ID</date_format_locale>
+ <date_format_timezone>Asia/Bangkok</date_format_timezone>
+ <lenient_string_to_number>N</lenient_string_to_number>
+ </value-meta>
+ <value-meta>
+ <type>BigNumber</type>
+ <storagetype>normal</storagetype>
+ <name>ly_value</name>
+ <length>-1</length>
+ <precision>-1</precision>
+ <origin>last year</origin>
+ <comments>ly_value</comments>
+ <conversion_Mask>######0.0###################;-######0.0###################</conversion_Mask>
+ <decimal_symbol>.</decimal_symbol>
+ <grouping_symbol/>
+ <currency_symbol/>
+ <trim_type>none</trim_type>
+ <case_insensitive>N</case_insensitive>
+ <collator_disabled>Y</collator_disabled>
+ <collator_strength>0</collator_strength>
+ <sort_descending>N</sort_descending>
+ <output_padding>N</output_padding>
+ <date_format_lenient>N</date_format_lenient>
+ <date_format_locale>en_ID</date_format_locale>
+ <date_format_timezone>Asia/Bangkok</date_format_timezone>
+ <lenient_string_to_number>N</lenient_string_to_number>
+ </value-meta>
+ <value-meta>
+ <type>Integer</type>
+ <storagetype>normal</storagetype>
+ <name>ly_trx</name>
+ <length>15</length>
+ <precision>0</precision>
+ <origin>last year</origin>
+ <comments>ly_trx</comments>
+ <conversion_Mask>####0;-####0</conversion_Mask>
+ <decimal_symbol>.</decimal_symbol>
+ <grouping_symbol>,</grouping_symbol>
+ <currency_symbol/>
+ <trim_type>none</trim_type>
+ <case_insensitive>N</case_insensitive>
+ <collator_disabled>Y</collator_disabled>
+ <collator_strength>0</collator_strength>
+ <sort_descending>N</sort_descending>
+ <output_padding>N</output_padding>
+ <date_format_lenient>N</date_format_lenient>
+ <date_format_locale>en_ID</date_format_locale>
+ <date_format_timezone>Asia/Bangkok</date_format_timezone>
+ <lenient_string_to_number>N</lenient_string_to_number>
+ </value-meta>
+ </row-meta>
+ <attributes/>
+ <cluster_schema/>
+ <remotesteps>
+ <input>
+ </input>
+ <output>
+ </output>
+ </remotesteps>
+ <GUI>
+ <xloc>272</xloc>
+ <yloc>96</yloc>
+ <draw>Y</draw>
+ </GUI>
+ </step>
+ <step>
+ <name>parter last year</name>
+ <type>MergeJoin</type>
+ <description/>
+ <distribute>Y</distribute>
+ <custom_distribution/>
+ <copies>1</copies>
+ <partitioning>
+ <method>none</method>
+ <schema_name/>
+ </partitioning>
+ <join_type>LEFT OUTER</join_type>
+ <step1>partner</step1>
+ <step2>last year</step2>
+ <keys_1>
+ <key>id</key>
+ </keys_1>
+ <keys_2>
+ <key>id</key>
+ </keys_2>
+ <attributes/>
+ <cluster_schema/>
+ <remotesteps>
+ <input>
+ </input>
+ <output>
+ </output>
+ </remotesteps>
+ <GUI>
+ <xloc>272</xloc>
+ <yloc>192</yloc>
+ <draw>Y</draw>
+ </GUI>
+ </step>
+ <step>
+ <name>this year</name>
+ <type>TableInput</type>
+ <description/>
+ <distribute>Y</distribute>
+ <custom_distribution/>
+ <copies>1</copies>
+ <partitioning>
+ <method>none</method>
+ <schema_name/>
+ </partitioning>
+ <connection>dw bi indoteknik</connection>
+ <sql>select rp.id, coalesce(gp.name, rp.name) as group, rp.name as customer,
+sum(aml.price_subtotal) as fy_value, count(distinct am.name) as fy_trx
+from account_move am
+join res_partner rp on rp.id = am.partner_id
+join account_move_line aml on aml.move_id = am.id
+join product p on p.product_id = aml.product_id
+left join group_partner gp on gp.id = rp.group_partner_id
+where am.state = 'posted' and am.move_type = 'out_invoice'
+and am.date between get_first_day_current_year()::date and get_now()::date
+group by rp.id, gp.name, rp.name
+order by rp.id</sql>
+ <limit>0</limit>
+ <lookup/>
+ <execute_each_row>N</execute_each_row>
+ <variables_active>N</variables_active>
+ <lazy_conversion_active>N</lazy_conversion_active>
+ <cached_row_meta_active>N</cached_row_meta_active>
+ <row-meta>
+ <value-meta>
+ <type>Integer</type>
+ <storagetype>normal</storagetype>
+ <name>id</name>
+ <length>9</length>
+ <precision>0</precision>
+ <origin>this year</origin>
+ <comments>id</comments>
+ <conversion_Mask>####0;-####0</conversion_Mask>
+ <decimal_symbol>.</decimal_symbol>
+ <grouping_symbol>,</grouping_symbol>
+ <currency_symbol/>
+ <trim_type>none</trim_type>
+ <case_insensitive>N</case_insensitive>
+ <collator_disabled>Y</collator_disabled>
+ <collator_strength>0</collator_strength>
+ <sort_descending>N</sort_descending>
+ <output_padding>N</output_padding>
+ <date_format_lenient>N</date_format_lenient>
+ <date_format_locale>en_ID</date_format_locale>
+ <date_format_timezone>Asia/Bangkok</date_format_timezone>
+ <lenient_string_to_number>N</lenient_string_to_number>
+ </value-meta>
+ <value-meta>
+ <type>String</type>
+ <storagetype>normal</storagetype>
+ <name>group</name>
+ <length>2147483647</length>
+ <precision>-1</precision>
+ <origin>this year</origin>
+ <comments>group</comments>
+ <conversion_Mask/>
+ <decimal_symbol>.</decimal_symbol>
+ <grouping_symbol>,</grouping_symbol>
+ <currency_symbol/>
+ <trim_type>none</trim_type>
+ <case_insensitive>N</case_insensitive>
+ <collator_disabled>Y</collator_disabled>
+ <collator_strength>0</collator_strength>
+ <sort_descending>N</sort_descending>
+ <output_padding>N</output_padding>
+ <date_format_lenient>N</date_format_lenient>
+ <date_format_locale>en_ID</date_format_locale>
+ <date_format_timezone>Asia/Bangkok</date_format_timezone>
+ <lenient_string_to_number>N</lenient_string_to_number>
+ </value-meta>
+ <value-meta>
+ <type>String</type>
+ <storagetype>normal</storagetype>
+ <name>customer</name>
+ <length>2147483647</length>
+ <precision>-1</precision>
+ <origin>this year</origin>
+ <comments>customer</comments>
+ <conversion_Mask/>
+ <decimal_symbol>.</decimal_symbol>
+ <grouping_symbol>,</grouping_symbol>
+ <currency_symbol/>
+ <trim_type>none</trim_type>
+ <case_insensitive>N</case_insensitive>
+ <collator_disabled>Y</collator_disabled>
+ <collator_strength>0</collator_strength>
+ <sort_descending>N</sort_descending>
+ <output_padding>N</output_padding>
+ <date_format_lenient>N</date_format_lenient>
+ <date_format_locale>en_ID</date_format_locale>
+ <date_format_timezone>Asia/Bangkok</date_format_timezone>
+ <lenient_string_to_number>N</lenient_string_to_number>
+ </value-meta>
+ <value-meta>
+ <type>BigNumber</type>
+ <storagetype>normal</storagetype>
+ <name>fy_value</name>
+ <length>-1</length>
+ <precision>-1</precision>
+ <origin>this year</origin>
+ <comments>fy_value</comments>
+ <conversion_Mask>######0.0###################;-######0.0###################</conversion_Mask>
+ <decimal_symbol>.</decimal_symbol>
+ <grouping_symbol/>
+ <currency_symbol/>
+ <trim_type>none</trim_type>
+ <case_insensitive>N</case_insensitive>
+ <collator_disabled>Y</collator_disabled>
+ <collator_strength>0</collator_strength>
+ <sort_descending>N</sort_descending>
+ <output_padding>N</output_padding>
+ <date_format_lenient>N</date_format_lenient>
+ <date_format_locale>en_ID</date_format_locale>
+ <date_format_timezone>Asia/Bangkok</date_format_timezone>
+ <lenient_string_to_number>N</lenient_string_to_number>
+ </value-meta>
+ <value-meta>
+ <type>Integer</type>
+ <storagetype>normal</storagetype>
+ <name>fy_trx</name>
+ <length>15</length>
+ <precision>0</precision>
+ <origin>this year</origin>
+ <comments>fy_trx</comments>
+ <conversion_Mask>####0;-####0</conversion_Mask>
+ <decimal_symbol>.</decimal_symbol>
+ <grouping_symbol>,</grouping_symbol>
+ <currency_symbol/>
+ <trim_type>none</trim_type>
+ <case_insensitive>N</case_insensitive>
+ <collator_disabled>Y</collator_disabled>
+ <collator_strength>0</collator_strength>
+ <sort_descending>N</sort_descending>
+ <output_padding>N</output_padding>
+ <date_format_lenient>N</date_format_lenient>
+ <date_format_locale>en_ID</date_format_locale>
+ <date_format_timezone>Asia/Bangkok</date_format_timezone>
+ <lenient_string_to_number>N</lenient_string_to_number>
+ </value-meta>
+ </row-meta>
+ <attributes/>
+ <cluster_schema/>
+ <remotesteps>
+ <input>
+ </input>
+ <output>
+ </output>
+ </remotesteps>
+ <GUI>
+ <xloc>400</xloc>
+ <yloc>96</yloc>
+ <draw>Y</draw>
+ </GUI>
+ </step>
+ <step>
+ <name>last and now</name>
+ <type>MergeJoin</type>
+ <description/>
+ <distribute>Y</distribute>
+ <custom_distribution/>
+ <copies>1</copies>
+ <partitioning>
+ <method>none</method>
+ <schema_name/>
+ </partitioning>
+ <join_type>LEFT OUTER</join_type>
+ <step1>parter last year</step1>
+ <step2>this year</step2>
+ <keys_1>
+ <key>id</key>
+ </keys_1>
+ <keys_2>
+ <key>id</key>
+ </keys_2>
+ <attributes/>
+ <cluster_schema/>
+ <remotesteps>
+ <input>
+ </input>
+ <output>
+ </output>
+ </remotesteps>
+ <GUI>
+ <xloc>400</xloc>
+ <yloc>192</yloc>
+ <draw>Y</draw>
+ </GUI>
+ </step>
+ <step>
+ <name>Select values</name>
+ <type>SelectValues</type>
+ <description/>
+ <distribute>Y</distribute>
+ <custom_distribution/>
+ <copies>1</copies>
+ <partitioning>
+ <method>none</method>
+ <schema_name/>
+ </partitioning>
+ <fields>
+ <field>
+ <name>id</name>
+ <rename/>
+ </field>
+ <field>
+ <name>group</name>
+ <rename/>
+ </field>
+ <field>
+ <name>customer</name>
+ <rename/>
+ </field>
+ <field>
+ <name>fy_value</name>
+ <rename/>
+ </field>
+ <field>
+ <name>fy_trx</name>
+ <rename/>
+ </field>
+ <field>
+ <name>ly_value</name>
+ <rename/>
+ </field>
+ <field>
+ <name>ly_trx</name>
+ <rename/>
+ </field>
+ <select_unspecified>N</select_unspecified>
+ </fields>
+ <attributes/>
+ <cluster_schema/>
+ <remotesteps>
+ <input>
+ </input>
+ <output>
+ </output>
+ </remotesteps>
+ <GUI>
+ <xloc>528</xloc>
+ <yloc>192</yloc>
+ <draw>Y</draw>
+ </GUI>
+ </step>
+ <step>
+ <name>Calculator</name>
+ <type>Calculator</type>
+ <description/>
+ <distribute>Y</distribute>
+ <custom_distribution/>
+ <copies>1</copies>
+ <partitioning>
+ <method>none</method>
+ <schema_name/>
+ </partitioning>
+ <failIfNoFile>Y</failIfNoFile>
+ <calculation>
+ <field_name>diff_value</field_name>
+ <calc_type>SUBTRACT</calc_type>
+ <field_a>fy_value</field_a>
+ <field_b>ly_value</field_b>
+ <field_c/>
+ <value_type>None</value_type>
+ <value_length>-1</value_length>
+ <value_precision>-1</value_precision>
+ <remove>N</remove>
+ <conversion_mask/>
+ <decimal_symbol/>
+ <grouping_symbol/>
+ <currency_symbol/>
+ </calculation>
+ <calculation>
+ <field_name>diff_trx</field_name>
+ <calc_type>SUBTRACT</calc_type>
+ <field_a>fy_trx</field_a>
+ <field_b>ly_trx</field_b>
+ <field_c/>
+ <value_type>None</value_type>
+ <value_length>-1</value_length>
+ <value_precision>-1</value_precision>
+ <remove>N</remove>
+ <conversion_mask/>
+ <decimal_symbol/>
+ <grouping_symbol/>
+ <currency_symbol/>
+ </calculation>
+ <calculation>
+ <field_name>growth_value</field_name>
+ <calc_type>DIVIDE</calc_type>
+ <field_a>diff_value</field_a>
+ <field_b>ly_value</field_b>
+ <field_c/>
+ <value_type>None</value_type>
+ <value_length>-1</value_length>
+ <value_precision>-1</value_precision>
+ <remove>N</remove>
+ <conversion_mask/>
+ <decimal_symbol/>
+ <grouping_symbol/>
+ <currency_symbol/>
+ </calculation>
+ <calculation>
+ <field_name>growth_trx</field_name>
+ <calc_type>DIVIDE</calc_type>
+ <field_a>diff_trx</field_a>
+ <field_b>ly_trx</field_b>
+ <field_c/>
+ <value_type>None</value_type>
+ <value_length>-1</value_length>
+ <value_precision>-1</value_precision>
+ <remove>N</remove>
+ <conversion_mask/>
+ <decimal_symbol/>
+ <grouping_symbol/>
+ <currency_symbol/>
+ </calculation>
+ <attributes/>
+ <cluster_schema/>
+ <remotesteps>
+ <input>
+ </input>
+ <output>
+ </output>
+ </remotesteps>
+ <GUI>
+ <xloc>640</xloc>
+ <yloc>192</yloc>
+ <draw>Y</draw>
+ </GUI>
+ </step>
+ <step>
+ <name>Select values 2</name>
+ <type>SelectValues</type>
+ <description/>
+ <distribute>Y</distribute>
+ <custom_distribution/>
+ <copies>1</copies>
+ <partitioning>
+ <method>none</method>
+ <schema_name/>
+ </partitioning>
+ <fields>
+ <field>
+ <name>id</name>
+ <rename/>
+ </field>
+ <field>
+ <name>group</name>
+ <rename/>
+ </field>
+ <field>
+ <name>customer</name>
+ <rename/>
+ </field>
+ <field>
+ <name>fy_value</name>
+ <rename/>
+ </field>
+ <field>
+ <name>fy_trx</name>
+ <rename/>
+ </field>
+ <field>
+ <name>ly_value</name>
+ <rename/>
+ </field>
+ <field>
+ <name>ly_trx</name>
+ <rename/>
+ </field>
+ <field>
+ <name>growth_value</name>
+ <rename/>
+ </field>
+ <field>
+ <name>growth_trx</name>
+ <rename/>
+ </field>
+ <select_unspecified>N</select_unspecified>
+ </fields>
+ <attributes/>
+ <cluster_schema/>
+ <remotesteps>
+ <input>
+ </input>
+ <output>
+ </output>
+ </remotesteps>
+ <GUI>
+ <xloc>752</xloc>
+ <yloc>192</yloc>
+ <draw>Y</draw>
+ </GUI>
+ </step>
+ <step_error_handling>
+ </step_error_handling>
+ <slave-step-copy-partition-distribution>
+ </slave-step-copy-partition-distribution>
+ <slave_transformation>N</slave_transformation>
+ <attributes/>
+</transformation>