Skip to content

davidadjirackor/apex-interactive-dashboard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

apex-interactive-dashboard

This is the file for an interactive dashboard created from a data sample of almost 1.5k respondents on salary and saving dynamic in Ghana. The primary place of the exercise was on Twitter. The results were shared via a spreadsheet and the analysis and further breakdown and interactive daashboard was developed.

Installation

In the repo you will find the f103.sql file. Download the file and import it into your preferred Oracle apex setup. The raw data in excel format can be uploaded and stored in the schema.

The SQL Queries

This is the list of all the queries used for the interactive dashboard.

Do You Own A Car?

SELECT AGE, OWN_A_CAR,
       COUNT(*) AS TOTAL_COUNT,
       COUNT(*)/ SUM(COUNT(*)) OVER (PARTITION BY AGE) AS PERCENTAGE
FROM CEDITALK_SURVEY
GROUP BY AGE, OWN_A_CAR
ORDER BY AGE

Monthly Take Home Salary Range & Car Ownership

  SELECT TAKE_HOME_RANGE, OWN_A_CAR,
       COUNT(*) AS TOTAL_COUNT,
       COUNT(*)  / SUM(COUNT(*)) OVER (PARTITION BY TAKE_HOME_RANGE) AS PERCENTAGE
FROM CEDITALK_SURVEY
GROUP BY TAKE_HOME_RANGE, OWN_A_CAR
ORDER BY TAKE_HOME_RANGE 

How Many Months of Savings & Car Ownership

  SELECT MONTHS_EXPENSES_SAVED, OWN_A_CAR,
       COUNT(*) AS TOTAL_COUNT,
       COUNT(*) / SUM(COUNT(*)) OVER (PARTITION BY MONTHS_EXPENSES_SAVED) AS PERCENTAGE
FROM CEDITALK_SURVEY
GROUP BY MONTHS_EXPENSES_SAVED, OWN_A_CAR
ORDER BY MONTHS_EXPENSES_SAVED

How Much Savings & Car Ownership

  SELECT MONEY_SAVED_UP, OWN_A_CAR,
COUNT(*) AS TOTAL_COUNT,COUNT(*)  / SUM(COUNT(*)) OVER (PARTITION BY MONEY_SAVED_UP) AS PERCENTAGE
FROM CEDITALK_SURVEY
GROUP BY MONEY_SAVED_UP, OWN_A_CAR
ORDER BY MONEY_SAVED_UP

Income Earnings Based On Company Location

  SELECT TAKE_HOME_RANGE, SOURCE_OF_INCOME, TOTAL_COUNT, PERCENTAGE
FROM (SELECT TAKE_HOME_RANGE, SOURCE_OF_INCOME, COUNT(*) AS TOTAL_COUNT,
         COUNT(*) / SUM(COUNT(*)) OVER (PARTITION BY SOURCE_OF_INCOME) AS PERCENTAGE,
         1 AS sort_order
FROM CEDITALK_SURVEY
  WHERE SOURCE_OF_INCOME = 'Abroad'
  GROUP BY TAKE_HOME_RANGE, SOURCE_OF_INCOME

  UNION ALL

SELECT TAKE_HOME_RANGE, SOURCE_OF_INCOME, COUNT(*) AS TOTAL_COUNT,
         COUNT(*)  / SUM(COUNT(*)) OVER (PARTITION BY SOURCE_OF_INCOME) AS PERCENTAGE,
         2 AS sort_order
  FROM CEDITALK_SURVEY
  WHERE SOURCE_OF_INCOME = 'Ghana-Based'
  GROUP BY TAKE_HOME_RANGE, SOURCE_OF_INCOME) sub
ORDER BY sort_order, TAKE_HOME_RANGE ASC

Monthly Take Home Salary Overall

 SELECT TAKE_HOME_RANGE, COUNT(*) AS TOTAL_COUNT,
       COUNT(*) / (SELECT COUNT(*) FROM CEDITALK_SURVEY ) AS PERCENTAGE
FROM CEDITALK_SURVEY
GROUP BY TAKE_HOME_RANGE
ORDER BY PERCENTAGE

Sector of Work & Monthly Salary Range(Public Sector)

