This Data Analyst Portfolio-1, This Example is only for getting started with cleaning, Organizing, Exploration and Visualization in Power-BI
The business request for this project was created by karan shah. By deciding on a business processes to analyze (exercise data) the following user story was derived.
| # | As a (role) | Users Request & need | So the user should know & he does enough activity again.:thermometer: (user value) | Acceptance Criteria |
| 1 | Exercise enthusiast | I want to track my steps | To ensure I get enough activity | A Power BI dashboard which lets me get an easy and quick overview of my exercise data. |
The necessary data was collected and structured in Excel files. The exercise data was organized as a Fact_Activity and Dim_Date by defining the relation between the Activity_name and Date.
❔The Question's at initial stage,& Answered in consolidation| What are the requirements to gather the fitbit data, and in order to analyse what? |
| The requriments of complete data without any kind of anomalies, The regular exercise in the day is enough to achieve the fitness goals |
| To know What are our activities, and is that activity enough to burn the required calories sustantialy. |
| To do discriptive analysis The time of week, my activity is at most |
| To do predictive analysis to know what will be the required activity by catagories such as walking and running |
| Analyzing the negative factors affecting which hinders consistency in porformance growth like any (injury) |
❗ Fact Exercise
Exercise data were recorded every single date and the focus was on amount of steps. The date column is used to connect to the date dimension and Activity_FK is used to connect to the activity dimension.
Following steps were done in Power BI to transform this table to be ready for analysis purposes:
- Promoted row so that the data so that the first row was used as headers.
- Removed unnecessary columns.
- Changed column to have the correct type (date, numbers etc.) for later use in calculations.
❗Dim_Activity
DIM_Activity describes two different types of activities: Walking and running. On some days walking was chosen as a preferred activity time, and other days running were performed. Some minor data issues in this table was later cleaned up and corrected.
Following steps were done in Power BI to transform this table to be ready for analysis purposes:
- Promoted row so that the data so that the first row was used.
- Renamed necessary columns to give better business friendly names.
- Capitalized each for in the description column for improved data quality.
❗DIM_Date
The DIM_Date dimension is based on a simple table with dates, where date was used to derive several new fields which would be used in the exercise analysis dashboard:
- Promoted row so that the data so that the first row was used.
- Changed the column to DateType
- Inserted several new columns based on the date.
Below is a screenshot of the data model after cleansed and prepared tables were read into Power BI.
We can see that the FACT table is connected to two dimension tables with the correct relationship established (1 to *) between dimension and fact tables.
The following calculations were created in the Power BI reports using DAX (Data Analysis Expressions). To lessen the extent of coding, the re-use of measures (measure branching) was emphasized:
Average Steps – This is a simple AVERAGE function around the Steps column:
AVERAGE( FACT_Activity[Steps] )
Total Steps – This is a simple SUM function around the Steps column:
SUM( FACT_Activity[Steps] )
Steps (Running) – This is a calculation to isolate the Total Steps measure by filtering it by the “Running Activity”:
(
[Total Steps],DIM_Activity[ActivityName] = “Running”
)
Steps (Walking) – This is a calculation to isolate the Total Steps measure by filtering it by the “Walking Activity”:
CALCULATE
(
[Total Steps], DIM_Activity[ActivityName] = “Running”
)
Steps (Walking) – This is a calculation to isolate the Total Steps measure by filtering it by the “Walking Activity”:
Running % of Total – Here we are using two measures from before to find the % of steps that were done by running:
DIVIDE
(
[Steps (Running)], [Total Steps]
)
Walking % of Total – Here we are using two measures from before to find the % of steps that were done by walking:
(
[Steps (Walking)], [Total Steps]
)
Total Steps (Cumulative) – Here we are re-using the Total Steps measure and using different functions to cumulatively calculate the total steps:
(
[Total Steps],FILTER ( ALLSELECTED ( DIM_Date ), DIM_Date[Date]<= MAX( FACT_Activity[Date] ))
)
Week Over Week % Change Steps – Here we are using the Total Steps measure and using different functions, with variables, to calculate the Week over Week % Change of Steps:
VAR CurrentWeek = CALCULATE
(
[Total Steps],FILTER(ALL( DIM_Date ),
DIM_Date[Week of Year] = SELECTEDVALUE( DIM_Date[Week of Year] ))
)
VAR PreviousWeek = CALCULATE
(
[Total Steps],
FILTER
(ALL( DIM_Date ),
DIM_Date[Week of Year] = SELECTEDVALUE( DIM_Date[Week of Year] ) – 1)
)
RETURN DIVIDE(( CurrentWeek – PreviousWeek ), PreviousWeek )'''
In This portfolio i have concluded the basic dashboard using DAX (Data Analysis Expression) language.








