Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

July 7 - July 17 | Round 2 of the Power BI Dataviz World Championships. Don't miss your chance! Learn more

Reply
Kishore_2912
New Member

Comparison Chart

Hello,

 

Am a new one to powerbi dessktop. My requrement is, I want to compare the measurement values based on plant by selecting characteristic_name_and_id as a filter. Here mainly i want to differentiate which plant has higher measurement value when compared to other plant, same goes for lower value as well. Also i have added language filter in my page so that i can always check for 1 language because the other language also has same value
here is my sample data

 

product_areapart_noinspection_plan_noinspection_stationorder_noplantproduction_unitamk_idstatusdatetimeUSLLSLUWLLWLmw_messwertunitdescription_operationstamp_nolanguagecharacteristic_name_and_idgbmw_am_tsmeasurement_servercharacteristic_prod_unitdate_textOperationKeyInterval
IPB2.0/DPB1265.149.194__P_25_00024BhP_MFP_W670_IPB2.0_Loop_A1BhP__P_25_00084BhPLoop A140294ok########28:01.50.450.250.40.30.384mmSerienprüfung Tag301deAGR 301 Staking_D_24978VM2026-05-05T12:28:01.487ZDB_VM_BABTEC_PROD_SQLAGR 301 Staking_D_24978-Loop A1########DAILYVariabel
IPB2.0/DPB1265.149.194__P_25_00024BhP_MFP_W670_IPB2.0_Loop_A1BhP__P_25_00084BhPLoop A140294ok########25:16.40.450.250.40.30.408mmSerienprüfung Tag301deAGR 301 Staking_D_24978VM2026-04-16T14:25:16.413ZDB_VM_BABTEC_PROD_SQLAGR 301 Staking_D_24978-Loop A1########DAILYVariabel
IPB2.0/DPB1265.149.206__P_25_00021BhP_MFP_W670_IPB2.0_Loop_A1BhP__P_25_00085BhPLoop A141472ok########34:20.50.450.250.40.30.377mmSerienprüfung Tag301deAGR 301 Staking_B_24757VM2026-04-20T14:34:20.487ZDB_VM_BABTEC_PROD_SQLAGR 301 Staking_B_24757-Loop A1########DAILYVariabel
nullVariante 1_BhP_IPB1.0_P_26_00003PC Kiesel,Florian [Englisch]Variante 1_BhPBhPLinie 1 [Englisch]41720ok########18:37.90.450.250.40.30.364mmSeries Inspection Daily301enAGR 301 Staking_B_28044VM2026-04-21T14:18:37.863ZDB_VM_BABTEC_PROD_SQLAGR 301 Staking_B_28044-Linie 1 [Englisch]########DAILYVariable
nullVariante 1_TgP__P_26_00007PC Kiesel,Florian [Chinesisch]Variante 1_TgPTgPPfiffner CDD 240209ok########00:20.80.450.250.40.30.38mmSerienprüfung Tag [Chinesisch]301zhAGR 301 Staking_B_28098VM2026-03-20T11:00:20.817ZDB_VM_BABTEC_PROD_SQLAGR 301 Staking_B_28098-Pfiffner CDD 2########DAILY变量
nullVariante 5_BhP_IPB1.0_P_26_00003PC Kiesel,FlorianVariante 5_IP_BhPBhPLinie 141994ok########26:46.20.450.250.40.30.353mmSerienprüfung Schicht301deAGR 301 Staking_A_30426VM2026-04-27T14:26:46.227ZDB_VM_BABTEC_PROD_SQLAGR 301 Staking_A_30426-Linie 1########SHIFTVariabel
nullVariante 1_TgP__P_26_00007PC Kiesel,FlorianVariante 1_TgPTgPPfiffner CDD 240210ok########00:21.00.450.250.40.30.393mmSerienprüfung Tag301deAGR 301 Staking_C_28099VM2026-03-20T11:00:20.960ZDB_VM_BABTEC_PROD_SQLAGR 301 Staking_C_28099-Pfiffner CDD 2########DAILYVariabel
IPB2.0/DPB1265.149.228__P_25_00035BhP_MFP_W670_IPB2.0_Loop_A1BhP__P_25_00083BhP环路A138689ok########49:42.80.450.250.40.30.419mmSerienprüfung Tag [Chinesisch]301zhAGR 301 Staking_C_25682VM2026-02-11T10:49:42.770ZDB_VM_BABTEC_PROD_SQLAGR 301 Staking_C_25682-环路A1########DAILY变量
IPB2.0/DPB1265.149.228__P_25_00035BhP_MFP_W670_IPB2.0_Loop_A1BhP__P_25_00083BhPLoop A138689ok########15:02.50.450.250.40.30.398mmSerienprüfung Tag301deAGR 301 Staking_C_25682VM2026-02-05T10:15:02.500ZDB_VM_BABTEC_PROD_SQLAGR 301 Staking_C_25682-Loop A1########DAILYVariabel
IPB2.0/DPB1265.149.228__P_25_00035BhP_MFP_W670_IPB2.0_Loop_A1BhP__P_25_00083BhP环路A138689ok########17:38.00.450.250.40.30.404mmSerienprüfung Tag [Chinesisch]301zhAGR 301 Staking_C_25682VM2026-03-30T11:17:37.973ZDB_VM_BABTEC_PROD_SQLAGR 301 Staking_C_25682-环路A1########DAILY变量
IPB2.0/DPB1265.149.228__P_25_00035BhP_MFP_W670_IPB2.0_Loop_A1BhP__P_25_00083BhP环路A138689ok########15:02.50.450.250.40.30.398mmSerienprüfung Tag [Chinesisch]301zhAGR 301 Staking_C_25682VM2026-02-05T10:15:02.500ZDB_VM_BABTEC_PROD_SQLAGR 301 Staking_C_25682-环路A1########DAILY变量
IPB2.0/DPB1265.149.228__P_25_00035BhP_MFP_W670_IPB2.0_Loop_A1BhP__P_25_00083BhP环路A138689ok########46:09.80.450.250.40.30.4mmSerienprüfung Tag [Chinesisch]301zhAGR 301 Staking_C_25682VM2026-02-16T09:46:09.767ZDB_VM_BABTEC_PROD_SQLAGR 301 Staking_C_25682-环路A1########DAILY变量
IPB2.0/DPB1265.149.228__P_25_00035BhP_MFP_W670_IPB2.0_Loop_A1BhP__P_25_00083BhPLoop A138689ok########40:19.50.450.250.40.30.382mmSerienprüfung Tag301deAGR 301 Staking_C_25682VM2026-03-26T09:40:19.527ZDB_VM_BABTEC_PROD_SQLAGR 301 Staking_C_25682-Loop A1########DAILYVariabel
IPB2.0/DPB1265.149.228__P_25_00035BhP_MFP_W670_IPB2.0_Loop_A1BhP__P_25_00083BhPLoop A138689ok########40:19.50.450.250.40.30.382mmSeries Inspection Daily301enAGR 301 Staking_C_25682VM2026-03-26T09:40:19.527ZDB_VM_BABTEC_PROD_SQLAGR 301 Staking_C_25682-Loop A1########DAILYVariable
IPB2.0/DPB1265.149.228__P_25_00035BhP_MFP_W670_IPB2.0_Loop_A1BhP__P_25_00083BhPLoop A138689ok########50:22.70.450.250.40.30.393mmSeries Inspection Daily301enAGR 301 Staking_C_25682VM2026-02-03T09:50:22.733ZDB_VM_BABTEC_PROD_SQLAGR 301 Staking_C_25682-Loop A1########DAILYVariable
IPB2.0/DPB1265.149.228__P_25_00035BhP_MFP_W670_IPB2.0_Loop_A1BhP__P_25_00083BhP环路A138689ok########36:02.60.450.250.40.30.401mmSerienprüfung Tag [Chinesisch]301zhAGR 301 Staking_C_25682VM2026-05-27T11:36:02.647ZDB_VM_BABTEC_PROD_SQLAGR 301 Staking_C_25682-环路A1########DAILY变量
nullVariante 5_BhP_IPB1.0_P_26_00003PC Kiesel,Florian [Chinesisch]Variante 5_IP_BhPBhPLinie 1 [Chinesisch]41995ok########06:45.40.450.250.40.30.38mmSerienprüfung Schicht [Chinesisch]301zhAGR 301 Staking_B_30427VM2026-04-24T14:06:45.387ZDB_VM_BABTEC_PROD_SQLAGR 301 Staking_B_30427-Linie 1 [Chinesisch]########SHIFT变量
nullVariante 5_BhP_IPB1.0_P_26_00003PC Kiesel,Florian [Englisch]Variante 5_IP_BhPBhPLinie 1 [Englisch]41995ok########48:05.50.450.250.40.30.364mmSeries Inspection Shift301enAGR 301 Staking_B_30427VM2026-04-27T12:48:05.503ZDB_VM_BABTEC_PROD_SQLAGR 301 Staking_B_30427-Linie 1 [Englisch]########SHIFTVariable
nullVariante 1_BhP_IPB1.0_P_26_00003PC Kiesel,FlorianVariante 1_BhPBhPLinie 141791ok########52:48.90.450.250.40.30.38mmSerienprüfung Tag301deAGR 301 Staking_D_28046VM2026-04-23T07:52:48.867ZDB_VM_BABTEC_PROD_SQLAGR 301 Staking_D_28046-Linie 1########DAILYVariabel
nullVariante 1_BhP_IPB1.0_P_26_00003PC Kiesel,Florian [Englisch]Variante 1_BhPBhPLinie 1 [Englisch]41791ok########45:34.70.450.250.40.30.38mmSeries Inspection Daily301enAGR 301 Staking_D_28046VM2026-04-23T07:45:34.757ZDB_VM_BABTEC_PROD_SQLAGR 301 Staking_D_28046-Linie 1 [Englisch]########DAILYVariable


