Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Crime Analytics Data Warehouse

An end-to-end crime analytics and business intelligence solution combining Oracle PL/SQL, ETL processing, dimensional data warehousing, Oracle APEX, Microsoft Excel and Tableau to transform raw crime data into interactive analytical reports and dashboards.

Oracle PL/SQL APEX Tableau Excel


ShapeScript IDE Banner

Overview

Crime Analytics Data Warehouse is an end-to-end data warehousing and business intelligence project designed to transform raw police and crime datasets into structured information suitable for analytical reporting and decision support.

The project implements a complete data pipeline covering:

Data Staging → Validation → Cleaning → Transformation → Dimensional Modelling → Warehouse Loading → Analytical Reporting → Dashboard Visualisation

Oracle Database and PL/SQL form the core data-processing layer, while analytical outputs are presented through Oracle APEX, Microsoft Excel and Tableau.

Rather than focusing only on individual SQL queries or isolated visualisations, the project demonstrates how raw operational data can be processed through a structured ETL pipeline and converted into a dimensional analytical environment.


System Workflow

┌──────────────────────────────┐
│       Raw Crime Data         │
│     Multiple Data Sources    │
└───────────────┬──────────────┘
                │
                ▼
┌──────────────────────────────┐
│        Staging Layer         │
│                              │
│  Raw data loaded into Oracle │
│       staging tables         │
└───────────────┬──────────────┘
                │
                ▼
┌──────────────────────────────┐
│     Data Quality Process     │
│                              │
│  Good / Bad Data Separation │
│  Cleaning & Re-cleaning     │
└───────────────┬──────────────┘
                │
                ▼
┌──────────────────────────────┐
│     Transformation Layer     │
│                              │
│ PL/SQL Procedures & Packages│
│ Standardisation & Mapping   │
└───────────────┬──────────────┘
                │
                ▼
┌──────────────────────────────┐
│    Dimensional Warehouse     │
│                              │
│   Dimensions + Crime Facts  │
└───────────────┬──────────────┘
                │
                ▼
┌──────────────────────────────┐
│      Analytical Layer        │
│                              │
│ SQL Reports • Views • KPIs  │
└───────────────┬──────────────┘
                │
        ┌───────┼────────┐
        ▼       ▼        ▼
      APEX    Excel    Tableau

The design separates operational data processing from the analytical structures used for reporting.


ETL & Data Warehousing

The core of the project is the Oracle-based Extract, Transform and Load (ETL) pipeline.

Raw source data is first loaded into staging tables, providing an intermediate layer between the source datasets and the final warehouse.

The pipeline performs:

  • Source data staging
  • Data validation
  • Good and bad record separation
  • Data cleaning
  • Re-cleaning of problematic records
  • Data transformation
  • Data standardisation
  • Dimension loading
  • Fact-table loading
  • Analytical view generation

Crime Analytics ETL Architecture

The separation between staging, transformation and warehouse layers prevents analytical reporting from depending directly on unprocessed source data.


Oracle & PL/SQL Implementation

Oracle Database provides the primary data-processing and warehouse environment.

The repository contains dedicated SQL and PL/SQL scripts for the major stages of the pipeline.

oracle/
├── apex/
│   └── police-analysis-system.sql
│
└── sql/
    ├── staging-tables.sql
    ├── staging-procedures.sql
    ├── data-cleaning.sql
    ├── data-separation.sql
    ├── transformation.sql
    ├── warehouse-load.sql
    ├── analytical-reports.sql
    ├── analytical-views.sql
    └── analytical-update.sql

The implementation demonstrates database development techniques including:

  • SQL
  • PL/SQL procedures
  • PL/SQL packages
  • Cursors
  • Sequences
  • Triggers
  • MERGE operations
  • SQL views
  • Analytical queries
  • Staging tables
  • Dimension tables
  • Fact tables

This allows the data-processing workflow to be implemented through database-side logic rather than relying entirely on manual data manipulation.


Dimensional Data Warehouse

Following transformation, cleaned records are loaded into an analytical warehouse structured around dimension and fact data.

Conceptually, the warehouse follows the following structure:

                    ┌─────────────────┐
                    │      Date       │
                    │    Dimension    │
                    └────────┬────────┘
                             │
                             │
