library("readxl")
library("dplyr")
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library("scales")
sales_summary <- read_excel("bike_orderlines.xlsx")
sales_summary <- sales_summary %>%
group_by(Prime_Category = category_1, Secondary_Category = category_2, Frame_Material = frame_material) %>%
summarize(Sales = sum(total_price), .groups = "drop")
sales_summary <- sales_summary %>%
mutate(Sales = dollar(Sales))
sales_summary <- sales_summary %>%
rename('Prime Category' = Prime_Category,
'Secondary Category' = Secondary_Category,
'Frame Material' = Frame_Material)
sales_summary <- sales_summary %>%
arrange(desc(Sales))
print(sales_summary)
## # A tibble: 13 × 4
## `Prime Category` `Secondary Category` `Frame Material` Sales
## <chr> <chr> <chr> <chr>
## 1 Road Elite Road Carbon $9,696,870
## 2 Road Endurance Road Carbon $8,768,610
## 3 Mountain Over Mountain Carbon $7,571,270
## 4 Road Elite Road Aluminum $5,637,795
## 5 Mountain Trail Carbon $4,835,850
## 6 Mountain Trail Aluminum $4,537,610
## 7 Road Triathalon Carbon $4,053,750
## 8 Mountain Cross Country Race Aluminum $3,318,560
## 9 Road Cyclocross Carbon $2,108,120
## 10 Mountain Cross Country Race Carbon $15,906,070
## 11 Mountain Sport Aluminum $1,932,755
## 12 Road Endurance Road Aluminum $1,612,450
## 13 Mountain Fat Bike Aluminum $1,052,620