Power BI Performance Report

Excel → Power Query (clean) → DAX model (Switch, YTD, PYTD) → Interactive visuals, conditional formatting, dynamic titles → Published to Power BI Service

3 Tables + Calendar

Fact Sales · Dim Product · Dim Account · Dim Date

Switch Measures

Sales · Gross Profit · Quantity

Comparatives

YTD vs PYTD · Bottom 10 by Country

Report Screenshots

Overview with header metrics and slicers
Overview (header metrics, slicers, switchable metrics)
Waterfall breakdown YTD vs PYTD by month/country/product
Waterfall: YTD − PYTD (drill: month → country → product)
Combo chart YTD vs PYTD with product-type legend
Combo: YTD (cols) vs PYTD (line) with product legend
Bottom 10 countries by YTD vs PYTD
Bottom 10 Countries by YTD vs PYTD
Account profitability segmentation scatter with zoom & averages
Account Profitability: GP% vs value with zoom & averages

How to Use the Slicers

Key Features

Representative DAX

// Base measures
Sales := SUM('Fact Sales'[Sales])
COGS  := SUM('Fact Sales'[COGS])
GP    := [Sales] - [COGS]

// YTD / PYTD (YTD uses invoice date to respect partial years)
YTD Sales :=
TOTALYTD([Sales], 'Fact Sales'[Invoice Date])

PYTD Sales :=
CALCULATE(
  [Sales],
  SAMEPERIODLASTYEAR('Dim Date'[Date]),
  'Dim Date'[InPast] = TRUE()
)

// Slicer table (Enter Data): values = {"Sales","Gross Profit","Quantity"}

// Switch (YTD shown; PYTD similar with PYTD measures)
YTD (Switch) :=
VAR sel = SELECTEDVALUE('Slicer Values'[Value])
RETURN
  SWITCH(sel,
    "Sales",        [YTD Sales],
    "Gross Profit", CALCULATE([GP], DATESYTD('Fact Sales'[Invoice Date])),
    "Quantity",     TOTALYTD(SUM('Fact Sales'[Quantity]), 'Fact Sales'[Invoice Date]),
    BLANK()
  )

// Comparison
YTD vs PYTD := [YTD (Switch)] - [PYTD (Switch)]

Process