total_registered.child_minor Y Normal 0 N 1000 100 - 2024/08/02 11:56:22.507 - 2024/08/02 11:56:22.507 Table input (person_registry)РФ/женщины Insert / update (total_registered.child_minor) 3 N Table input (person_registry)РФ/мужчины Insert / update (total_registered.child_minor) 2 N Table input (person_registry)РФ/все Insert / update (total_registered.child_minor) N Get variables 2 2 Select values 2 2 Y Get variables 2 2 2 Select values 2 2 2 Y Get variables 2 2 3 Select values 2 2 3 Y Table input (person_registry)РФ/все Get variables 2 2 Y Select values 2 2 Insert / update (total_registered.child_minor) Y Table input (person_registry)РФ/мужчины Get variables 2 2 2 Y Select values 2 2 2 Insert / update (total_registered.child_minor) 2 Y Table input (person_registry)РФ/женщины Get variables 2 2 3 Y Select values 2 2 3 Insert / update (total_registered.child_minor) 3 Y Insert / update (total_registered.child_minor) InsertUpdate Y 1 none 100 ervu-dashboard = recruitment_id REG_ID = "all_M_W" gender total_registered child_minor
no_child no_children Y "1_child" one_child Y "2_child" two_children Y "3_child" three_children Y "4_more_child" four_or_more_children Y "all_M_W" gender N no_child_percent no_children_percent Y "1_child_percent" one_child_percent Y "2_child_percent" two_children_percent Y "3_child_percent" three_children_percent Y "4_more_child_percent" four_or_more_children_percent Y recruitment_id recruitment_id N
N 992 240
Insert / update (total_registered.child_minor) 2 InsertUpdate Y 1 none 100 ervu-dashboard = recruitment_id REG_ID = "all_M_W" gender total_registered child_minor
no_child no_children Y "1_child" one_child Y "2_child" two_children Y "3_child" three_children Y "4_more_child" four_or_more_children Y "all_M_W" gender N no_child_percent no_children_percent Y "1_child_percent" one_child_percent Y "2_child_percent" two_children_percent Y "3_child_percent" three_children_percent Y "4_more_child_percent" four_or_more_children_percent Y recruitment_id recruitment_id N
N 992 336
Insert / update (total_registered.child_minor) 3 InsertUpdate Y 1 none 100 ervu-dashboard = recruitment_id REG_ID = "all_M_W" gender total_registered child_minor
no_child no_children Y "1_child" one_child Y "2_child" two_children Y "3_child" three_children Y "4_more_child" four_or_more_children Y "all_M_W" gender N no_child_percent no_children_percent Y "1_child_percent" one_child_percent Y "2_child_percent" two_children_percent Y "3_child_percent" three_children_percent Y "4_more_child_percent" four_or_more_children_percent Y recruitment_id recruitment_id N
N 992 448
Table input (person_registry)РФ/все TableInput Y 1 none ervu_person_registry N 0 WITH extracted_children AS ( SELECT ri.recruit_id, jsonb_array_elements_text(ri.info->'svedDeti'->'rebenok') AS child FROM public.recruits_info ri JOIN public.recruits r ON ri.recruit_id = r.id WHERE jsonb_typeof(ri.info->'svedDeti'->'rebenok') = 'array' AND r.vu_current_info->>'isMilitaryRegistered' = 'true' and r.current_recruitment_id is not null and r.target_recruitment_id is not null ), children_birth_dates AS ( SELECT recruit_id, (child::jsonb->'svedFLBS'->'dataRozhdDok'->>'den')::int AS day, (child::jsonb->'svedFLBS'->'dataRozhdDok'->>'mesyacz')::int AS month, (child::jsonb->'svedFLBS'->'dataRozhdDok'->>'god')::int AS year FROM extracted_children ), children_count AS ( SELECT recruit_id, COUNT(*) AS children_under_18 FROM children_birth_dates WHERE AGE(make_date(year, month, day)) < interval '18 years' GROUP BY recruit_id ), final_counts AS ( SELECT COALESCE(children_under_18, 0) AS children_count, COUNT(*) AS num_people FROM public.recruits_info ri LEFT JOIN children_count cc ON ri.recruit_id = cc.recruit_id JOIN public.recruits r ON ri.recruit_id = r.id WHERE r.vu_current_info->>'isMilitaryRegistered' = 'true' and r.current_recruitment_id is not null and r.target_recruitment_id is not null GROUP BY COALESCE(children_under_18, 0) ), total_people AS ( SELECT SUM(num_people) AS total_count FROM final_counts ) SELECT 'ALL' AS gender, '${REG_ID}' as recruitment_id, COALESCE(SUM(CASE WHEN children_count = 0 THEN num_people ELSE 0 END), 0) AS no_children, COALESCE(SUM(CASE WHEN children_count = 1 THEN num_people ELSE 0 END), 0) AS one_child, COALESCE(SUM(CASE WHEN children_count = 2 THEN num_people ELSE 0 END), 0) AS two_children, COALESCE(SUM(CASE WHEN children_count = 3 THEN num_people ELSE 0 END), 0) AS three_children, COALESCE(SUM(CASE WHEN children_count >= 4 THEN num_people ELSE 0 END), 0) AS four_or_more_children, ROUND(COALESCE(SUM(CASE WHEN children_count = 0 THEN num_people ELSE 0 END), 0) * 100.0 / NULLIF((SELECT total_count FROM total_people), 0), 2) AS no_children_percent, ROUND(COALESCE(SUM(CASE WHEN children_count = 1 THEN num_people ELSE 0 END), 0) * 100.0 / NULLIF((SELECT total_count FROM total_people), 0), 2) AS one_child_percent, ROUND(COALESCE(SUM(CASE WHEN children_count = 2 THEN num_people ELSE 0 END), 0) * 100.0 / NULLIF((SELECT total_count FROM total_people), 0), 2) AS two_children_percent, ROUND(COALESCE(SUM(CASE WHEN children_count = 3 THEN num_people ELSE 0 END), 0) * 100.0 / NULLIF((SELECT total_count FROM total_people), 0), 2) AS three_children_percent, ROUND(COALESCE(SUM(CASE WHEN children_count >= 4 THEN num_people ELSE 0 END), 0) * 100.0 / NULLIF((SELECT total_count FROM total_people), 0), 2) AS four_or_more_children_percent FROM final_counts; Y 352 240 Table input (person_registry)РФ/женщины TableInput Y 1 none ervu_person_registry N 0 WITH extracted_children AS ( SELECT ri.recruit_id, jsonb_array_elements_text(ri.info->'svedDeti'->'rebenok') AS child FROM public.recruits_info ri JOIN public.recruits r ON ri.recruit_id = r.id WHERE jsonb_typeof(ri.info->'svedDeti'->'rebenok') = 'array' AND r.vu_current_info->>'isMilitaryRegistered' = 'true' AND r.current_recruitment_id IS NOT NULL AND r.target_recruitment_id IS NOT NULL AND r.gender = 'FEMALE' ), children_birth_dates AS ( SELECT recruit_id, (child::jsonb->'svedFLBS'->'dataRozhdDok'->>'den')::int AS day, (child::jsonb->'svedFLBS'->'dataRozhdDok'->>'mesyacz')::int AS month, (child::jsonb->'svedFLBS'->'dataRozhdDok'->>'god')::int AS year FROM extracted_children ), children_count AS ( SELECT recruit_id, COUNT(*) AS children_under_18 FROM children_birth_dates WHERE make_date(year, month, day) > CURRENT_DATE - INTERVAL '18 years' GROUP BY recruit_id ), final_counts AS ( SELECT COALESCE(children_under_18, 0) AS children_count, COUNT(*) AS num_people FROM public.recruits_info ri LEFT JOIN children_count cc ON ri.recruit_id = cc.recruit_id JOIN public.recruits r ON ri.recruit_id = r.id WHERE r.vu_current_info->>'isMilitaryRegistered' = 'true' AND r.current_recruitment_id IS NOT NULL AND r.target_recruitment_id IS NOT NULL AND r.gender = 'FEMALE' GROUP BY COALESCE(children_under_18, 0) ), total_men AS ( SELECT COUNT(*) AS total_men_count FROM public.recruits_info ri JOIN public.recruits r ON ri.recruit_id = r.id WHERE r.vu_current_info->>'isMilitaryRegistered' = 'true' AND r.current_recruitment_id IS NOT NULL AND r.target_recruitment_id IS NOT NULL AND r.gender = 'FEMALE' ) SELECT 'W' AS gender, '${REG_ID}' AS recruitment_id, COALESCE(SUM(CASE WHEN children_count = 0 THEN num_people ELSE 0 END), 0) AS no_children, COALESCE(SUM(CASE WHEN children_count = 1 THEN num_people ELSE 0 END), 0) AS one_child, COALESCE(SUM(CASE WHEN children_count = 2 THEN num_people ELSE 0 END), 0) AS two_children, COALESCE(SUM(CASE WHEN children_count = 3 THEN num_people ELSE 0 END), 0) AS three_children, COALESCE(SUM(CASE WHEN children_count >= 4 THEN num_people ELSE 0 END), 0) AS four_or_more_children, ROUND(COALESCE(SUM(CASE WHEN children_count = 0 THEN num_people ELSE 0 END), 0) * 100.0 / NULLIF((SELECT total_men_count FROM total_men), 0), 2) AS no_children_percent, ROUND(COALESCE(SUM(CASE WHEN children_count = 1 THEN num_people ELSE 0 END), 0) * 100.0 / NULLIF((SELECT total_men_count FROM total_men), 0), 2) AS one_child_percent, ROUND(COALESCE(SUM(CASE WHEN children_count = 2 THEN num_people ELSE 0 END), 0) * 100.0 / NULLIF((SELECT total_men_count FROM total_men), 0), 2) AS two_children_percent, ROUND(COALESCE(SUM(CASE WHEN children_count = 3 THEN num_people ELSE 0 END), 0) * 100.0 / NULLIF((SELECT total_men_count FROM total_men), 0), 2) AS three_children_percent, ROUND(COALESCE(SUM(CASE WHEN children_count >= 4 THEN num_people ELSE 0 END), 0) * 100.0 / NULLIF((SELECT total_men_count FROM total_men), 0), 2) AS four_or_more_children_percent FROM final_counts; Y 352 448 Table input (person_registry)РФ/мужчины TableInput Y 1 none ervu_person_registry N 0 WITH extracted_children AS ( SELECT ri.recruit_id, jsonb_array_elements_text(ri.info->'svedDeti'->'rebenok') AS child FROM public.recruits_info ri JOIN public.recruits r ON ri.recruit_id = r.id WHERE jsonb_typeof(ri.info->'svedDeti'->'rebenok') = 'array' AND r.vu_current_info->>'isMilitaryRegistered' = 'true' AND r.current_recruitment_id IS NOT NULL AND r.target_recruitment_id IS NOT NULL AND r.gender = 'MALE' ), children_birth_dates AS ( SELECT recruit_id, (child::jsonb->'svedFLBS'->'dataRozhdDok'->>'den')::int AS day, (child::jsonb->'svedFLBS'->'dataRozhdDok'->>'mesyacz')::int AS month, (child::jsonb->'svedFLBS'->'dataRozhdDok'->>'god')::int AS year FROM extracted_children ), children_count AS ( SELECT recruit_id, COUNT(*) AS children_under_18 FROM children_birth_dates WHERE make_date(year, month, day) > CURRENT_DATE - INTERVAL '18 years' GROUP BY recruit_id ), final_counts AS ( SELECT COALESCE(children_under_18, 0) AS children_count, COUNT(*) AS num_people FROM public.recruits_info ri LEFT JOIN children_count cc ON ri.recruit_id = cc.recruit_id JOIN public.recruits r ON ri.recruit_id = r.id WHERE r.vu_current_info->>'isMilitaryRegistered' = 'true' AND r.current_recruitment_id IS NOT NULL AND r.target_recruitment_id IS NOT NULL AND r.gender = 'MALE' GROUP BY COALESCE(children_under_18, 0) ), total_men AS ( SELECT COUNT(*) AS total_men_count FROM public.recruits_info ri JOIN public.recruits r ON ri.recruit_id = r.id WHERE r.vu_current_info->>'isMilitaryRegistered' = 'true' AND r.current_recruitment_id IS NOT NULL AND r.target_recruitment_id IS NOT NULL AND r.gender = 'MALE' ) SELECT 'M' AS gender, '${REG_ID}' AS recruitment_id, COALESCE(SUM(CASE WHEN children_count = 0 THEN num_people ELSE 0 END), 0) AS no_children, COALESCE(SUM(CASE WHEN children_count = 1 THEN num_people ELSE 0 END), 0) AS one_child, COALESCE(SUM(CASE WHEN children_count = 2 THEN num_people ELSE 0 END), 0) AS two_children, COALESCE(SUM(CASE WHEN children_count = 3 THEN num_people ELSE 0 END), 0) AS three_children, COALESCE(SUM(CASE WHEN children_count >= 4 THEN num_people ELSE 0 END), 0) AS four_or_more_children, ROUND(COALESCE(SUM(CASE WHEN children_count = 0 THEN num_people ELSE 0 END), 0) * 100.0 / NULLIF((SELECT total_men_count FROM total_men), 0), 2) AS no_children_percent, ROUND(COALESCE(SUM(CASE WHEN children_count = 1 THEN num_people ELSE 0 END), 0) * 100.0 / NULLIF((SELECT total_men_count FROM total_men), 0), 2) AS one_child_percent, ROUND(COALESCE(SUM(CASE WHEN children_count = 2 THEN num_people ELSE 0 END), 0) * 100.0 / NULLIF((SELECT total_men_count FROM total_men), 0), 2) AS two_children_percent, ROUND(COALESCE(SUM(CASE WHEN children_count = 3 THEN num_people ELSE 0 END), 0) * 100.0 / NULLIF((SELECT total_men_count FROM total_men), 0), 2) AS three_children_percent, ROUND(COALESCE(SUM(CASE WHEN children_count >= 4 THEN num_people ELSE 0 END), 0) * 100.0 / NULLIF((SELECT total_men_count FROM total_men), 0), 2) AS four_or_more_children_percent FROM final_counts; Y 352 336 Get variables 2 2 GetVariable Y 1 none -1 REG_ID -1 none String -1 VK_ARRAY -1 none String 560 272 Select values 2 2 SelectValues Y 1 none N REG_ID REG_ID String -2 -2 false false VK_ARRAY VK_ARRAY String -2 -2 false false 768 272 Get variables 2 2 2 GetVariable Y 1 none -1 REG_ID -1 none String -1 VK_ARRAY -1 none String 560 368 Select values 2 2 2 SelectValues Y 1 none N REG_ID REG_ID String -2 -2 false false VK_ARRAY VK_ARRAY String -2 -2 false false 768 368 Get variables 2 2 3 GetVariable Y 1 none -1 REG_ID -1 none String -1 VK_ARRAY -1 none String 560 496 Select values 2 2 3 SelectValues Y 1 none N REG_ID REG_ID String -2 -2 false false VK_ARRAY VK_ARRAY String -2 -2 false false 768 496