Rufyda's avatar
Rufyda
Super User
1 year ago

Crime Data Analysis with Power BI

📌Project Overview

This project provides an in-depth analysis of crime data using Power BI. The dataset includes various crime attributes such as type, location, time, and status. Through interactive dashboards, users can gain valuable insights into crime patterns, trends, and distributions.

🚀Features

  • Interactive Dashboards 📊 for data visualization
  • Crime Trends Analysis 🕵️‍♂️
  • Geospatial Mapping 📍 to analyze crime locations
  • Demographic Insights 📈 on victims
  • Filterable Reports 🔍 for deep exploration

🔗Live Dashboard

Experience the interactive Power BI dashboard here:
🔗Microsoft Power BI
📂Dataset Description

The dataset includes:

  • More than 1 million crime records in the United States from 2020 to 2024 📅
  • Most crimes occurred in the first quarter of the year, particularly in January ❄️
  • The highest crime activity was recorded in 2022 and 2023 📊
  • The most common crimes were theft-related incidents 🏠🚗
  • Crime Type (Assault, Theft, Vandalism, etc.)
  • Date & Time of Incident
  • Location Information (Latitude, Longitude, Cross Streets)
  • Weapons Used
  • Victim Demographics (Age, Gender, Ethnicity)

📥Download Dataset

You can access the dataset from Google Drive:
📂Crime Data

🛠️ Technologies Used

  • Power BI for data visualization
  • Excel/CSV for data preprocessing
  • Python (optional) for data cleaning and transformation

    📌How to Use

    1. Visit the Power BI Dashboard via the provided link.
    2. Use filters to explore crime trends in different areas.
    3. Analyze victim demographics and crime locations.

    👤About Me

    👋Hi, I'm Rufyda Rahma, a data analyst passionate about uncovering insights through data visualization. Connect with me on LinkedIn!

    Contribute

    If you have any suggestions or improvements, feel free to open an issue or fork the repository.

    📢 Don't forget to give this project a on GitHub!

    Rufyda (Rufyda Rahma)

 

 

 

 

3 Replies

  • Great attention to detail.This dashboard is both functional and stunning. 👏

  • really appreciate your kind words! Attention to detail makes all the difference. Glad you liked it🤍

  • No point repeating all these steps everywhere,

     

     

    Make it a stand-alone query and other queries reference to it,

    // _Data
    
    let
        Source = Csv.Document(File.Contents("D:\Downloads\Crime_Data_from_2020_to_Present.csv"),[Delimiter=",", Columns=28, Encoding=1252, QuoteStyle=QuoteStyle.None]),
        #"Promoted Headers" = Table.PromoteHeaders(Source, [PromoteAllScalars=true]),
        #"Changed Type with Locale" = Table.TransformColumnTypes(#"Promoted Headers", {{"TIME OCC", type time},{"DATE OCC", type datetime},{"Date Rptd", type datetime},{"AREA", Int64.Type}, {"Crm Cd", Int64.Type}, {"Vict Age", Int64.Type}, {"Premis Cd", Int64.Type}, {"Weapon Used Cd", Int64.Type}}, "en-US"),
        #"Replaced Value" = Table.ReplaceValue(#"Changed Type with Locale",null,500,Replacer.ReplaceValue,{"Weapon Used Cd"}),
        #"Added Conditional Column" = Table.AddColumn(#"Replaced Value", "TimeOfDay", each {"Morning","Noon","Evening","Night"}{List.PositionOf({12,19,23,24}, Time.Hour([TIME OCC]), 0, (x,y) => x>y)}, type text),
        #"Added Conditional Column1" = Table.AddColumn(#"Added Conditional Column", "categorize_age", each {"Child","Adolescent","Young Adult","Middle-Age","Older Adult","Senior"}{List.PositionOf({13,18,30,45,60,150}, [Vict Age], 0, (x,y) => x>=y)}, type text)
    in
        #"Added Conditional Column1"
    // Premis
    
    let
        Source = _Data,
        #"Removed Other Columns" = Table.SelectColumns(Source,{"Premis Cd", "Premis Desc"}),
        #"Removed Duplicates" = Table.Distinct(#"Removed Other Columns", {"Premis Desc"})
    in
        #"Removed Duplicates"

     

    // Status
    
    let
        Source = _Data,
        #"Removed Other Columns" = Table.SelectColumns(Source,{"Status", "Status Desc"}),
        #"Removed Duplicates" = Table.Distinct(#"Removed Other Columns", {"Status Desc"})
    in
        #"Removed Duplicates"