Forum Discussion

Geoiane's avatar
Geoiane
Regular Visitor
10 months ago
Solved

S - Curve

Dear all, good night   Please is it possoble to create  dax measure weighted average accumulated by month in power bi by the cost base line using data from Ms project
  • v-ssriganesh's avatar
    v-ssriganesh
    10 months ago

    Hello Geoiane,.

    I have reproduced your scenario in Power BI Desktop using sample data aligned with your shared table structure. After transforming your dataset into a normalized format (with columns Measure, Month, and Value), the cumulative and comparative trends for each measure (like PREV. CRON LB, CRON REAL, and CRON. TEND.) were calculated correctly and visualized as expected.

    I was able to achieve the expected output as per your requirement.
    For your reference, I’m attaching the .pbix file containing the working solution and visuals that replicate your dataset behavior accurately.

    If I misunderstand your needs or you still have problems on it, please feel free to let us know. 
    Thanks,
    Ganesh Singamshetty.

  • Shubham_rai955's avatar
    9 months ago

     

    Yes, it’s absolutely possible to create an S-curve (weighted average accumulated by month) in Power BI using data from MS Project.

    Here’s a simple breakdown of how to do it:

    1. Prepare your data

    From MS Project, make sure you have these columns:

    • Task Name

    • Month (or Date)

    • Cost Baseline (Planned Cost)

    • Actual Cost (or Progress %)

      2. Create a Weighted Average measure

      If you want to calculate weighted average progress based on cost baseline:

       

       
      Weighted Avg Progress = DIVIDE( SUMX('ProjectData', 'ProjectData'[Progress%] * 'ProjectData'[BaselineCost]), SUM('ProjectData'[BaselineCost]) )

       

       

      3. Create an Accumulated (Cumulative) Measure

      To plot the S-Curve over time:

       

       
      Cumulative Weighted Avg = CALCULATE( [Weighted Avg Progress], FILTER( ALLSELECTED('ProjectData'[Month]), 'ProjectData'[Month] <= MAX('ProjectData'[Month]) ) )
       

      4. Visualize it

      • Put Month on the X-axis.

      • Add Cumulative Weighted Avg on the Y-axis.

      • Use a Line Chart to form the S-curve.