ervu-dashboard-etl/v1_apache-hop dash mapping/region/main_dashboard.recruitment_campaign(reg).hpl
2025-01-30 18:08:59 +03:00

321 lines
9.3 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<pipeline>
<info>
<name>main_dashboard.recruitment_campaign(reg)</name>
<name_sync_with_filename>Y</name_sync_with_filename>
<description/>
<extended_description/>
<pipeline_version/>
<pipeline_type>Normal</pipeline_type>
<pipeline_status>0</pipeline_status>
<parameters>
</parameters>
<capture_transform_performance>N</capture_transform_performance>
<transform_performance_capturing_delay>1000</transform_performance_capturing_delay>
<transform_performance_capturing_size_limit>100</transform_performance_capturing_size_limit>
<created_user>-</created_user>
<created_date>2024/08/02 11:56:22.507</created_date>
<modified_user>-</modified_user>
<modified_date>2024/08/02 11:56:22.507</modified_date>
</info>
<notepads>
</notepads>
<order>
<hop>
<from>Get variables 4 3</from>
<to>Select values 4 3</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Table input (subpoena) регион/осень</from>
<to>Get variables 4 3</to>
<enabled>Y</enabled>
</hop>
<hop>
<from>Select values 4 3</from>
<to>Insert / update (main_dashboard.recruitment_campaign)</to>
<enabled>Y</enabled>
</hop>
</order>
<transform>
<name>Get variables 4 3</name>
<type>GetVariable</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<fields>
<field>
<length>-1</length>
<name>REG_ID</name>
<precision>-1</precision>
<trim_type>none</trim_type>
<type>String</type>
</field>
<field>
<length>-1</length>
<name>VK_ARRAY</name>
<precision>-1</precision>
<trim_type>none</trim_type>
<type>String</type>
</field>
</fields>
<attributes/>
<GUI>
<xloc>880</xloc>
<yloc>480</yloc>
</GUI>
</transform>
<transform>
<name>Insert / update (main_dashboard.recruitment_campaign)</name>
<type>InsertUpdate</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<commit>100</commit>
<connection>ervu-dashboard</connection>
<lookup>
<key>
<condition>=</condition>
<field>recruitment_id</field>
<name>REG_ID</name>
</key>
<key>
<condition>=</condition>
<field>schema</field>
<name>schema</name>
</key>
<key>
<condition>=</condition>
<field>spring_autumn</field>
<name>spring_autumn</name>
</key>
<schema>main_dashboard</schema>
<table>recruitment_campaign</table>
<value>
<name>subpoenas_sent</name>
<rename>count_subpoena</rename>
<update>Y</update>
</value>
<value>
<name>appeared_on_subpoenas</name>
<rename>count_appeared</rename>
<update>Y</update>
</value>
<value>
<name>not_appeared_on_subpoenas</name>
<rename>count_not_appeared</rename>
<update>Y</update>
</value>
<value>
<name>new_recruits</name>
<rename>new_recruits</rename>
<update>Y</update>
</value>
<value>
<name>postponement_have_right</name>
<rename>postponement_have_right</rename>
<update>Y</update>
</value>
<value>
<name>postponement_granted</name>
<rename>postponement_granted</rename>
<update>Y</update>
</value>
<value>
<name>appeared_on_subpoenas_percent</name>
<rename>appeared_on_subpoenas_percent</rename>
<update>Y</update>
</value>
<value>
<name>not_appeared_on_subpoenas_percent</name>
<rename>not_appeared_on_subpoenas_percent</rename>
<update>Y</update>
</value>
<value>
<name>postponement_have_right_percent</name>
<rename>postponement_have_right_percent</rename>
<update>Y</update>
</value>
<value>
<name>postponement_granted_percent</name>
<rename>postponement_granted_percent</rename>
<update>Y</update>
</value>
<value>
<name>recruitment_id</name>
<rename>recruitment_id</rename>
<update>N</update>
</value>
<value>
<name>spring_autumn</name>
<rename>spring_autumn</rename>
<update>N</update>
</value>
<value>
<name>schema</name>
<rename>schema</rename>
<update>N</update>
</value>
</lookup>
<update_bypassed>N</update_bypassed>
<attributes/>
<GUI>
<xloc>1376</xloc>
<yloc>480</yloc>
</GUI>
</transform>
<transform>
<name>Select values 4 3</name>
<type>SelectValues</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<fields>
<select_unspecified>N</select_unspecified>
<meta>
<name>REG_ID</name>
<rename>REG_ID</rename>
<type>String</type>
<length>-2</length>
<precision>-2</precision>
<conversion_mask/>
<date_format_lenient>false</date_format_lenient>
<date_format_locale/>
<date_format_timezone/>
<lenient_string_to_number>false</lenient_string_to_number>
<encoding/>
<decimal_symbol/>
<grouping_symbol/>
<currency_symbol/>
<storage_type/>
</meta>
<meta>
<name>VK_ARRAY</name>
<rename>VK_ARRAY</rename>
<type>String</type>
<length>-2</length>
<precision>-2</precision>
<conversion_mask/>
<date_format_lenient>false</date_format_lenient>
<date_format_locale/>
<date_format_timezone/>
<lenient_string_to_number>false</lenient_string_to_number>
<encoding/>
<decimal_symbol/>
<grouping_symbol/>
<currency_symbol/>
<storage_type/>
</meta>
</fields>
<attributes/>
<GUI>
<xloc>1056</xloc>
<yloc>480</yloc>
</GUI>
</transform>
<transform>
<name>Table input (subpoena) регион/осень</name>
<type>TableInput</type>
<description/>
<distribute>Y</distribute>
<custom_distribution/>
<copies>1</copies>
<partitioning>
<method>none</method>
<schema_name/>
</partitioning>
<connection>ervu-dashboard</connection>
<execute_each_row>N</execute_each_row>
<limit>0</limit>
<sql>SELECT
CASE WHEN '${VK_ARRAY}' IS NULL OR '${VK_ARRAY}' = '' THEN 0 ELSE SUM(subpoenas_sent) END AS count_subpoena,
CASE WHEN '${VK_ARRAY}' IS NULL OR '${VK_ARRAY}' = '' THEN 0 ELSE SUM(appeared_on_subpoenas) END AS count_appeared,
CASE WHEN '${VK_ARRAY}' IS NULL OR '${VK_ARRAY}' = '' THEN 0 ELSE SUM(not_appeared_on_subpoenas) END AS count_not_appeared,
CASE WHEN '${VK_ARRAY}' IS NULL OR '${VK_ARRAY}' = '' THEN 0 ELSE SUM(new_recruits) END AS new_recruits,
CASE WHEN '${VK_ARRAY}' IS NULL OR '${VK_ARRAY}' = '' THEN 0 ELSE SUM(postponement_have_right) END AS postponement_have_right,
CASE WHEN '${VK_ARRAY}' IS NULL OR '${VK_ARRAY}' = '' THEN 0 ELSE SUM(postponement_granted) END AS postponement_granted,
CASE
WHEN '${VK_ARRAY}' IS NULL OR '${VK_ARRAY}' = ''
THEN 0
ELSE COALESCE(
CASE
WHEN SUM(subpoenas_sent) > 0
THEN ROUND((SUM(appeared_on_subpoenas) / SUM(subpoenas_sent) * 100), 2)
ELSE 0
END,
0
)
END AS appeared_on_subpoenas_percent,
CASE
WHEN '${VK_ARRAY}' IS NULL OR '${VK_ARRAY}' = ''
THEN 0
ELSE COALESCE(
CASE
WHEN SUM(subpoenas_sent) > 0
THEN ROUND((SUM(not_appeared_on_subpoenas) / SUM(subpoenas_sent) * 100), 2)
ELSE 0
END,
0
)
END AS not_appeared_on_subpoenas_percent,
CASE
WHEN '${VK_ARRAY}' IS NULL OR '${VK_ARRAY}' = ''
THEN 0
ELSE COALESCE(
CASE
WHEN SUM(subpoenas_sent) > 0
THEN ROUND((SUM(postponement_have_right) / SUM(subpoenas_sent) * 100), 2)
ELSE 0
END,
0
)
END AS postponement_have_right_percent,
CASE
WHEN '${VK_ARRAY}' IS NULL OR '${VK_ARRAY}' = ''
THEN 0
ELSE COALESCE(
CASE
WHEN SUM(subpoenas_sent) > 0
THEN ROUND((SUM(postponement_granted) / SUM(subpoenas_sent) * 100), 2)
ELSE 0
END,
0
)
END AS postponement_granted_percent,
'${REG_ID}' AS recruitment_id,
spring_autumn,
'Organization' AS schema
FROM main_dashboard.recruitment_campaign
WHERE recruitment_id = ANY (
string_to_array(
trim(both '{}' FROM replace('${VK_ARRAY}', ' ', '')), ','
)::uuid[]
)
AND recording_date = CURRENT_DATE
GROUP BY spring_autumn;</sql>
<variables_active>Y</variables_active>
<attributes/>
<GUI>
<xloc>624</xloc>
<yloc>480</yloc>
</GUI>
</transform>
<transform_error_handling>
</transform_error_handling>
<attributes/>
</pipeline>