__STYLES__

My Fitness Tracker (Power BI & Fabric)

Tools used in this project
My Fitness Tracker (Power BI & Fabric)

My Fitness Tracker

About this project

I started walking to get fit, but consistency was a problem. Then, a friend suggested using a Power BI dashboard with my walking data from Samsung Health. It made tracking my progress fun and helped me stay on track.

This project was born out of my personal fitness goals. I hope you enjoy browsing it as much as I enjoyed making it.

Data Source: Google Sheets

My Approach

undefined

Step 1: Collected the data from Samsung Health into Google Sheets.

Step 2: To avoid downloading the Google Sheet, I utilized Microsoft Fabric to automate the ETL (Extract, Transform, Load) process. I utilized Dataflow Gen 2 to ingest and perform incremental loading of the Google Sheet data. Check out how to set an incremental load using Dataflow Gen 2

Step 3: When I ingested the data into Fabric Lakehouse, it became a delta table. Furthermore, I normalized the data using SQL in Fabric Data Warehouse and saved those tables as views. Then, I created a Semantic Model for reporting and automated the whole process by leveraging the Data Factory pipeline. Click here to view my SQL code.

undefined

Step 4: Connected the semantic model to Power BI Desktop for reporting.

Challenges

  • Dataflow Gen 2 functions as an online Power Query tool. Unlike connecting directly with Google Sheets through Power Query in Excel/Power BI on-premise, Dataflow Gen 2 requires OAuth Credentials for Google Sheets connectivity, which can be easily generated using the Google Cloud Platform. Click here to set up OAuth 2.0.
  • To implement incremental loading with dates, a variable in M is required. Although it initially worked, the next day it failed. However, I managed to resolve the issue by creating an Index column at the source level.
  • The ability to change measure formats to dates is currently limited in the Semantic Model as of now (Feb-2024). Although I managed to do so initially using the FORMAT function, I later opted to develop the report using Power BI Desktop.
  • We can't make changes to measures from the Power BI online interface; adjustments must be made in the semantic model tab. Additionally, Sorting by Column is not available in Power BI online, unlike in Power BI Desktop. Hopefully, these features will be upgraded soon.
Discussion and feedback(2 comments)
comment-919-avatar
Chris Dutton
Chris Dutton
4 months ago
Love seeing your project breakdown Nilay, really helpful for those just getting started with Fabric & Power BI. Your report looks great as well – the calendar visual is a really nice touch! 💪

comment-1164-avatar
Matthew Garcia
3 months ago
Pretty cool set up!
2000 characters remaining