Business Professionals
Power BI | Power Pivot | Power Query | DAX
Cloud Flows | RPA | AI Builder | Copilot
60+ Formulas | Data Stories | Advanced Reporting & Modeling
VB Programming | Report Automation |
MS-Office Automation
Techno-Business Professionals
Power BI | Power Query | Advanced DAX | SQL - Query &
Programming
Microsoft Fabric | Power BI | Power Query | Advanced DAX |
SQL - Query & Programming
Power BI | Power Apps | Power Automate | Copilot Studio | Power Pages | Dataverse
Microsoft Power Apps | Microsoft Power Automate
Power BI | Adv. DAX | SQL (Query & Programming) |
VBA | Python | Web Scrapping | API Integration
Power BI | Power Apps | Power Automate |
SQL (Query & Programming)
Power BI | Adv. DAX | Power Apps | Power Automate |
SQL (Query & Programming) | VBA | Python | Web Scrapping | API Integration
Power Apps | Power Automate | SQL | VBA | Python |
Web Scraping | RPA | API Integration
Technology Professionals
Power BI | DAX | SQL | ETL with SSIS | SSAS | VBA | Python
Power BI | SQL | Azure Data Lake | Synapse Analytics |
Data Factory | Databricks | Power Apps | Power Automate |
Azure Analysis Services
Microsoft Fabric | Power BI | SQL | Lakehouse |
Data Factory (Pipelines) | Dataflows Gen2 | KQL | Delta Tables | Power Apps | Power Automate
Power BI | Power Apps | Power Automate | SQL | VBA | Python | API Integration
Power BI | Advanced DAX | Databricks | SQL | Lakehouse Architecture
Business Professionals
Power BI | Power Pivot | Power Query | DAX
Cloud Flows | RPA | AI Builder | Copilot
60+ Formulas | Data Stories | Advanced Reporting & Modeling
VB Programming | Report Automation |
MS-Office Automation
Techno-Business Professionals
Power BI | Power Query | Advanced DAX | SQL - Query &
Programming
Microsoft Fabric | Power BI | Power Query | Advanced DAX |
SQL - Query & Programming
Power BI | Power Apps | Power Automate | Copilot Studio | Power Pages | Dataverse
Microsoft Power Apps | Microsoft Power Automate
Power BI | Adv. DAX | SQL (Query & Programming) |
VBA | Web Scrapping | API Integration
Power BI | Power Apps | Power Automate |
SQL (Query & Programming)
Power BI | Adv. DAX | Power Apps | Power Automate |
SQL (Query & Programming) | VBA | Web Scrapping | API Integration
Power Apps | Power Automate | SQL | VBA |
Web Scraping | RPA | API Integration
Technology Professionals
Power BI | DAX | SQL | ETL with SSIS | SSAS | VBA
Power BI | SQL | Azure Data Lake | Synapse Analytics |
Data Factory | Azure Analysis Services
Microsoft Fabric | Power BI | SQL | Lakehouse |
Data Factory (Pipelines) | Dataflows Gen2 | KQL | Delta Tables
Power BI | Power Apps | Power Automate | SQL | VBA | API Integration
Power BI | Advanced DAX | Databricks | SQL | Lakehouse Architecture
LEARN THIS HANDS ON
Microsoft Fabric & Power BI
You’ve been the “Excel person” or “Power BI person” in your team for years, but every time someone mentions Lakehouses, OneLake, or Dataflows Gen2, it feels like a different world. You suspect Fabric could fix the weekly reporting chaos, but you’re not an engineer. This article gives a realistic 12‑week path showing how a finance or HR professional can go from zero Fabric experience to owning a small but real analytics product for their team.
We’ll follow a fictional HR business partner, Emma, who’s drowning in fragmented employee data and manual reports. She’s not in IT, but she knows her processes and her numbers. By week 12, she’s running a Fabric‑based pipeline and a Power BI report that her leadership actually trusts.
Emma’s HR team has:
Pain points:
Emma’s goal for 90 days:
Build and own a Fabric solution that lands HR data in OneLake, refreshes daily, and powers a stable Power BI report for headcount and attrition.
She’s allowed to use Fabric and Power BI, but not to rely on IT for day‑to‑day changes.
Emma already knows Power BI and basic data modeling. She doesn’t need a full platform deep‑dive, but she does need to understand what she’s touching.
Create a dedicated Fabric workspace for HR analytics
Viewer or Contributor depending on governance.Member permissions to create items.Spin up a simple Lakehouse
HR_Analytics_Lakehouse.Confirm basic security behaviour
By the end of week 2, Emma isn’t an architect, but she knows:
The first big win is to stop relying on manually managed Excel files. Emma’s focus: get three core datasets into OneLake daily.
Employees (from HR SaaS via OData)Payroll (from Excel files in SharePoint or OneDrive)LearningEvents (from CSV exports)Emma chooses Dataflows Gen2 because:
Example Power Query step to standardize department codes:
let
Source = OData.Feed("https://hr-saas.example.com/odata/employees", null, [Implementation="2.0"]),
Employees = Source{[Name="Employees"]}[Data],
FilterActive = Table.SelectRows(Employees, each [Status] = "Active"),
TrimDept = Table.TransformColumns(FilterActive, {{"DepartmentCode", Text.Trim, type text}})
in
TrimDept
In the destination settings, Emma maps the output to a new Lakehouse table:
HR_Analytics_LakehouseEmployeesSet the refresh schedule to run daily (e.g., early morning) using the dataflow’s built‑in scheduling.
Payroll.Key detail: Emma keeps the transformations schema‑stable (same column names and types) so new monthly files append cleanly. She avoids using file‑specific transforms that would break when a new file appears.
LearningEvents.By end of week 4, Emma has:
Right now, Emma’s Lakehouse has raw‑ish tables. They’re usable, but not ideal for reporting. She needs a simple, understandable structure.
For Emma’s scope:
She decides to keep everything in the Lakehouse and use the SQL analytics endpoint for her semantic model. A dedicated Warehouse could make sense later for broader reporting, but it’s not required for this 90‑day goal.
Emma uses the Lakehouse SQL analytics endpoint to define curated tables or views that Power BI will consume.
Example: Create a FactPayroll table joining Employees and Payroll.
CREATE TABLE dbo.FactPayroll
AS
SELECT
p.PayrollDate,
p.EmployeeId,
e.DepartmentCode,
e.CostCenter,
e.ManagerId,
p.BaseSalary,
p.BonusAmount,
p.Currency
FROM
dbo.Payroll AS p
INNER JOIN
dbo.Employees AS e
ON p.EmployeeId = e.EmployeeId;
Notes:
CREATE TABLE AS SELECT to materialize a curated fact table.FactPayroll after ingestion (either via a Notebook, stored procedure‑style pattern using SQL, or by using Dataflows Gen2 to create curated tables if she wants automatic refresh).To keep things manageable in 90 days, Emma chooses a simpler pattern:
She creates a second Dataflow Gen2 called HR_Curated:
Employees and Payroll via the Lakehouse connector.FactPayroll.This way, when raw tables refresh, the curated dataflow can also refresh on a schedule, keeping the curated table in sync without custom orchestration.
By end of week 6, Emma has:
Employees, Payroll, LearningEventsFactPayroll, plus a simple DimEmployee table if neededNow Emma connects Power BI directly to Fabric.
In Power BI Desktop:
FactPayroll and DimEmployee.Important behaviours:
Emma defines relationships:
DimEmployee[EmployeeId] → FactPayroll[EmployeeId]She adds measures for headcount and salary.
Example DAX measures:
Headcount := DISTINCTCOUNT(DimEmployee[EmployeeId])
Total Base Salary := SUM(FactPayroll[BaseSalary])
Average Base Salary :=
DIVIDE(
[Total Base Salary],
[Headcount]
)
She then builds visuals:
Emma publishes the report to the same HR workspace. Key points:
By end of week 8, Emma has:
The weekly headcount meeting now uses the Fabric report rather than ad‑hoc Excel extracts.
At this point, Emma’s solution is useful, but HR data is sensitive. She needs to tighten access.
Emma works with IT or the Power BI admin to confirm:
Workspace roles:
Viewer: Can see reports and datasets but cannot change them.Contributor: Can edit reports and create new ones.Emma keeps most stakeholders as Viewer to avoid accidental changes.
Emma wants managers to see only their own teams. She implements RLS in the Power BI semantic model.
ManagerRole.DimEmployee based on the logged‑in user’s email.Example RLS filter expression on DimEmployee:
[ManagerEmail] = USERPRINCIPALNAME()
Behaviour details:
USERPRINCIPALNAME() returns the user’s UPN (usually email) in the Power BI service.Build permission can bypass RLS depending on settings and roles.Emma tests the RLS with a few manager accounts to confirm they only see their direct reports.
By end of week 10, Emma’s HR solution:
IT is more comfortable because governance is explicit, not ad‑hoc.
The last two weeks are about making the solution operational, not a fragile prototype.
Emma sets up:
She makes sure:
For monitoring:
Real HR systems change. New columns appear; payroll formats evolve. Emma establishes a simple rule:
Practically:
Remove Other Columns in Power Query unless necessary, to reduce breakage risk.By now, Emma’s pattern is reusable:
A finance colleague can mirror the pattern for budgets and forecasts without needing to learn Spark notebooks or advanced engineering tools on day one.
Emma is not an engineer. She never wrote Spark code, managed capacities, or built complex pipelines. But in 12 weeks, she:
The concrete takeaway: if you already understand your business processes and basic Power BI, you can own a small Fabric solution in about 90 days by focusing on Dataflows Gen2, Lakehouses, and semantic models, and leaving advanced engineering features for later. Start with one messy process, give it a Lakehouse home, and make that your first Fabric win.
This article reflects how non‑IT practitioners can progressively own small but meaningful Fabric solutions by combining Dataflows Gen2, Lakehouses, and Power BI models, particularly in HR and finance teams that already rely on self‑service reporting.
Professionals who want to apply these patterns to their own data can explore Excelgoodies' Microsoft Fabric & Power BI programme - taught live by instructors, with certification awarded once a real project is running at work.
Insights compiled through ongoing industry research and discussions within the Excelgoodies Analytics Community.
Microsoft Fabric
New
Next Batches Now Live
Power BI
SQL
Power Apps
Power Automate
Microsoft Fabrics
Azure Data Engineering