From 671e3014f2e61bd07f0039f299284a8fb71e10c7 Mon Sep 17 00:00:00 2001 From: stephanchrst Date: Mon, 28 Jul 2025 11:06:51 +0700 Subject: modified calculate sales 3 years --- calculate_sales_3_years.ktr | 1590 +++++++++++++++++++++++++++++++++++++ import_all_data_bi_indoteknik.kjb | 62 +- 2 files changed, 1645 insertions(+), 7 deletions(-) create mode 100644 calculate_sales_3_years.ktr diff --git a/calculate_sales_3_years.ktr b/calculate_sales_3_years.ktr new file mode 100644 index 0000000..98426af --- /dev/null +++ b/calculate_sales_3_years.ktr @@ -0,0 +1,1590 @@ + + + + calculate_sales_3_years + + + + Normal + / + + + + + + + + + + + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + TRANSNAME + Y + TRANSNAME + + + STATUS + Y + STATUS + + + LINES_READ + Y + LINES_READ + + + + LINES_WRITTEN + Y + LINES_WRITTEN + + + + LINES_UPDATED + Y + LINES_UPDATED + + + + LINES_INPUT + Y + LINES_INPUT + + + + LINES_OUTPUT + Y + LINES_OUTPUT + + + + LINES_REJECTED + Y + LINES_REJECTED + + + + ERRORS + Y + ERRORS + + + STARTDATE + Y + STARTDATE + + + ENDDATE + Y + ENDDATE + + + LOGDATE + Y + LOGDATE + + + DEPDATE + Y + DEPDATE + + + REPLAYDATE + Y + REPLAYDATE + + + LOG_FIELD + Y + LOG_FIELD + + + EXECUTING_SERVER + N + EXECUTING_SERVER + + + EXECUTING_USER + N + EXECUTING_USER + + + CLIENT + N + CLIENT + + + + + +
+ + + + ID_BATCH + Y + ID_BATCH + + + SEQ_NR + Y + SEQ_NR + + + LOGDATE + Y + LOGDATE + + + TRANSNAME + Y + TRANSNAME + + + STEPNAME + Y + STEPNAME + + + STEP_COPY + Y + STEP_COPY + + + LINES_READ + Y + LINES_READ + + + LINES_WRITTEN + Y + LINES_WRITTEN + + + LINES_UPDATED + Y + LINES_UPDATED + + + LINES_INPUT + Y + LINES_INPUT + + + LINES_OUTPUT + Y + LINES_OUTPUT + + + LINES_REJECTED + Y + LINES_REJECTED + + + ERRORS + Y + ERRORS + + + INPUT_BUFFER_ROWS + Y + INPUT_BUFFER_ROWS + + + OUTPUT_BUFFER_ROWS + Y + OUTPUT_BUFFER_ROWS + + + + + +
+ + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + LOG_DATE + Y + LOG_DATE + + + LOGGING_OBJECT_TYPE + Y + LOGGING_OBJECT_TYPE + + + OBJECT_NAME + Y + OBJECT_NAME + + + OBJECT_COPY + Y + OBJECT_COPY + + + REPOSITORY_DIRECTORY + Y + REPOSITORY_DIRECTORY + + + FILENAME + Y + FILENAME + + + OBJECT_ID + Y + OBJECT_ID + + + OBJECT_REVISION + Y + OBJECT_REVISION + + + PARENT_CHANNEL_ID + Y + PARENT_CHANNEL_ID + + + ROOT_CHANNEL_ID + Y + ROOT_CHANNEL_ID + + + + + +
+ + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + LOG_DATE + Y + LOG_DATE + + + TRANSNAME + Y + TRANSNAME + + + STEPNAME + Y + STEPNAME + + + STEP_COPY + Y + STEP_COPY + + + LINES_READ + Y + LINES_READ + + + LINES_WRITTEN + Y + LINES_WRITTEN + + + LINES_UPDATED + Y + LINES_UPDATED + + + LINES_INPUT + Y + LINES_INPUT + + + LINES_OUTPUT + Y + LINES_OUTPUT + + + LINES_REJECTED + Y + LINES_REJECTED + + + ERRORS + Y + ERRORS + + + LOG_FIELD + N + LOG_FIELD + + + + + +
+ + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + LOG_DATE + Y + LOG_DATE + + + METRICS_DATE + Y + METRICS_DATE + + + METRICS_CODE + Y + METRICS_CODE + + + METRICS_DESCRIPTION + Y + METRICS_DESCRIPTION + + + METRICS_SUBJECT + Y + METRICS_SUBJECT + + + METRICS_TYPE + Y + METRICS_TYPE + + + METRICS_VALUE + Y + METRICS_VALUE + + + + + +
+ + 0.0 + 0.0 + + 10000 + 50 + 50 + N + Y + 50000 + Y + + N + 1000 + 100 + + + + + + + + + - + 2025/07/17 09:13:54.721 + - + 2025/07/17 09:13:54.721 + H4sIAAAAAAAAAAMAAAAAAAAAAAA= + N + + + + + dw bi indoteknik (localhost) + localhost + POSTGRESQL + Native + dw_bi_indoteknik + 5432 + odoo + Encrypted 2be98afc82bdfd8dd9a2ca45acc83f6c3 + + + + + + FORCE_IDENTIFIERS_TO_LOWERCASE + N + + + FORCE_IDENTIFIERS_TO_UPPERCASE + N + + + IS_CLUSTERED + N + + + PORT_NUMBER + 5432 + + + PRESERVE_RESERVED_WORD_CASE + Y + + + QUOTE_ALL_FIELDS + N + + + SUPPORTS_BOOLEAN_DATA_TYPE + Y + + + SUPPORTS_TIMESTAMP_DATA_TYPE + N + + + USE_POOLING + N + + + + + + partner id only + partner id + 2 years ago + Y + + + 2 years ago + partner id + 2 years ago + Y + + + partner id + 2 years ago + 2 years ago + last year + Y + + + last year + 2 years ago + last year + Y + + + 2 years ago + last year + full 3 years + Y + + + this year + full 3 years + Y + + + full 3 years + If field value is null + Y + + + If field value is null + Select values + Y + + + Select values + Calculator + Y + + + Calculator + Select values 2 + Y + + + Select values 2 + Filter rows + Y + + + Filter rows + Insert / update + Y + + + Filter rows + Write to log + Y + + + + 2 years ago + TableInput + + Y + + 1 + + none + + + dw bi indoteknik (localhost) + select a.partner_id, sum(a.amount_untaxed_signed) as subtotal, count(distinct a.id) as trx +from account_move a +where 1=1 +and a.state = 'posted' +and a.move_type = 'out_invoice' +and to_char(a.date, 'YYYY') = to_char(now()-interval '2 years', 'YYYY') +group by a.partner_id +order by a.partner_id + 0 + + N + N + N + N + + + Integer + normal + partner_id + 9 + 0 + 2 years ago + partner_id + ####0;-####0 + . + , + + none + N + Y + 0 + N + N + N + en_US + Asia/Bangkok + N + + + BigNumber + normal + subtotal + -1 + -1 + 2 years ago + subtotal + ######0.0###################;-######0.0################### + . + + + none + N + Y + 0 + N + N + N + en_US + Asia/Bangkok + N + + + + + + + + + + + + 352 + 208 + Y + + + + 2 years ago + last year + MergeJoin + + Y + + 1 + + none + + + LEFT OUTER + partner id + 2 years ago + last year + + partner_id + + + partner_id + + + + + + + + + + + 544 + 96 + Y + + + + Calculator + Calculator + + Y + + 1 + + none + + + Y + + total_value_1 + ADD + value_ty-2 + value_ty-1 + + None + -1 + -1 + N + + + + + + + total_value + ADD + total_value_1 + value_ty + + None + -1 + -1 + N + + + + + + + total_trx_1 + ADD + trx_ty-2 + trx_ty-1 + + None + -1 + -1 + N + + + + + + + total_trx + ADD + total_trx_1 + trx_ty + + None + -1 + -1 + N + + + + + + + + + + + + + + + 1152 + 96 + Y + + + + Filter rows + FilterRows + + Y + + 1 + + none + + + Insert / update + Write to log + + + N + + + N + total_value + > + + + constant + Number + 0.0 + -1 + -1 + N + ####0.0#########;-####0.0######### + + + + N + OR + total_trx + > + + + constant + Number + 0.0 + -1 + -1 + N + ####0.0#########;-####0.0######### + + + + + + + + + + + + + + + 1008 + 208 + Y + + + + If field value is null + IfNull + + Y + + 1 + + none + + + 0 + + Y + N + N + + + + + subtotal + 0 + + N + + + subtotal_1 + 0 + + N + + + subtotal_2 + 0 + + N + + + trx + 0 + + N + + + trx_1 + 0 + + N + + + trx_2 + 0 + + N + + + + + + + + + + + + 864 + 96 + Y + + + + Insert / update + InsertUpdate + + Y + + 1 + + none + + + dw bi indoteknik (localhost) + 100 + N + + public +
sales_and_trx_yearly
+ + partner_id + partner_id + = + + + + partner_id + partner_id + N + + + partner_name + partner_name + Y + + + industry + industry + Y + + + salesperson + salesperson + Y + + + value_ty-2 + value_ty-2 + Y + + + trx_ty-2 + trx_ty-2 + Y + + + value_ty-1 + value_ty-1 + Y + + + trx_ty-1 + trx_ty-1 + Y + + + value_ty + value_ty + Y + + + trx_ty + trx_ty + Y + + + total_value + total_value + Y + + + total_trx + total_trx + Y + + + + + + + + + + + + 864 + 208 + Y + + + + Select values + SelectValues + + Y + + 1 + + none + + + + + partner_id + + + partner_name + + + industry + + + salesperson + + + subtotal + value_ty-2 + + + trx + trx_ty-2 + + + subtotal_1 + value_ty-1 + + + trx_1 + trx_ty-1 + + + subtotal_2 + value_ty + + + trx_2 + trx_ty + + N + + + + + + + + + + + 1008 + 96 + Y + + + + Select values 2 + SelectValues + + Y + + 1 + + none + + + + + partner_id + + + partner_name + + + industry + + + salesperson + + + value_ty-2 + + + trx_ty-2 + + + value_ty-1 + + + trx_ty-1 + + + value_ty + + + trx_ty + + + total_value + + + total_trx + + N + + + + + + + + + + + 1152 + 208 + Y + + + + Write to log + WriteToLog + + Y + + 1 + + none + + + log_level_basic + Y + N + 0 + + + + + + + + + + + + + 1008 + 304 + Y + + + + full 3 years + MergeJoin + + Y + + 1 + + none + + + LEFT OUTER + 2 years ago + last year + this year + + partner_id + + + partner_id + + + + + + + + + + + 720 + 96 + Y + + + + last year + TableInput + + Y + + 1 + + none + + + dw bi indoteknik (localhost) + select a.partner_id, sum(a.amount_untaxed_signed) as subtotal, count(distinct a.id) as trx +from account_move a +where 1=1 +and a.state = 'posted' +and a.move_type = 'out_invoice' +and to_char(a.date, 'YYYY') = to_char(now()-interval '1 years', 'YYYY') +group by a.partner_id +order by a.partner_id + 0 + + N + N + N + N + + + Integer + normal + partner_id + 9 + 0 + last year + partner_id + ####0;-####0 + . + , + + none + N + Y + 0 + N + N + N + en_US + Asia/Bangkok + N + + + BigNumber + normal + subtotal + -1 + -1 + last year + subtotal + ######0.0###################;-######0.0################### + . + + + none + N + Y + 0 + N + N + N + en_US + Asia/Bangkok + N + + + Integer + normal + trx + 15 + 0 + last year + trx + ####0;-####0 + . + , + + none + N + Y + 0 + N + N + N + en_US + Asia/Bangkok + N + + + + + + + + + + + + 544 + 208 + Y + + + + partner id + 2 years ago + MergeJoin + + Y + + 1 + + none + + + LEFT OUTER + partner id only + 2 years ago + + partner_id + + + partner_id + + + + + + + + + + + 352 + 96 + Y + + + + partner id only + TableInput + + Y + + 1 + + none + + + dw bi indoteknik (localhost) + select distinct a2.partner_id, rp."name" as partner_name, r.name as industry, rp2.name as salesperson +from account_move_line a +join account_move a2 on a2.id = a.move_id +left join res_partner rp on rp.id = a2.partner_id +left join res_partner_industry r on r.id = rp.industry_id +left join res_users r2 on r2.id = rp.user_id +left join res_partner rp2 on rp2.id = r2.partner_id +where 1=1 +and a2.state = 'posted' +and a2.move_type = 'out_invoice' +order by a2.partner_id + 0 + + N + N + N + N + + + Integer + normal + partner_id + 9 + 0 + partner id only + partner_id + ####0;-####0 + . + , + + none + N + Y + 0 + N + N + N + en_US + Asia/Bangkok + N + + + String + normal + partner_name + 2147483647 + -1 + partner id only + partner_name + + . + , + + none + N + Y + 0 + N + N + N + en_US + Asia/Bangkok + N + + + String + normal + industry + 2147483647 + -1 + partner id only + industry + + . + , + + none + N + Y + 0 + N + N + N + en_US + Asia/Bangkok + N + + + String + normal + salesperson + 2147483647 + -1 + partner id only + salesperson + + . + , + + none + N + Y + 0 + N + N + N + en_US + Asia/Bangkok + N + + + + + + + + + + + + 192 + 96 + Y + + + + this year + TableInput + + Y + + 1 + + none + + + dw bi indoteknik (localhost) + select a.partner_id, sum(a.amount_untaxed_signed) as subtotal, count(distinct a.id) as trx +from account_move a +where 1=1 +and a.state = 'posted' +and a.move_type = 'out_invoice' +and to_char(a.date, 'YYYY') = to_char(now(), 'YYYY') +group by a.partner_id +order by a.partner_id + 0 + + N + N + N + N + + + Integer + normal + partner_id + 9 + 0 + this year + partner_id + ####0;-####0 + . + , + + none + N + Y + 0 + N + N + N + en_US + Asia/Bangkok + N + + + BigNumber + normal + subtotal + -1 + -1 + this year + subtotal + ######0.0###################;-######0.0################### + . + + + none + N + Y + 0 + N + N + N + en_US + Asia/Bangkok + N + + + Integer + normal + trx + 15 + 0 + this year + trx + ####0;-####0 + . + , + + none + N + Y + 0 + N + N + N + en_US + Asia/Bangkok + N + + + + + + + + + + + + 720 + 208 + Y + + + + + + + N + +
diff --git a/import_all_data_bi_indoteknik.kjb b/import_all_data_bi_indoteknik.kjb index 61bd530..523ca47 100644 --- a/import_all_data_bi_indoteknik.kjb +++ b/import_all_data_bi_indoteknik.kjb @@ -1654,8 +1654,8 @@ N Y 0 - 1088 - 640 + 960 + 528 @@ -1693,8 +1693,8 @@ N Y 0 - 880 - 640 + 1184 + 528 @@ -1732,7 +1732,7 @@ N Y 0 - 672 + 1184 640 @@ -1744,7 +1744,7 @@ N Y 0 - 400 + 608 640 @@ -1783,7 +1783,46 @@ N Y 0 - 528 + 960 + 640 + + + + calculate sales 3 years + + TRANS + + filename + + /home/stephan/transformation-job-bi/calculate_sales_3_years.ktr + + N + N + N + N + N + N + + + N + N + Basic + N + + N + Y + N + N + N + Pentaho local + N + + Y + + N + Y + 0 + 752 640 @@ -2133,6 +2172,15 @@ new current customer + calculate sales 3 years + 0 + 0 + Y + Y + N + + + calculate sales 3 years Success 0 0 -- cgit v1.2.3