KYZN Docs
Home
  • Welcome
  • Intro
    • What is KYZN?
    • Age Group
  • KYZN Funnel
    • Glossary
      • General
      • Tracking Framework
    • Report
      • TAC Funnel
      • TCC Funnel
      • TAC Sleekflow
  • KYZN CRM
    • Glossary
      • My Leads
        • Add Leads
        • Add Family Leads
        • Add Appointment
        • Add Membership
        • Edit Branch
        • Edit PIC
        • Edit & Delete Leads
        • Search Leads
        • Reschedule Appointment
        • Clear Abnormal Stage
      • Approach
      • Pool
      • My Appt
        • Edit & Delete Appointment
        • Trial Form
      • My Convert
      • User Manager
      • UTM Generator
      • Assign PIC
      • Set Target
      • Schedule List
    • Event Bulk Data
  • Digital System
    • ETL Process
      • Query Checking
        • Cek Funnel Stage
        • Insert from temp_leads
        • Insert from sleekflow
        • Check Duplicate
        • Update Source Ads
        • Conversion Duration Analysist
        • Cek branch tidak match
        • Select Potential Contact
      • Query View
        • TAC Combined
        • TAC
        • TAC Appt
        • TAC Appt - Appt
        • TAC Appt - MQL
        • TAC Appt - MQLplus
        • TAC Appt - Tourplus
        • TAC Appt - Trialplus
        • TAC Convert
        • TAC Inbound
        • TAC Leads
        • TAC MQL
        • TAC MQLplus
        • TAC Tourplus
        • TAC Trialplus
        • Target View
        • Leads View
        • Appt View
        • Actual vs Target
        • All Time Leads Stages
        • All Time Appt Date
        • Budget Control
      • Database Management
        • pgAdmin
        • Looker Studio
  • Changelog
    • 2025-03
Powered by GitBook
On this page
  1. Digital System
  2. ETL Process
  3. Query View

Actual vs Target

view name = 'actual_vs_target'