Could anyone guide me here

3 REPLIES 3
Prince0011
Impactful Individual
Impactful Individual

Yes, this is a good use case for Power BI. Based on your requirement, you want to:

  • Filter by Characteristic_Name_And_ID.

  • Filter by Language (so you only compare one language at a time).

  • Compare the measurement value (mw_messwert) across different Plants.

  • Easily identify which plant has the highest and lowest measurement values.

Recommended approach

1. Add slicers

Create two slicers:

  • Characteristic_Name_And_ID

  • Language

This will filter all visuals to the selected characteristic and language.

2. Create a measure for the measurement value

If each plant has multiple measurements, decide whether you want to compare the Average, Maximum, or Latest value.

For example, using the average:

Average Measurement =
AVERAGE('YourTable'[mw_messwert])

3. Create a Clustered Column Chart

Configure the visual as:

  • X-axis: Plant

  • Y-axis: Average Measurement

After selecting a characteristic, you'll immediately see which plant has the higher or lower value.

4. Highlight the highest and lowest plants

You can use conditional formatting with a color measure:

Plant Color =
VAR MaxValue =
    MAXX(ALLSELECTED('YourTable'[plant]), [Average Measurement])
VAR MinValue =
    MINX(ALLSELECTED('YourTable'[plant]), [Average Measurement])