SELECT TAKE_HOME_RANGE,SECTOR_OF_WORK,
COUNT(*) AS TOTAL_COUNT,COUNT(*)  / SUM(COUNT(*)) OVER (PARTITION BY SECTOR_OF_WORK) AS PERCENTAGE
FROM CEDITALK_SURVEY where SECTOR_OF_WORK ='Public Sector'
GROUP BY TAKE_HOME_RANGE,SECTOR_OF_WORK
ORDER BY TAKE_HOME_RANGE

Sector of Work & Monthly Salary Range(Private Sector)

SELECT TAKE_HOME_RANGE,SECTOR_OF_WORK,
COUNT(*) AS TOTAL_COUNT,COUNT(*)  / SUM(COUNT(*)) OVER (PARTITION BY SECTOR_OF_WORK) AS PERCENTAGE
FROM CEDITALK_SURVEY where SECTOR_OF_WORK ='Private Sector'
GROUP BY TAKE_HOME_RANGE,SECTOR_OF_WORK
ORDER BY TAKE_HOME_RANGE

Employment Status/Type & Income

SELECT TAKE_HOME_RANGE, TYPE_OF_EMPLOYMENT,
COUNT(*) AS TOTAL_COUNT,
COUNT(*)  / SUM(COUNT(*)) OVER (PARTITION BY TYPE_OF_EMPLOYMENT) AS PERCENTAGE
FROM CEDITALK_SURVEY 
GROUP BY TAKE_HOME_RANGE, TYPE_OF_EMPLOYMENT
ORDER BY TAKE_HOME_RANGE, TYPE_OF_EMPLOYMENT

Monthly Income by Highest Level of Education

SELECT TAKE_HOME_RANGE,EDUCATIONAL_LEVEL,
COUNT(*) AS TOTAL_COUNT,COUNT(*) / SUM(COUNT(*)) OVER (PARTITION BY EDUCATIONAL_LEVEL) AS PERCENTAGE
FROM CEDITALK_SURVEY 
GROUP BY TAKE_HOME_RANGE,EDUCATIONAL_LEVEL
ORDER BY EDUCATIONAL_LEVEL

Range of Month Savings

SELECT MONTHS_EXPENSES_SAVED, COUNT(*) AS TOTAL_COUNT,
       COUNT(*)  / (SELECT COUNT(*) FROM CEDITALK_SURVEY ) AS PERCENTAGE
FROM CEDITALK_SURVEY
GROUP BY MONTHS_EXPENSES_SAVED
ORDER BY PERCENTAGE

Amount of Savings Overall

SELECT MONEY_SAVED_UP, COUNT(*) AS TOTAL_COUNT,
       COUNT(*)  / (SELECT COUNT(*) FROM CEDITALK_SURVEY ) AS PERCENTAGE
FROM CEDITALK_SURVEY
GROUP BY MONEY_SAVED_UP
ORDER BY PERCENTAGE

Amount of Savings Per Monthly Salary Range

SELECT TAKE_HOME_RANGE, MONEY_SAVED_UP,
       COUNT(*) AS TOTAL_COUNT,
       COUNT(*) / SUM(COUNT(*)) OVER (PARTITION BY TAKE_HOME_RANGE) AS PERCENTAGE
FROM CEDITALK_SURVEY 
GROUP BY TAKE_HOME_RANGE, MONEY_SAVED_UP
ORDER BY TAKE_HOME_RANGE

Age & Amount of Savings

SELECT AGE, MONEY_SAVED_UP,
       COUNT(*) AS TOTAL_COUNT,
       COUNT(*) / SUM(COUNT(*)) OVER (PARTITION BY AGE) AS PERCENTAGE
FROM CEDITALK_SURVEY
GROUP BY AGE, MONEY_SAVED_UP
ORDER BY AGE, MONEY_SAVED_UP

Employment Status/Type & Months of Savings

SELECT MONTHS_EXPENSES_SAVED, TYPE_OF_EMPLOYMENT,
COUNT(*) AS TOTAL_COUNT,
COUNT(*)  / SUM(COUNT(*)) OVER (PARTITION BY TYPE_OF_EMPLOYMENT) AS PERCENTAGE
FROM CEDITALK_SURVEY 
GROUP BY MONTHS_EXPENSES_SAVED, TYPE_OF_EMPLOYMENT
ORDER BY  TYPE_OF_EMPLOYMENT

Monthly Salary & Months of Savings