[NEW] Query

 WITH target_view AS (
         WITH daterange AS (
                 SELECT generate_series(target.start_date::timestamp with time zone, target.end_date::timestamp with time zone, '1 day'::interval)::date AS date,
                    target.user_id,
                    target.branch,
                    target.division,
                    target."position",
                    target.pic,
                    target.target_inbound,
                    target.target_leads,
                    target.target_mql,
                    target."target_mqlPlus",
                    target."target_tourPlus",
                    target."target_trialPlus",
                    target.target_convert,
                    target.end_date - target.start_date + 1 AS total_days
                   FROM target
                ), dailytargets AS (
                 SELECT daterange.date,
                    daterange.branch,
                    daterange.division,
                    daterange."position",
                    daterange.pic,
                    daterange.target_inbound::double precision / daterange.total_days::double precision AS daily_target_inbound,
                    daterange.target_leads::double precision / daterange.total_days::double precision AS daily_target_leads,
                    daterange.target_mql::double precision / daterange.total_days::double precision AS daily_target_mql,
                    daterange."target_mqlPlus"::double precision / daterange.total_days::double precision AS daily_target_mqlplus,
                    daterange."target_tourPlus"::double precision / daterange.total_days::double precision AS daily_target_tourplus,
                    daterange."target_trialPlus"::double precision / daterange.total_days::double precision AS daily_target_trialplus,
                    daterange.target_convert::double precision / daterange.total_days::double precision AS daily_target_convert
                   FROM daterange
                )
         SELECT dailytargets.date,
            dailytargets.branch,
            dailytargets.division,
            dailytargets."position",
            dailytargets.pic,
            dailytargets.daily_target_inbound AS target_inbound,
            dailytargets.daily_target_leads AS target_leads,
            dailytargets.daily_target_mql AS target_mql,
            dailytargets.daily_target_mqlplus AS "target_mqlPlus",
            dailytargets.daily_target_tourplus AS "target_tourPlus",
            dailytargets.daily_target_trialplus AS "target_trialPlus",
            dailytargets.daily_target_convert AS target_convert
           FROM dailytargets
          GROUP BY dailytargets.date, dailytargets.branch, dailytargets.division, dailytargets."position", dailytargets.pic, dailytargets.daily_target_inbound, dailytargets.daily_target_leads, dailytargets.daily_target_mql, dailytargets.daily_target_mqlplus, dailytargets.daily_target_tourplus, dailytargets.daily_target_trialplus, dailytargets.daily_target_convert
        )
 SELECT date,
    branch,
    COALESCE(division, NULL::text) AS division,
    COALESCE("position", NULL::text) AS "position",
    pic,
    sum(inbound) AS inbound,
    sum(target_inbound) AS target_inbound,
    sum(leads) AS leads,
    sum(target_leads) AS target_leads,
    sum(mql) AS mql,
    sum(target_mql) AS target_mql,
    sum(appt_mql) AS appt_mql,
    sum(appt) AS appt,
    sum(mqlplus) AS mqlplus,
    sum("target_mqlPlus") AS "target_mqlPlus",
    sum(appt_mqlplus) AS appt_mqlplus,
    sum(tourplus) AS tourplus,
    sum("target_tourPlus") AS "target_tourPlus",
    sum(appt_tourplus) AS appt_tourplus,
    sum(trialplus) AS trialplus,
    sum("target_trialPlus") AS "target_trialPlus",
    sum(appt_trialplus) AS appt_trialplus,
    sum(convert) AS convert,
    sum(target_convert) AS target_convert,
    (to_char(date_trunc('week'::text, date::timestamp with time zone), 'DD Mon'::text) || ' - '::text) || to_char(date_trunc('week'::text, date::timestamp with time zone) + '6 days'::interval, 'DD Mon'::text) AS week
   FROM ( SELECT target_view.date,
            target_view.branch,
            target_view.division,
            target_view."position",
            target_view.pic,
            0 AS inbound,
            target_view.target_inbound,
            0 AS leads,
            target_view.target_leads,
            0 AS mql,
            target_view.target_mql,
            0 AS appt_mql,
            0 AS appt,
            0 AS mqlplus,
            target_view."target_mqlPlus",
            0 AS appt_mqlplus,
            0 AS tourplus,
            target_view."target_tourPlus",
            0 AS appt_tourplus,
            0 AS trialplus,
            target_view."target_trialPlus",
            0 AS appt_trialplus,
            0 AS convert,
            target_view.target_convert
           FROM target_view
        UNION ALL
         SELECT tac_inbound.date,
            tac_inbound.branch,
            NULL::text AS division,
            NULL::text AS "position",
            tac_inbound.contact_owner AS pic,
            tac_inbound.inbound,
            0 AS target_inbound,
            0 AS leads,
            0 AS target_leads,
            0 AS mql,
            0 AS target_mql,
            0 AS appt_mql,
            0 AS appt,
            0 AS mqlplus,
            0 AS "target_mqlPlus",
            0 AS appt_mqlplus,
            0 AS tourplus,
            0 AS "target_tourPlus",
            0 AS appt_tourplus,
            0 AS trialplus,
            0 AS "target_trialPlus",
            0 AS appt_trialplus,
            0 AS convert,
            0 AS target_convert
           FROM tac_inbound
        UNION ALL
         SELECT tac_leads.date,
            tac_leads.branch,
            NULL::text AS division,
            NULL::text AS "position",
            tac_leads.contact_owner AS pic,
            0 AS inbound,
            0 AS target_inbound,
            tac_leads.leads,
            0 AS target_leads,
            0 AS mql,
            0 AS target_mql,
            0 AS appt_mql,
            0 AS appt,
            0 AS mqlplus,
            0 AS "target_mqlPlus",
            0 AS appt_mqlplus,
            0 AS tourplus,
            0 AS "target_tourPlus",
            0 AS appt_tourplus,
            0 AS trialplus,
            0 AS "target_trialPlus",
            0 AS appt_trialplus,
            0 AS convert,
            0 AS target_convert
           FROM tac_leads
        UNION ALL
         SELECT tac_mql.date,
            tac_mql.branch,
            NULL::text AS division,
            NULL::text AS "position",
            tac_mql.last_created_by AS pic,
            0 AS inbound,
            0 AS target_inbound,
            0 AS leads,
            0 AS target_leads,
            tac_mql.mql,
            0 AS target_mql,
            0 AS appt_mql,
            0 AS appt,
            0 AS mqlplus,
            0 AS "target_mqlPlus",
            0 AS appt_mqlplus,
            0 AS tourplus,
            0 AS "target_tourPlus",
            0 AS appt_tourplus,
            0 AS trialplus,
            0 AS "target_trialPlus",
            0 AS appt_trialplus,
            0 AS convert,
            0 AS target_convert
           FROM tac_mql
        UNION ALL
         SELECT tac_appt_mql.date,
            tac_appt_mql.branch,
            NULL::text AS division,
            NULL::text AS "position",
            tac_appt_mql.created_by AS pic,
            0 AS inbound,
            0 AS target_inbound,
            0 AS leads,
            0 AS target_leads,
            0 AS mql,
            0 AS target_mql,
            tac_appt_mql.mql AS appt_mql,
            0 AS appt,
            0 AS mqlplus,
            0 AS "target_mqlPlus",
            0 AS appt_mqlplus,
            0 AS tourplus,
            0 AS "target_tourPlus",
            0 AS appt_tourplus,
            0 AS trialplus,
            0 AS "target_trialPlus",
            0 AS appt_trialplus,
            0 AS convert,
            0 AS target_convert
           FROM tac_appt_mql
        UNION ALL
         SELECT tac_appt_appt.date,
            tac_appt_appt.branch,
            NULL::text AS division,
            NULL::text AS "position",
            tac_appt_appt.created_by AS pic,
            0 AS inbound,
            0 AS target_inbound,
            0 AS leads,
            0 AS target_leads,
            0 AS mql,
            0 AS target_mql,
            0 AS appt_mql,
            tac_appt_appt.appt,
            0 AS mqlplus,
            0 AS "target_mqlPlus",
            0 AS appt_mqlplus,
            0 AS tourplus,
            0 AS "target_tourPlus",
            0 AS appt_tourplus,
            0 AS trialplus,
            0 AS "target_trialPlus",
            0 AS appt_trialplus,
            0 AS convert,
            0 AS target_convert
           FROM tac_appt_appt
        UNION ALL
         SELECT tac_appt_mqlplus.date,
            tac_appt_mqlplus.branch,
            NULL::text AS division,
            NULL::text AS "position",
            tac_appt_mqlplus.created_by AS pic,
            0 AS inbound,
            0 AS target_inbound,
            0 AS leads,
            0 AS target_leads,
            0 AS mql,
            0 AS target_mql,
            0 AS appt_mql,
            0 AS appt,
            0 AS mqlplus,
            0 AS "target_mqlPlus",
            tac_appt_mqlplus.appt_mqlplus,
            0 AS tourplus,
            0 AS "target_tourPlus",
            0 AS appt_tourplus,
            0 AS trialplus,
            0 AS "target_trialPlus",
            0 AS appt_trialplus,
            0 AS convert,
            0 AS target_convert
           FROM tac_appt_mqlplus
        UNION ALL
         SELECT "tac_tourPlus".date,
            "tac_tourPlus".branch,
            NULL::text AS division,
            NULL::text AS "position",
            "tac_tourPlus".last_created_by AS pic,
            0 AS inbound,
            0 AS target_inbound,
            0 AS leads,
            0 AS target_leads,
            0 AS mql,
            0 AS target_mql,
            0 AS appt_mql,
            0 AS appt,
            0 AS mqlplus,
            0 AS "target_mqlPlus",
            0 AS appt_mqlplus,
            "tac_tourPlus".tourplus,
            0 AS "target_tourPlus",
            0 AS appt_tourplus,
            0 AS trialplus,
            0 AS "target_trialPlus",
            0 AS appt_trialplus,
            0 AS convert,
            0 AS target_convert
           FROM "tac_tourPlus"
        UNION ALL
         SELECT tac_appt_tourplus.date,
            tac_appt_tourplus.branch,
            NULL::text AS division,
            NULL::text AS "position",
            tac_appt_tourplus.created_by AS pic,
            0 AS inbound,
            0 AS target_inbound,
            0 AS leads,
            0 AS target_leads,
            0 AS mql,
            0 AS target_mql,
            0 AS appt_mql,
            0 AS appt,
            0 AS mqlplus,
            0 AS "target_mqlPlus",
            0 AS appt_mqlplus,
            0 AS tourplus,
            0 AS "target_tourPlus",
            tac_appt_tourplus.appt_tourplus,
            0 AS trialplus,
            0 AS "target_trialPlus",
            0 AS appt_trialplus,
            0 AS convert,
            0 AS target_convert
           FROM tac_appt_tourplus
        UNION ALL
         SELECT "tac_trialPlus".date,
            "tac_trialPlus".branch,
            NULL::text AS division,
            NULL::text AS "position",
            "tac_trialPlus".last_created_by AS pic,
            0 AS inbound,
            0 AS target_inbound,
            0 AS leads,
            0 AS target_leads,
            0 AS mql,
            0 AS target_mql,
            0 AS appt_mql,
            0 AS appt,
            0 AS mqlplus,
            0 AS "target_mqlPlus",
            0 AS appt_mqlplus,
            0 AS tourplus,
            0 AS "target_tourPlus",
            0 AS appt_tourplus,
            "tac_trialPlus".trialplus,
            0 AS "target_trialPlus",
            0 AS appt_trialplus,
            0 AS convert,
            0 AS target_convert
           FROM "tac_trialPlus"
        UNION ALL
         SELECT tac_appt_trialplus.date,
            tac_appt_trialplus.branch,
            NULL::text AS division,
            NULL::text AS "position",
            tac_appt_trialplus.created_by AS pic,
            0 AS inbound,
            0 AS target_inbound,
            0 AS leads,
            0 AS target_leads,
            0 AS mql,
            0 AS target_mql,
            0 AS appt_mql,
            0 AS appt,
            0 AS mqlplus,
            0 AS "target_mqlPlus",
            0 AS appt_mqlplus,
            0 AS tourplus,
            0 AS "target_tourPlus",
            0 AS appt_tourplus,
            0 AS trialplus,
            0 AS "target_trialPlus",
            tac_appt_trialplus.appt_trialplus,
            0 AS convert,
            0 AS target_convert
           FROM tac_appt_trialplus
        UNION ALL
         SELECT tac_convert.date,
            tac_convert.branch,
            NULL::text AS division,
            NULL::text AS "position",
            tac_convert.convert_by AS pic,
            0 AS inbound,
            0 AS target_inbound,
            0 AS leads,
            0 AS target_leads,
            0 AS mql,
            0 AS target_mql,
            0 AS appt_mql,
            0 AS appt,
            0 AS mqlplus,
            0 AS "target_mqlPlus",
            0 AS appt_mqlplus,
            0 AS tourplus,
            0 AS "target_tourPlus",
            0 AS appt_tourplus,
            0 AS trialplus,
            0 AS "target_trialPlus",
            0 AS appt_trialplus,
            tac_convert.convert,
            0 AS target_convert
           FROM tac_convert) combined_data
  WHERE date IS NOT NULL AND pic IS NOT NULL
  GROUP BY date, division, "position", branch, pic
  ORDER BY date, branch;

PreviousAppt ViewNextAll Time Leads Stages

Last updated 5 months ago