┌─────────────────┐          │          ┌─────────────────┐
│ Crime Category  │          │          │ Police Station  │
│    Dimension    │          │          │    Dimension    │
└────────┬────────┘          │          └────────┬────────┘
         │                   │                   │
         └───────────┐       │       ┌───────────┘
                     ▼       ▼       ▼
                 ┌───────────────────────┐
                 │      Crime Fact       │
                 │                       │
                 │ Analytical Measures   │
                 │ & Warehouse Keys      │
                 └───────────────────────┘
                     ▲       ▲       ▲
         ┌───────────┘       │       └───────────┐
         │                   │                   │
┌────────┴────────┐  ┌───────┴────────┐  ┌──────┴─────────┐
│     Region      │  │ Police Officer │  │   Additional   │
│    Dimension    │  │   Dimension    │  │   Dimensions   │
└─────────────────┘  └────────────────┘  └────────────────┘

The dimensional structure allows analytical questions to be evaluated across areas such as:

  • Time
  • Crime type
  • Region
  • Police station
  • Police officer
  • Crime status

This structure is better suited to analytical workloads than repeatedly querying raw operational data.


Business Intelligence & Analytics

The processed warehouse data is analysed through three reporting and business-intelligence environments:

  1. Oracle APEX
  2. Microsoft Excel
  3. Tableau

Each demonstrates a different approach to transforming processed crime data into useful analytical information.


Oracle APEX Analytics

The project includes an exported Oracle APEX application used to provide interactive crime analytics and reporting.

The application provides a browser-based interface over the underlying Oracle data and analytical queries.

Oracle APEX Crime Analytics Dashboard

Analytical Capabilities

The Oracle analytical component explores areas including:

  • Police officers by station and region
  • Crime status distribution
  • Crime workload per police officer
  • Crimes reported over time
  • Crime type analysis
  • Police-station analysis
  • Regional crime patterns

These reports transform warehouse records into information that can support operational analysis and decision-making.


Hierarchical Analysis

The application supports hierarchical exploration of police information.

Region
   ↓
Police Station
   ↓
Police Officers

This structure enables users to move from a broader regional perspective towards more detailed station and officer-level information.


Analytical SQL

The project also contains dedicated SQL scripts for analytical reporting independent of the visual dashboards.

The analytical layer investigates areas such as:

Officer Distribution
        │
        ├── Police Station
        └── Region

Crime Analysis
        │
        ├── Crime Status
        ├── Crime Category
        └── Crime Trends

Operational Analysis
        │
        ├── Officer Workload
        ├── Police Stations
        └── Regional Patterns

Analytical views provide reusable database-level representations of important reporting queries.

This creates a separation between the warehouse and presentation layers:

Warehouse Data
      ↓
Analytical SQL
      ↓
Analytical Views
      ↓
Presentation Layer

Microsoft Excel Analytics

Microsoft Excel provides another business-intelligence layer for exploring and presenting the crime data.

The analytical workbook contains multiple analyses covering temporal, demographic and operational aspects of the dataset.


Excel Dashboard

The Excel dashboard consolidates important analytical results into a single visual interface.

Microsoft Excel Crime Analytics Dashboard


Yearly & Monthly Crime Analysis

The workbook supports both high-level and detailed temporal analysis.

Yearly Crime Analysis    Monthly Crime Analysis

These analyses make it possible to examine how recorded crime changes across different periods.

Year-level reporting provides a broader perspective, while monthly analysis enables more granular investigation of changes and patterns.


Crime by Police Station

The workbook also analyses the distribution of crime across police stations.

Crime Analysis by Police Station

This provides an operational perspective by allowing crime volumes to be compared between different stations.


Crime by Police Officer

Officer-level analysis provides another perspective on crime records and workload distribution.

Crime Analysis by Police Officer

This type of analysis can help identify differences in recorded workload across officers.


Age Range Analysis

The Excel workbook also explores the data from a demographic perspective.

Crime Age Range Analysis

Age-range analysis demonstrates how the analytical dataset can be explored using demographic dimensions in addition to location, time and operational attributes.


Tableau Business Intelligence

The project also contains a Tableau workbook and its supporting analytical dataset.

Tableau provides interactive visual analytics across several dimensions of the crime data.

The Tableau implementation includes:

  • Crime time-series analysis
  • Crime rate by police officer
  • Crime resolution analysis
  • Year-to-year comparison
  • What-if analysis
  • Interactive dashboard reporting

Tableau Dashboard

The main Tableau dashboard combines multiple analytical views into an interactive business-intelligence interface.

Tableau Crime Analytics Dashboard


Crime Time-Series Analysis

Tableau Crime Time Series Analysis