SELECT MONTHS_EXPENSES_SAVED, TAKE_HOME_RANGE,
COUNT(*) AS TOTAL_COUNT,
COUNT(*) / SUM(COUNT(*)) OVER (PARTITION BY TAKE_HOME_RANGE) AS PERCENTAGE
FROM CEDITALK_SURVEY 
GROUP BY MONTHS_EXPENSES_SAVED, TAKE_HOME_RANGE
ORDER BY MONTHS_EXPENSES_SAVED, TAKE_HOME_RANGE

Sex & Amount of Savings

SELECT MONEY_SAVED_UP,GENDER,
COUNT(*) AS TOTAL_COUNT,COUNT(*) / SUM(COUNT(*)) OVER (PARTITION BY GENDER) AS PERCENTAGE
FROM CEDITALK_SURVEY 
GROUP BY MONEY_SAVED_UP,GENDER
ORDER BY MONEY_SAVED_UP,GENDER

Industry Overall

SELECT INDUSTRY, COUNT(*) AS TOTAL_COUNT,
       COUNT(*)  / (SELECT COUNT(*) FROM CEDITALK_SURVEY) AS PERCENTAGE
FROM CEDITALK_SURVEY
GROUP BY INDUSTRY
HAVING COUNT(*) > 0
ORDER BY PERCENTAGE

Monthly Income By Industries of Employment

SELECT TAKE_HOME_RANGE,INDUSTRY,
COUNT(*) AS TOTAL_COUNT,COUNT(*)  / SUM(COUNT(*)) OVER (PARTITION BY INDUSTRY) AS PERCENTAGE
FROM CEDITALK_SURVEY WHERE INDUSTRY = :P8_INDUSTRY
GROUP BY TAKE_HOME_RANGE,INDUSTRY
ORDER BY TAKE_HOME_RANGE ASC 

Amount of Savings By Industries of Employment

SELECT MONEY_SAVED_UP,INDUSTRY,
COUNT(*) AS TOTAL_COUNT,COUNT(*)  / SUM(COUNT(*)) OVER (PARTITION BY INDUSTRY) AS PERCENTAGE
FROM CEDITALK_SURVEY WHERE INDUSTRY = :P8_INDUSTRY_1
GROUP BY MONEY_SAVED_UP,INDUSTRY
ORDER BY MONEY_SAVED_UP ASC

Amount of Savings by Age

SELECT MONEY_SAVED_UP,
       AGE,
       COUNT(*)  / SUM(COUNT(*)) OVER (PARTITION BY AGE) AS AGE_PERCENTAGE
FROM CEDITALK_SURVEY WHERE AGE = :P13_AGE_RANGE
GROUP BY MONEY_SAVED_UP, AGE
ORDER BY MONEY_SAVED_UP

Amount of Savings by Gender

SELECT MONEY_SAVED_UP,
       GENDER,
       COUNT(*)  / SUM(COUNT(*)) OVER (PARTITION BY GENDER) AS PERCENTAGE
FROM CEDITALK_SURVEY WHERE GENDER = :P13_GENDER
GROUP BY MONEY_SAVED_UP, GENDER
ORDER BY MONEY_SAVED_UP

Amount of Savings by Marital Status

SELECT MONEY_SAVED_UP,
      MARITAL_STATUS,
       COUNT(*)  / SUM(COUNT(*)) OVER (PARTITION BY MARITAL_STATUS) AS PERCENTAGE
FROM CEDITALK_SURVEY WHERE MARITAL_STATUS = :P13_MARITAL_STATUS
GROUP BY MONEY_SAVED_UP, MARITAL_STATUS
ORDER BY MONEY_SAVED_UP

Amount of Savings by Number of Dependents

SELECT MONEY_SAVED_UP,
      NUMBER_OF_DEPENDENTS,
       COUNT(*)  / SUM(COUNT(*)) OVER (PARTITION BY NUMBER_OF_DEPENDENTS) AS PERCENTAGE
FROM CEDITALK_SURVEY WHERE NUMBER_OF_DEPENDENTS = :P13_NUMBER_OF_DEPENDENTS
GROUP BY MONEY_SAVED_UP, NUMBER_OF_DEPENDENTS
ORDER BY MONEY_SAVED_UP

Amount of Savings by Education Level

SELECT MONEY_SAVED_UP,
      EDUCATIONAL_LEVEL,
       COUNT(*)  / SUM(COUNT(*)) OVER (PARTITION BY EDUCATIONAL_LEVEL) AS PERCENTAGE
FROM CEDITALK_SURVEY WHERE EDUCATIONAL_LEVEL = :P13_EDUCATIONAL_LEVEL
GROUP BY MONEY_SAVED_UP, EDUCATIONAL_LEVEL
ORDER BY MONEY_SAVED_UP

Monthly Earnings by Age

SELECT TAKE_HOME_RANGE,
       AGE,
       COUNT(*)  / SUM(COUNT(*)) OVER (PARTITION BY AGE) AS PERCENTAGE
FROM CEDITALK_SURVEY WHERE AGE = :P14_AGE_RANGE
GROUP BY TAKE_HOME_RANGE, AGE
ORDER BY TAKE_HOME_RANGE

Monthly Earnings by Gender

SELECT TAKE_HOME_RANGE,
       GENDER,
       COUNT(*)  / SUM(COUNT(*)) OVER (PARTITION BY GENDER) AS PERCENTAGE
FROM CEDITALK_SURVEY WHERE GENDER = :P14_GENDER
GROUP BY TAKE_HOME_RANGE, GENDER
ORDER BY TAKE_HOME_RANGE

Monthly Earnings by Marital Status

SELECT TAKE_HOME_RANGE,
       MARITAL_STATUS,
       COUNT(*)  / SUM(COUNT(*)) OVER (PARTITION BY MARITAL_STATUS) AS PERCENTAGE
FROM CEDITALK_SURVEY WHERE MARITAL_STATUS = :P14_MARITAL_STATUS
GROUP BY TAKE_HOME_RANGE, MARITAL_STATUS
ORDER BY TAKE_HOME_RANGE

Monthly Earnings by Number of Dependents

SELECT TAKE_HOME_RANGE,
       NUMBER_OF_DEPENDENTS,
       COUNT(*)  / SUM(COUNT(*)) OVER (PARTITION BY NUMBER_OF_DEPENDENTS) AS PERCENTAGE
FROM CEDITALK_SURVEY WHERE NUMBER_OF_DEPENDENTS = :P14_NUMBER_OF_DEPENDENTS
GROUP BY TAKE_HOME_RANGE,NUMBER_OF_DEPENDENTS
ORDER BY TAKE_HOME_RANGE

Monthly Earnings by Education Level

SELECT TAKE_HOME_RANGE,
       EDUCATIONAL_LEVEL,
       COUNT(*)  / SUM(COUNT(*)) OVER (PARTITION BY EDUCATIONAL_LEVEL) AS PERCENTAGE
FROM CEDITALK_SURVEY WHERE EDUCATIONAL_LEVEL = :P14_EDUCATIONAL_LEVEL
GROUP BY TAKE_HOME_RANGE,EDUCATIONAL_LEVEL
ORDER BY TAKE_HOME_RANGE

Age Respondents

SELECT AGE,
       COUNT(*) AS COUNT,
       COUNT(*) / SUM(COUNT(*)) OVER () AS AGE_PERCENTAGE
FROM CEDITALK_SURVEY
GROUP BY AGE

Gender Respondents

SELECT GENDER,
       COUNT(*) AS COUNT,
       COUNT(*) / SUM(COUNT(*)) OVER () AS PERCENTAGE
FROM CEDITALK_SURVEY
GROUP BY GENDER

Martial Status Respondents

SELECT MARITAL_STATUS,
       COUNT(*) AS COUNT,
       COUNT(*) / SUM(COUNT(*)) OVER () AS PERCENTAGE
FROM CEDITALK_SURVEY
GROUP BY MARITAL_STATUS

Number of Dependents Respondents

SELECT NUMBER_OF_DEPENDENTS,
       COUNT(*) AS COUNT,
       COUNT(*) / SUM(COUNT(*)) OVER () AS PERCENTAGE
FROM CEDITALK_SURVEY
GROUP BY NUMBER_OF_DEPENDENTS

Highest Level of Education of Respondents

SELECT EDUCATIONAL_LEVEL,
       COUNT(*) AS COUNT,
       COUNT(*) / SUM(COUNT(*)) OVER () AS PERCENTAGE
FROM CEDITALK_SURVEY
GROUP BY EDUCATIONAL_LEVEL

Region of Respondents

SELECT BASED_REGION,
       COUNT(*) AS COUNT,
       COUNT(*) / SUM(COUNT(*)) OVER () AS PERCENTAGE
FROM CEDITALK_SURVEY
GROUP BY BASED_REGION

About

Interactive Dashboard with Oracle Apex

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published