Forum Discussion

swathrddy's avatar
swathrddy
Helper I
2 years ago
Solved

Calculated Measures

Hi,

 

could you please create different measures based on KPI and Target Type for the below sample data: eventually to create charts/trends.

KPIDateActualTargetTarget Type
AAA1/01/20243320Number
AAA1/02/20241420Number
AAA1/03/20241520Number
AAA1/04/2024620Number
AAA1/05/2024720Number
AAA1/06/20242020Number
AAA1/07/2024720Number
AAA1/08/20242020Number
BBB1/01/202478%70%Percentage
BBB1/02/202478%70%Percentage
BBB1/03/202474%70%Percentage
BBB1/04/202466%70%Percentage
BBB1/05/202475%70%Percentage
BBB1/06/202475%70%Percentage
BBB1/07/202480%70%Percentage
BBB1/08/202481%70%Percentage
  • However, here a few examples based on your data :

    1. Total Actual Value Measure:

    TotalActual = SUM('KPIData'[Actual])

    1. Total Target Value Measure:

    TotalTarget = SUM('KPIData'[Target])

    Measures for "Number" Target Type

    1. Number KPI Actual:

    NumberActual =

    CALCULATE(

        [TotalActual],

        'KPIData'[Target Type] = "Number"

    )

    1. Number KPI Target:

    NumberTarget =

    CALCULATE(

        [TotalTarget],

        'KPIData'[Target Type] = "Number"

    )

    1. Number KPI Achievement Percentage:

    NumberAchievementPercentage =

    DIVIDE([NumberActual], [NumberTarget])

    Measures for "Percentage" Target Type

    1. Percentage KPI Actual:

    PercentageActual =

    CALCULATE(

        [TotalActual],

        'KPIData'[Target Type] = "Percentage"

    )

    1. Percentage KPI Target:

    PercentageTarget =

    CALCULATE(

        [TotalTarget],

        'KPIData'[Target Type] = "Percentage"

    )

    1. Percentage KPI Achievement Percentage:

    PercentageAchievementPercentage =

    DIVIDE([PercentageActual], [PercentageTarget])

    Dynamic Achievement Percentage:

    KPI_AchievementPercentage =

    SWITCH(

        TRUE(),

        MAX('KPIData'[Target Type]) = "Number", DIVIDE([NumberActual], [NumberTarget]),

        MAX('KPIData'[Target Type]) = "Percentage", DIVIDE([PercentageActual], [PercentageTarget])

    )

    1. Dynamic Actual Value:

    KPI_ActualValue =

    SWITCH(

        TRUE(),

        MAX('KPIData'[Target Type]) = "Number", [NumberActual],

        MAX('KPIData'[Target Type]) = "Percentage", [PercentageActual]

    )

    1. Dynamic Target Value:

    KPI_TargetValue =

    SWITCH(

        TRUE(),

        MAX('KPIData'[Target Type]) = "Number", [NumberTarget],

        MAX('KPIData'[Target Type]) = "Percentage", [PercentageTarget]

    )

     

4 Replies

  • Thank you Shravan, yes i am trying diffrent ways to achive different charts for my project. 

    • Shravan133's avatar
      Shravan133
      Super User

      Please mark my answer as solution if i've answered your query.

  • swathrddy  If You are new to Power BI, please put some effort into learning to create mesaures. Ask ChatGpt or try creating measures on your own instead of asking the forum to do it for you. The forum can help if your measure doesnt work or if something is wrong.

  • However, here a few examples based on your data :

    1. Total Actual Value Measure:

    TotalActual = SUM('KPIData'[Actual])

    1. Total Target Value Measure:

    TotalTarget = SUM('KPIData'[Target])

    Measures for "Number" Target Type

    1. Number KPI Actual:

    NumberActual =

    CALCULATE(

        [TotalActual],

        'KPIData'[Target Type] = "Number"

    )

    1. Number KPI Target:

    NumberTarget =

    CALCULATE(

        [TotalTarget],

        'KPIData'[Target Type] = "Number"

    )

    1. Number KPI Achievement Percentage:

    NumberAchievementPercentage =

    DIVIDE([NumberActual], [NumberTarget])

    Measures for "Percentage" Target Type

    1. Percentage KPI Actual:

    PercentageActual =

    CALCULATE(

        [TotalActual],

        'KPIData'[Target Type] = "Percentage"

    )

    1. Percentage KPI Target:

    PercentageTarget =

    CALCULATE(

        [TotalTarget],

        'KPIData'[Target Type] = "Percentage"

    )

    1. Percentage KPI Achievement Percentage:

    PercentageAchievementPercentage =

    DIVIDE([PercentageActual], [PercentageTarget])

    Dynamic Achievement Percentage:

    KPI_AchievementPercentage =

    SWITCH(

        TRUE(),

        MAX('KPIData'[Target Type]) = "Number", DIVIDE([NumberActual], [NumberTarget]),

        MAX('KPIData'[Target Type]) = "Percentage", DIVIDE([PercentageActual], [PercentageTarget])

    )

    1. Dynamic Actual Value:

    KPI_ActualValue =

    SWITCH(

        TRUE(),

        MAX('KPIData'[Target Type]) = "Number", [NumberActual],

        MAX('KPIData'[Target Type]) = "Percentage", [PercentageActual]

    )

    1. Dynamic Target Value:

    KPI_TargetValue =

    SWITCH(

        TRUE(),

        MAX('KPIData'[Target Type]) = "Number", [NumberTarget],

        MAX('KPIData'[Target Type]) = "Percentage", [PercentageTarget]

    )