Time-series analysis provides a visual representation of how recorded crime changes over time and helps identify temporal patterns.


Crime Rate by Police Officer

Tableau Crime Rate by Police Officer

Officer-level analysis provides insight into how crime records are distributed across individual police officers.


Crime Resolution Analysis

Tableau Crime Resolution Rate Analysis

Resolution analysis provides a perspective on crime outcomes and the status of recorded incidents.


Year-to-Year Comparison

Tableau Year-to-Year Crime Comparison

Comparative analysis allows crime patterns from different years to be evaluated against one another.


What-If Analysis

Tableau What-If Analysis

The Tableau component also demonstrates exploratory what-if analysis, extending the project beyond static descriptive reporting.


Analytical Questions

The project demonstrates how a dimensional crime warehouse can support questions such as:

How does recorded crime change over time?

Which police stations experience greater crime volumes?

How are crimes distributed across different regions?

Which crime categories occur most frequently?

How does workload vary between police officers?

What proportion of recorded crimes reach different resolution states?

How do crime patterns compare between different years?

Are there observable patterns across demographic groups?

These questions illustrate the transition from raw data storage to decision-support analytics.


Technology Stack

Technology Role
Oracle Database Core database and warehouse platform
SQL Data definition, manipulation and analytical querying
PL/SQL ETL procedures and database-side processing
Oracle APEX Interactive analytical application and dashboards
Dimensional Modelling Analytical warehouse design
ETL Data staging, cleaning, transformation and loading
Microsoft Excel Analytical reporting, charts and dashboard visualisation
Tableau Interactive business-intelligence visualisation
CSV Analytical data interchange

Repository Structure

Crime-Analytics-Data-Warehouse/
│
├── oracle/
│   ├── apex/
│   │   └── police-analysis-system.sql
│   │
│   └── sql/
│       ├── staging-tables.sql
│       ├── staging-procedures.sql
│       ├── data-cleaning.sql
│       ├── data-separation.sql
│       ├── transformation.sql
│       ├── warehouse-load.sql
│       ├── analytical-reports.sql
│       ├── analytical-views.sql
│       └── analytical-update.sql
│
├── tableau/
│   ├── crime-analysis.twb
│   └── crime-analysis.csv
│
├── excel/
│   └── crime-analysis.xlsx
│
├── documentation/
│   ├── project-documentation.docx
│   └── plsql-documentation.docx
│
├── docs/
│   └── screenshots/
│       ├── etl_architecture.png
│       ├── excel_age_range.png
│       ├── excel_crime_by_officer.png
│       ├── excel_crime_by_year.png
│       ├── excel_crime_monthly.png
│       ├── excel_crime_station.png
│       ├── excel_dashboard.png
│       ├── oracle_apex_dashboard.png
│       ├── tableau_crime_rate_officer.png
│       ├── tableau_dashboard.png
│       ├── tableau_resolution_rate.png
│       ├── tableau_time_series.png
│       ├── tableau_what_if_analysis.png
│       └── tableau_year_comparison.png
│
├── .gitignore
└── README.md

ETL Pipeline in Detail

1. Data Staging

Source records are initially imported into staging tables.

The staging layer preserves incoming data separately from the final analytical warehouse and provides a controlled environment for validation and transformation.

Raw Source Data
       ↓
  Staging Tables
       ↓
Data Quality Checks

2. Data Quality Processing

Records are evaluated before warehouse loading.

The project contains dedicated logic for:

  • Separating valid and problematic records
  • Cleaning inconsistent data
  • Reprocessing problematic records
  • Preparing values for transformation
              Staging
                 ↓
             Validation
                 ↓
        ┌────────┴────────┐
        │                 │
        ▼                 ▼
    Good Data          Bad Data
        │                 │
        │              Cleaning
        │                 │
        └────────┬────────┘
                 ▼
           Transformation

This prevents known data-quality problems from flowing directly into the analytical warehouse.


3. Data Transformation

PL/SQL transformation logic converts cleaned operational records into structures appropriate for dimensional analysis.

This stage prepares:

  • Dimension attributes
  • Warehouse keys
  • Standardised values
  • Fact-table relationships

The transformation layer acts as the bridge between cleaned operational records and the final analytical model.


4. Warehouse Loading

Transformed records are loaded into the dimensional model.

The loading process populates dimension data and establishes the corresponding fact records required for analysis.

Database-side mechanisms such as procedures, sequences, triggers and MERGE operations are used throughout the implementation.


