EXCELYTICS - POWER BI PROJECT
Excellent Stores is a super market chain having their presence in many cities of US.
You need to create a dashboard that shows the performance of Excellent Stores on Sales Data
The objective of the Dashboard is to enable the Management understand the Sales Turnover at various
Locations and Profitability of the Products.
Data files for the Report are available in attached Datset.zip
Note:
Please follow the instructions carefully and achieve the output as displayed in the reference images.
Preparing PowerBI File:
Open a new File
Click on View => Themes => Customize current Theme.
Select appropriate Colors Fonts and Size as per Organizational requirements.
Add Org. Logo and a Report Title with Background and fonts.
Save it as .pbit file
1. Import all the files into a new Power BI file
a. Dimensions file consist of Customers ,Products People and Region Data
b. Sales folder has multiple csv files for yearly Sales Transactions rename as SalesRecords
c. Sales Returns as list of sales orders returned by Consumers
d. A Blank Query and name it as MyMeasures: To save all Measures into a separate Table
2. Use the Power Query Editor to exclude “null” in Order ID column from ”SalesRecords’ Table
3. The headers are missing in the product table. Please do a necessary transformation to get the headers
for the table
4. Exclude “null” in Customer ID columns from “Customers” Table
5. Make sure that sales for all years is loaded into a single Table
6. Remove Null rows and columns from People Table
6. Combine Sales returns to identify Sales “Returned” as column in SalesRecords Table
Excelytics
406, 4th Floor, KVR Enclave, Above ICICI Bank
Between Gurudwara & Sathyam Theatre, Ameerpet, Hyderabad – 500016
Call Us @ 040-40077555/8686836999/8297174111 [email protected] www.excelytics.in
EXCELYTICS - POWER BI PROJECT
5. In the new Column “Returned”, replace null with False
5. Load all tables into Power BI. The data model should look like the below image:
6. Make sure the cross filter direct is “Both” (not single) for both of the Products and Customers
7. Create a Date table named “Calender” in DAX to store all Dates, Year, Month, Month Name
8. Set Sort order for Month Name based on Month.
Excelytics
406, 4th Floor, KVR Enclave, Above ICICI Bank
Between Gurudwara & Sathyam Theatre, Ameerpet, Hyderabad – 500016
Call Us @ 040-40077555/8686836999/8297174111 [email protected] www.excelytics.in
EXCELYTICS - POWER BI PROJECT
9. Create the following DAX measures in “MyMeasures” Table
a. Net Cost = SUMX(FILTER(SalesRecords,
SalesRecords[Returned]=FALSE),SalesRecords[Cost Price])
b. Total Sales = SUM(SalesRecords[Sales Amt])
c. Net Sales = CALCULATE([Total Sales],SalesRecords[Returned] =False)
d. Net Profit = [Net Sales] - [Net Cost]
e. Profit % = DIVIDE([Net Profit],[Net Cost],0)
f. Avgsales = AVERAGE(SalesRecords[Sales Amt])
g. Moving avg sales = calculate([Avgsales],FILTER(all(calender),calender[Date] >=
MAX(calender[Date])-7 && calender[Date] <= MAX(calender[Date])))
h. Last Yr Sales = calculate([Total Sales],SAMEPERIODLASTYEAR(calender[Date]))
i. Cumilative Sales can be displayed using
Cum Sales = CALCULATE([Total Sales],FILTER(ALLSELECTED(calender),
calender [Date]<=MAX(calender [Date])))
j. Cumilative Sales Last Year can be displayed using
LR cum Sales = CALCULATE([Last yr Sales],FILTER(ALLSELECTED(calender),
calender [Date]<=MAX(calender [Date])))
Excelytics
406, 4th Floor, KVR Enclave, Above ICICI Bank
Between Gurudwara & Sathyam Theatre, Ameerpet, Hyderabad – 500016
Call Us @ 040-40077555/8686836999/8297174111 [email protected] www.excelytics.in
EXCELYTICS - POWER BI PROJECT
k. TotalofTop3Products = SUMX(TOPN(3,VALUES('Product Data'[Product]),[Total Sales]),[Total
Sales])
l. Top 3 Share = Divide(TotalofTop3Products,[Total Sales],0)
M. YTDsales = TOTALYTD([Total Sales],calender[Date])
N. MTDsales = TOTALMTD([Total Sales],calender[Date])
Ranking Customers by Sales
1) In Customer Data add a column Cust sales = [Total Sales]
2) CustRank = RANK.EQ('Customer Data'[Cust sales],'Customer Data'[Cust sales])
3) Measure Top3Customersales = SUMX(FILTER('Customer Data','Customer
Data'[CustRank]<=3),'Customer Data'[Cust sales])
10. Make sure the Profit % DAX measure is formatted as “%” with no decimals
11. Create the following Dashboard
Page 1
a. Map chart: Use a Hierarchy to Show total profit by Country with ability to Drilldown to Region
,State ,City and Customer
b. Line and Clustered Column chart: Total sales and Profit % by Segment
c. Clustered Column chart: Total Profit by Category with ability to Drill down to sub category and
Product level.
Page 2
d. Line chart: Average Sales by Date (It shows year by default as per date hierarchy)
e. Line chart: Moving Avg Sales by Date (It shows year by default as per date hierarchy)
Observe that Moving Avg sales gives a smoother curve .
f. Donut chart: Total Profit by Ship Mode
g. Table: Show Profit % by Sub-Category (Note: Sort in Descending Order by Profit %. Hint: Click
on Profit % column in the table)
Excelytics
406, 4th Floor, KVR Enclave, Above ICICI Bank
Between Gurudwara & Sathyam Theatre, Ameerpet, Hyderabad – 500016
Call Us @ 040-40077555/8686836999/8297174111 [email protected] www.excelytics.in
EXCELYTICS - POWER BI PROJECT
Page 3
a. Slicers for Year Region and Category
b. Cards for Total Sales, Total Cost, Profit %
c. KPI Indicating Current Month Sales compared with Goal (Last year Sales)
d. Pie chart showing Sales in Each Category
e. Pie chart showing Sales in each Region
f. Line chart showing Monthly sales and Last year sales.
Note: Make sure that the Pie Charts have no impact when specific Region is selected in the slicer
Page 4
a. Slicers for Year Region and Category
b. Card showing Total sales from Top 3 Products
c. Card showing % share of Top 3 products on over all Sales
d. A Bar chart showing sales of Top 10 Products by Sales
e. Use Bookmarks to enable uses see Top 5, Top 8 or Top 12 based on Button Click
Page 5
a. Create a Table showing Total sales for the selected month in 2022
b. Add a measure Target Sales = [Last Yr sales] * (1+ X%)
c. Use What if Parameters to enable user select a value for
X ranging from 5% to 50% in steps of 5%
d. Add the Target sales to the Table created above
Create 3 more pages based on Page 3 as described above.
Each of the pages shall display data for 1 segment only
Setup the report to display data from 2020 and later only
Add slicers for Year, Region and Category in all Pages and make sure that the selection in any page is
reflected in all pages.
Add 3 icons on the pages to navigate to the next, previous or Home Pages.
Publish the report to service
Excelytics
406, 4th Floor, KVR Enclave, Above ICICI Bank
Between Gurudwara & Sathyam Theatre, Ameerpet, Hyderabad – 500016
Call Us @ 040-40077555/8686836999/8297174111 [email protected] www.excelytics.in