Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!View all the Fabric Data Days sessions on demand. View schedule
03-03-2025 03:58 AM - last edited 03-03-2025 04:27 AM
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.
Experience the interactive Power BI dashboard here:
🔗Microsoft Power BI
📂Dataset Description
The dataset includes:
You can access the dataset from Google Drive:
📂Crime Data
👋Hi, I'm Rufyda Rahma, a data analyst passionate about uncovering insights through data visualization. Connect with me on LinkedIn!
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)
eyJrIjoiMmE3ODE4ZjUtZTNiMS00YWE5LTlmZjMtY2E4MGU4MzgwMjMzIiwidCI6ImE3NjhlZmQ4LTAxYzEtNDVmMC1hMzc2LWY1YjJiNjBlMzM2MiJ9
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"
Expertise = List.Accumulate( {Days as from Today}, {Skills and Knowledge}, (Current, Everyday) => Current & Day.LearnAndPractise(Everyday) ) |
I really appreciate your kind words! Attention to detail makes all the difference. Glad you liked it🤍
Great attention to detail.This dashboard is both functional and stunning. 👏