5. Analytical Reporting

Once warehouse loading is complete, analytical SQL and reusable views provide the reporting layer used by the business-intelligence tools.

             Dimensional Warehouse
                      ↓
               Analytical SQL
                      ↓
               Analytical Views
                      ↓
          ┌───────────┼───────────┐
          │           │           │
          ▼           ▼           ▼
     Oracle APEX    Excel      Tableau

This architecture separates data processing from visual presentation.


Project Goals

The project was designed to demonstrate the complete process of converting raw data into meaningful analytical information.

Key objectives include:

  • Designing an ETL workflow
  • Managing data quality
  • Implementing database-side transformations
  • Building a dimensional warehouse
  • Creating reusable analytical queries
  • Developing interactive reports
  • Visualising crime trends and patterns
  • Supporting hierarchical analysis
  • Comparing analytical approaches across multiple BI platforms

What This Project Demonstrates

Data Engineering

  • ETL pipeline development
  • Data staging
  • Data validation
  • Data cleaning
  • Data transformation
  • Data-quality management
  • Warehouse loading

Database Development

  • Oracle SQL
  • PL/SQL
  • Procedures
  • Packages
  • Cursors
  • Sequences
  • Triggers
  • Views
  • MERGE operations

Data Warehousing

  • Dimensional modelling
  • Dimension tables
  • Fact tables
  • Analytical schemas
  • Warehouse-oriented data processing

Data Analytics

  • Analytical SQL
  • Trend analysis
  • Comparative analysis
  • Hierarchical analysis
  • Operational analysis
  • Demographic analysis
  • What-if analysis

Business Intelligence

  • Oracle APEX
  • Microsoft Excel
  • Tableau
  • Interactive dashboards
  • Analytical visualisation
  • Multi-dimensional reporting

Reproducing the Project

The repository preserves the original implementation and analytical artefacts.

Oracle

The oracle/sql/ directory contains the scripts responsible for staging, cleaning, transformation, warehouse loading and analytical reporting.

oracle/sql/

The exported Oracle APEX application is available under:

oracle/apex/

Importing and running the application requires a compatible Oracle Database/APEX environment and the associated database structures.


Microsoft Excel

The analytical Excel workbook is available under:

excel/

It contains the original spreadsheet-based analytical work and dashboard.


Tableau

The Tableau workbook and its supporting dataset are available under:

tableau/

A compatible Tableau environment is required to open and interact with the workbook.


Potential Improvements

If rebuilding and extending the platform today, possible improvements would include:

  • Automated ETL orchestration
  • Incremental warehouse loading
  • Formal data-quality metrics
  • ETL validation logging
  • Automated data-quality tests
  • Slowly Changing Dimensions where appropriate
  • A dedicated date dimension for richer temporal analysis
  • Direct BI connectivity to the analytical warehouse
  • Role-based dashboard access
  • Expanded KPI monitoring
  • Geospatial crime analysis
  • Crime forecasting
  • Anomaly detection
  • Automated database testing
  • CI/CD for database changes
  • Cloud-based analytical warehousing

These improvements would allow the original academic implementation to evolve towards a more modern production-style data platform.


Project Context

This project was originally developed as an academic data warehousing and business intelligence project.

It is preserved here as a portfolio project because it demonstrates substantially more than dashboard creation alone.

The complete workflow covers:

Raw Crime Data
      ↓
Data Staging
      ↓
Data Validation
      ↓
Data Cleaning
      ↓
Data Transformation
      ↓
Dimensional Warehouse
      ↓
Analytical SQL
      ↓
┌────────────┬────────────┬────────────┐
│            │            │            │
▼            ▼            ▼            ▼
Reports   Oracle APEX    Excel      Tableau

The repository therefore demonstrates the relationship between data engineering, database development, data warehousing, analytics and business intelligence within a single project.


Documentation

The repository also preserves the original project documentation and PL/SQL documentation.

These documents provide additional detail regarding the implementation, development process and analytical components of the system.

documentation/
├── project-documentation.docx
└── plsql-documentation.docx

Status

Completed

This repository is maintained as a portfolio demonstration of:

Oracle Data Warehousing • PL/SQL • ETL • SQL Analytics • Oracle APEX • Microsoft Excel • Tableau • Business Intelligence


About

End-to-end Crime Analytics Data Warehouse using Oracle SQL/PLSQL, ETL, dimensional modelling, Oracle APEX, Excel and Tableau for data analytics and BI

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages