Great — Power BI it is. Below I’ll show exactly how to recreate the two effects from your screenshot in a Power BI Table visual:
-
Data bars inside the Yearly Salary cells (bar + numeric value).
-
Icons for Experience (Entry / Mid / Senior / Intern).
I give two approaches for the icons (recommended: helper numeric column + icon conditional formatting; alternative: Unicode symbol measure + color rules). Follow the steps exactly in Power BI Desktop.
Prep: data basics
-
Make sure YearlySalary is a numeric column (data type = Decimal Number or Whole Number). If it’s text like
"$82,000", convert it in Power Query or with DAX to a number. -
Make sure Experience is a text column with consistent values (
Entry,Mid,Senior,Intern).
Part A — Add Data Bars to Yearly Salary (recommended / simple)
-
Put a Table visual on the report canvas and add the fields you want (JobID, JobTitle, JobType, Department, Experience, YearlySalary).
-
In the Visualizations → Values area, click the dropdown arrow on YearlySalary → Conditional formatting → Data bars.
-
In the Data bars dialog:
-
Format by:
Rules(Power BI will expose min/max options) or leave default. -
Set Minimum and Maximum if you want a fixed scale (e.g., Min = 40000, Max = 150000). Otherwise use
MinandMax(auto). -
Choose Bar color (pick the blue you want).
-
Toggle Show bar only = Off so the numeric value still displays (this gives the bar + value like your screenshot).
-
Optionally enable a border or negative bar color if needed.
-
-
Click OK. The table will now show a left-to-right bar in each YearlySalary cell proportional to the number, with the currency value shown at the right.
Tips:
-
If your YearlySalary is formatted as a number but displays as
$82,000, set the column Format to Currency in the Modeling tab so that the value and bar look correct. -
To fix the scale across pages, explicitly set Min/Max numbers in the Data bars dialog.
Part B — Add Icons for Experience (recommended approach: helper numeric column + Icon conditional formatting)
Power BI’s icon formatting works best with numeric rules, so use a helper column that maps text → numbers, then show an icon column in the table (you can hide the helper column if you like).
1) Create a mapping column (DAX)
In Modeling → New column (assuming your table is named Jobs):
ExpCode =
SWITCH(
TRUE(),
Jobs[Experience] = "Intern", 1,
Jobs[Experience] = "Entry", 2,
Jobs[Experience] = "Mid", 3,
Jobs[Experience] = "Senior",4,
BLANK()
)2) Add the helper column to the Table visual
- Add
ExpCodeto the visual immediately to the left or right of the Experience column.
3) Apply Icon conditional formatting to ExpCode
-
In Visualizations → Values, click dropdown on
ExpCode→ Conditional formatting → Icons. -
In the Icons dialog:
-
Format by:
Rules. -
Based on field:
ExpCode. -
Create rules mapping number → icon. Example (set Type = Number for thresholds):
-
If value is
>= 1 and < 2→ choose icon shape forIntern(e.g., small diamond). -
If value is
>= 2 and < 3→ triangular icon forEntry. -
If value is
>= 3 and < 4→ circle icon forMid. -
If value is
>= 4→ circle or another icon forSenior.
-
-
Choose Show icon only if you want only the icon visible in that column (hide numeric).
-
-
Click OK.
4) Hide or shrink ExpCode
-
Either remove the column from the visual after creating an icon (if you want the icon over the Experience text, use the Unicode approach below), or keep it as a narrow column showing icons next to the Experience text.
-
You can reduce the column width and hide the header (right-click header → turn off header) for a tighter look.
Part B - Alternative icon method (no numeric helper): Unicode symbol + color rules
Use this if you want the icon and text in the same column.
1) Create a measure (or calculated column) that returns a symbol
Measure (Modeling → New measure):
ExpIcon =
VAR e = SELECTEDVALUE(Jobs[Experience])
RETURN
SWITCH(
e,
"Entry", UNICHAR(9650), // ▲
"Mid", UNICHAR(9679), // ●
"Senior",UNICHAR(9679), // ● (or another code)
"Intern",UNICHAR(9670), // ◆
""
)Or create a calculated column that returns UNICHAR(...) & " " & Jobs[Experience] so symbol + text appear in same column.
2) Add the new measure/column to the Table visual
- Add the measure/column (ExpIcon) to the visual. If it’s a measure, add it as a column so it shows per row.
3) Format the symbol column
-
Set font family to a symbol-friendly font (Sego UI Symbol or default often works).
-
Use Conditional formatting → Font color on the symbol column:
-
Format by:
Rules. -
Based on the Experience field (or the measure).
-
Define rules:
Experience = "Entry"→ yellow,Mid→ green,Senior→ purple,Intern→ red.
-
-
This will color the icon appropriately. If you created a combined “symbol + text” column, the entire text will get colored — you can use two separate columns (icon column colored, text column normal) for more control.
Polishing & final touches
-
Alternate row shading: In the table visual formatting pane → Grid → set
Alternate row color. -
Alignment: Set cell alignment in Values → Column formatting (center icons, right-align salaries).
-
Fixed data bar scale: Set Data bars min/max to fixed numbers to keep the relative lengths consistent between pages.
-
Hide helper columns: If you used a numeric helper column purely for icon formatting, make it narrow and/or hide the header to mimic the screenshot.
-
Sort & drill: Keep YearlySalary numeric so sorting and aggregation work correctly.
Quick summary (what you’ll end up with)
-
Yearly Salary: numeric column + Conditional formatting → Data bars (bar + value).
-
Experience icons: either
-
Helper ExpCode (DAX) + Conditional formatting → Icons on ExpCode (recommended), or
-
Unicode symbol measure/column + conditional font color rules (if you want icon and text in same cell).
-
If you want, I can:
-
produce the exact DAX calculated column and measure tailored to your real table/column names, or
-
give a short step-by-step screenshot flow for your Power BI version (I’ll assume Desktop latest).
Which would you like next?
Good catch — thanks for the screenshot. You’re right: Power BI does let you use icon conditional formatting directly with categorical/text fields when you use the Rules format. My previous answer was an oversimplification; let me correct and explain exactly what the dialog is doing and why it accepts a categorical field.
Short answer
-
Yes, you can drive Icons from a categorical/text column if you choose Format style = Rules and write text-comparison rules (e.g. If value is Intern then diamond).
-
The earlier statement that “icons require numeric fields” is true for the predefined numeric icon-set style (the threshold-based icon sets that compare numeric ranges). But Rules allow text comparisons.
What the dialog in your screenshot means (field-by-field)
-
Format style → Rules
You are writing explicit rules (text or numeric comparisons), not using numeric buckets. Rules supportis,is not,contains,does not contain,starts with,ends with, and numeric operators when the field is numeric. -
Apply to → Values only
Where the formatting will appear (values, totals, or both). -
What field should we base this on?
The field whose value will be evaluated by the rules. It can be a text (categorical) field (likeexperience) or a numeric field. If that field is not present in the visual, Power BI will use the summarized value (see Summarization). -
Summarization → First (or Sum, Min, etc.)
When a field has multiple values for the same visual cell (because of aggregation or grouping), this determines which value is used for the rule. For categorical fieldsFirstorLastare commonly used. -
Icon layout / Icon alignment
Where the icon appears relative to the cell text (left/right/top) and how it aligns. -
Style → Custom
Lets you choose which icon graphic to use for each rule (diamond, triangle, circle, etc.) and pick colors. -
Rules section (the rows you created)
Each rule is evaluated and when a rule matches, the chosen icon is applied. Example rows in your screenshot:-
If value is
Intern→ red diamond -
If value is
Entry→ yellow triangle -
If value is
Mid→ green circle -
If value is
Senior→ purple circle
Important: rules are evaluated in order, and the first matching rule is applied. If nothing matches, no icon (or a default) is shown.
-
Why this works for categorical fields
Because you are using Rules, Power BI isn’t trying to compute numeric thresholds — it simply compares the value (text) to the rule (e.g., is "Intern"). So it can evaluate text directly and map text → icon.
Practical tips & caveats
-
If your visual groups or aggregates rows, set Summarization carefully (First/Last) so the rule uses the correct row value.
-
Comparisons are generally case-insensitive, but keep values consistent to avoid mismatch (e.g.,
Internvsintern). -
If you want the icon next to the Experience text in the same column, you can:
-
Use this approach and set Icon layout = Left of data so icon appears to left of the text in that same Experience column (make sure “Apply to” targets that column).
-
Or create a separate narrow column for icons (e.g.,
ExpIcon) and hide the header for a tighter look.
-
-
If you need numeric-style icon rules (≥, ≤, range buckets) use a numeric field (or create an
ExpCodenumeric column) and still choose Format style = Rules. -
If you want only the icon to show (no number/text), choose Show icon only in the conditional formatting options.
Step-by-step to reproduce what you have in the screenshot
-
Place the
Experiencecolumn into your Table visual. -
Click the dropdown next to
Experiencein Visualizations → Conditional formatting → Icons. -
Set Format style = Rules.
-
What field should we base this on? =
experience. -
Summarization =
First(or whichever makes sense). -
For each row in Rules:
-
Select operator
is -
Enter the category text (
Intern,Entry,Mid,Senior) -
Pick the desired icon and color on the right.
-
-
Set Icon layout and Icon alignment per your preference.
-
Click OK.
If you want, I can:
-
produce the exact rule list (copyable) that matches your screenshot, or
-
show how to combine icon-only column + text column so the icon sits tightly left of the experience text.
Which of those would help you next?