RETURN
SWITCH(
    TRUE(),
    [Average Measurement] = MaxValue, "#00B050",   -- Green (Highest)
    [Average Measurement] = MinValue, "#FF0000",   -- Red (Lowest)
    "#5B9BD5"                                      -- Blue (Others)
)

Then apply this measure using Data colors → Conditional formatting (fx).

5. Add a Matrix for detailed comparison

A matrix can provide more context:

  • Rows: Plant

  • Columns: Characteristic_Name_And_ID (optional)

  • Values:

    • Average Measurement

    • Min Measurement

    • Max Measurement

    • Standard Deviation (optional)

6. If you want to compare the latest measurement only

Instead of averaging all values, create a measure that returns the most recent measurement based on your date/time columns. This ensures you're comparing the latest inspection result for each plant.

Suggested report layout

+------------------------------------------------+
| Characteristic Slicer | Language Slicer         |
+------------------------------------------------+
| Clustered Column Chart (Plant vs Measurement)   |
+------------------------------------------------+
| KPI: Highest Plant | KPI: Lowest Plant          |
+------------------------------------------------+
| Matrix with detailed statistics by Plant        |
+------------------------------------------------+

If you're comparing measurements against USL (Upper Specification Limit) and LSL (Lower Specification Limit), you could also consider a Scatter Chart or Control/SPC Chart to visualize how each plant performs relative to the specification limits.

💡 Helpful? Give a Kudos 👍 — keep the community growing.

Solved your issue? Mark this as the Accepted Solution ✔️

Best regards, Prince Singh | Data Science & Microsoft Fabric Enthusiast

Ritaf1983
Super User
Super User

Hi @Kishore_2912 

The requirement is not completely clear.

In general, you first need to create a measure that represents the value by which the plants should be compared. This could be an average, minimum, maximum, latest value, or another calculation depending on the business requirement. Simply summing the measurement values may not be appropriate, especially if the plants contain different numbers of measurements.

For the visual, a horizontal bar chart would probably be the clearest option:

* Plant on the Y-axis
* Measurement measure on the X-axis

 

Ritaf1983_0-1784906398572.png

 

You can then sort the chart by the measure to identify the plants with the highest and lowest values.

The language slicer should preferably be configured as single-select, since the different language rows appear to contain the same measurement values.

To provide a more specific solution, please clarify:

* Which calculation should be compared between plants: average, maximum, minimum, latest measurement, or something else?
* What result are you currently getting?
* Where exactly are you getting stuck?

If this post helps, then please consider Accepting it as the solution to help the other members find it more quickly.

Regards,
Rita Fainshtein | Microsoft MVP
https://www.linkedin.com/in/rita-fainshtein/
Blog : https://www.madeiradata.com/profile/ritaf/profile

Thanks. I would like to how did you create your bar chart i want the same like how you have created. When I try to create it is showing different

Kishore_2912_0-1784916536222.png

Could you explain in detail how you have achieved it?

Helpful resources

Announcements
FabCon and SQLCon Barcelona 2026

FabCon & SQLCon – Barcelona 2026

Join us in Barcelona for FabCon and SQLCon, the Fabric, Power BI, SQL, and AI community event. Save €200 with code FABCMTY200.

July Power BI Update Carousel

Power BI Monthly Update - July 2026

Check out the July 2026 Power BI update to learn about new features.

60 days of Data Days Carousel

Data Days 2026

Join Data Days 2026: 60 days of free live/on-demand sessions, challenges, study groups, and certification opportunities.

Power BI DataViz World Championships carousel

Power BI DataViz World Championships - June 2026

A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.

Top Solution Authors