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

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more

Reply
JeevanMallya
Resolver II
Resolver II

FIX_VERSION Slicer not setting Sprints

I have a RELEASE_BURN_UP Table.

 

SPRINT_NAMESPRINT_NUMBERFIX_VERSIONSTART_DATEEND_DATECOMPLETE_DATESTORY_POINTS_COMMITTEDSTORY_POINTS_COMPLETEDSTORY_POINTS_REMAININGSPRINT_DURATION
ABC Sprint 000022.1111-07-202201-08-202201-08-20221914516
ABC Sprint 010122.1101-08-202222-08-202222-08-20221501516
ABC Sprint 030322.1112-09-202203-10-202203-10-202203-316
ABC Sprint 050522.1128-10-202212-11-202214-11-202203-311
ABC Sprint 060623.0314-11-202202-12-202207-12-202260615
ABC Sprint 070723.0309-12-202224-12-202226-12-2022159611
ABC Sprint 101023.0307-02-202328-02-202328-02-202304-416
ABC Sprint 080823.0326-12-202214-01-202317-01-20231011-115
ABC Sprint 111123.0328-02-202320-03-202324-03-202358-315
ABC Sprint 090923.0318-01-202307-02-202307-02-202363315
ABC Sprint 272724.0312-02-202401-03-202404-03-20247.56.5115
ABC Sprint 232323.0317-11-202308-12-202307-12-202303-316
ABC Sprint 313124.1106-05-202424-05-202427-05-202463315
ABC Sprint 333324.1117-06-202406-07-202408-07-20241518-315
ABC Sprint 151523.0730-05-202321-06-202320-06-202305-517
ABC Sprint 121223.0724-03-202315-04-202318-04-202370716
ABC Sprint 161623.0720-06-202311-07-202311-07-202305-516
ABC Sprint 141423.0709-05-202329-05-202330-05-20231920-115
ABC Sprint 181823.1101-08-202322-08-202322-08-2023147716
ABC Sprint 191923.1122-08-202312-09-202312-09-20232234-1216
ABC Sprint 202023.1112-09-202303-10-202304-10-2023129316
ABC Sprint 222224.0326-10-202316-11-202316-11-20232118316
ABC Sprint 212123.1104-10-202325-10-202325-10-202345-116
ABC Sprint 232324.0317-11-202308-12-202307-12-2023149516
ABC Sprint 242424.0308-12-202329-12-202302-01-20242030-1016
ABC Sprint 252524.0302-01-202419-01-202422-01-20242222014
ABC Sprint 292924.0725-03-202413-04-202412-04-20241922-315
ABC Sprint 303024.0715-04-202403-05-202404-05-20242121015
ABC Sprint 353524.1129-07-202416-08-202420-08-20242021-115
ABC Sprint 131323.0718-04-202309-05-202308-05-202311016
ABC Sprint 171723.1111-07-202302-08-202301-08-202333017
ABC Sprint 262624.0322-01-202409-02-202412-02-20242724315
ABC Sprint 414125.0303-12-202421-12-202423-12-20241923-414
ABC Sprint 282824.0704-03-202422-03-202424-03-202452315
ABC Sprint 323224.1127-05-202414-06-202415-06-202422015
ABC Sprint 404025.0311-11-202429-11-202403-12-20242217515
ABC Sprint 282824.0304-03-202422-03-202424-03-202444015
ABC Sprint 313124.0706-05-202424-05-202427-05-202419.519.5015
ABC Sprint 383824.1130-09-202418-10-202422-10-20247.57.5015
ABC Sprint 343424.1108-07-202426-07-202429-07-20242519615
ABC Sprint 393925.0322-10-202408-11-202411-11-20241611514
ABC Sprint 373724.1110-09-202428-09-202430-09-20241422-814
ABC Sprint 363624.1120-08-202410-09-202409-09-20241916316
ABC Sprint 424225.0323-12-202411-01-202513-01-20251112-115
ABC Sprint 383825.0330-09-202418-10-202422-10-202430315
ABC Sprint 393924.1122-10-202408-11-202411-11-202422014

 

and a Calculated Table (

FutureSprints =
ADDCOLUMNS(
    GENERATESERIES(
        MAX('RELEASE_BURN_UP'[SPRINT_NUMBER]) + 1,
        MAX('RELEASE_BURN_UP'[SPRINT_NUMBER]) + 3,
        1
    ),
    "SPRINT_NAME", "ABC Sprint " & [Value]
)_
 
AllSprints Table : Which combines SPRINT_NUMBER and SPRINT_NAME from Both the above Tables : 
AllSprints =
DISTINCT(
    UNION(
        SELECTCOLUMNS(
            'RELEASE_BURN_UP',
            "SPRINT_NUMBER", 'RELEASE_BURN_UP'[SPRINT_NUMBER],
            "SPRINT_NAME", 'RELEASE_BURN_UP'[SPRINT_NAME]
        ),
        SELECTCOLUMNS(
            FutureSprints,
            "SPRINT_NUMBER", [SPRINT_NUMBER],
            "SPRINT_NAME", FutureSprints[SPRINT_NAME]
        )
    )
)
I build a Linechart using FIX_VERSION as Slicer (From RELEASE_BURN_UP Table), SPRINT_NAME in X Axis (From AllSprints Table), CumulativeSPCommitted, CumulativeSPCompleted, DynamicGoal, PredictedCumulativeSPCompleted in YAxis (From RELEASE_BURN_UP Table).
Here is the visual generated as per the SPRINT_NAME that is filtered.2025-01-30 17_16_28-BLR_R&D - MediaBeacon.png
But as soon as i chang the FIX_VERSION, its going wrong since the same SPRINT_NAME appears where as previous releases were executed on differe SPRINT_NAME. So how to make it dynamic.
2025-01-30 17_20_12-BLR_R&D - MediaBeacon.png
2 ACCEPTED SOLUTIONS
Anonymous
Not applicable

Hi, @JeevanMallya 
 

Thank you for visiting the Microsoft Fabric Community Forum and for sharing your issue and sample data with us. We have carefully read your description of the problem, but there are still some points of confusion:

 

1.In the process of creating the calculated table, the SPRINT_NUMBER column you mentioned does not appear in the sample data. Is it the SPRINT_NUABCER column?

 

2.When building the visual objects, the CumulativeSPCommitted, CumulativeSPCompleted, DynamicGoal, and PredictedCumulativeSPCompleted you mentioned do not appear. Are they measures?

 

3.Regarding your expected result, my understanding is that you are creating the calculated table to replace the display of the x-axis, but other data still comes from the RELEASE_BURN_UP table, correct?

 

We hope you can help us clarify these questions so that we can better understand and resolve your issue. If you need to upload a PBIX file, you can share the data with us using GitHub. Please make sure to remove any sensitive information.

 

Thank you for your cooperation!

 

Best Regards,

Leroy Lu

View solution in original post

Thank you for visiting.

1. Indeed there is a SPRINT_NUMBER Column in RELEASE_BURN_UP Table

2. Indeed CumulativeSPCommitted, CumulativeSPCompleted, DynamicGoal and PredictedCumulativeSPCompleted are Measures.

3. Yes indeed since i wanted a SPRINT_NAME column that has both Current sprints and Future sprints to appear in Xaxis so that i can Use CumulativeSPCommitted, CumulativeSPCompleted for current or previous Sprints and PredictedCumulativeSPCompleted for Future sprints.

 

Here are the Measures

CumulativeSPCommitted =
VAR MaxCompletedSprint =
    CALCULATE(
        MAX('RELEASE_BURN_UP'[SPRINT_NAME]),
        'RELEASE_BURN_UP'[STORY_POINTS_COMMITTED] > 0
    ) -- Identify the last completed sprint based on committed story points
RETURN
IF(
    MAX('AllSprints'[SPRINT_NAME]) <= MaxCompletedSprint,
    -- Historical sprint: show actual cumulative committed points
    CALCULATE(
        SUM('RELEASE_BURN_UP'[STORY_POINTS_COMMITTED]),
        FILTER(
            ALL('AllSprints'[SPRINT_NAME]),
            'AllSprints'[SPRINT_NAME] <= MAX('AllSprints'[SPRINT_NAME])
        )
    ),
    -- Future sprint: do not display a flat line
    BLANK()
)
 
CumulativeSPCompleted =
VAR MaxCompletedSprint =
    CALCULATE(
        MAX('RELEASE_BURN_UP'[SPRINT_NAME]),
        'RELEASE_BURN_UP'[STORY_POINTS_COMMITTED] > 0
    ) -- Identify the last completed sprint based on committed story points
RETURN
IF(
    MAX('AllSprints'[SPRINT_NAME]) <= MaxCompletedSprint,
    -- Historical sprint: show actual cumulative completed points
    CALCULATE(
        SUM('RELEASE_BURN_UP'[STORY_POINTS_COMPLETED]),
        FILTER(
            ALL('AllSprints'[SPRINT_NAME]),
            'AllSprints'[SPRINT_NAME] <= MAX('AllSprints'[SPRINT_NAME])
        )
    ),
    -- Future sprint: do not display a flat line
    BLANK()
)
 
DynamicGoal =
VAR GoalValue =
    LOOKUPVALUE(
        ReleaseTable[Goal],
        ReleaseTable[FIX_VERSION], SELECTEDVALUE(RELEASE_BURN_UP[FIX_VERSION])
    )
VAR DefaultGoal = 100  -- Default goal value when GoalValue is blank
RETURN
    IF(
        ISBLANK(GoalValue),
        DefaultGoal,  -- Return DefaultGoal when the goal is not defined
        GoalValue  -- Return the actual GoalValue when it's defined
    )
 
PredictedCumulativeSPCompleted =
VAR LastCompletedSprint =
    MAXX(
        FILTER(
            ALL('RELEASE_BURN_UP'),
            'RELEASE_BURN_UP'[STORY_POINTS_COMPLETED] > 0
        ),
        'RELEASE_BURN_UP'[SPRINT_NUMBER]
    )

VAR CompletedPoints =
    CALCULATE(
        SUM('RELEASE_BURN_UP'[STORY_POINTS_COMPLETED]),
        'RELEASE_BURN_UP'[SPRINT_NUMBER] <= MAX('AllSprints'[SPRINT_NUMBER])
    )

VAR GoalValue =
    LOOKUPVALUE(
        ReleaseTable[Goal],
        ReleaseTable[FIX_VERSION],
        SELECTEDVALUE(RELEASE_BURN_UP[FIX_VERSION])
    )

VAR RemainingPoints = GoalValue - CompletedPoints

VAR FutureSprintNumbers =
    FILTER(
        ALL('AllSprints'),
        'AllSprints'[SPRINT_NUMBER] > LastCompletedSprint
    )

VAR FutureSprintCount = COUNTROWS(FutureSprintNumbers)

-- Flat value for future sprints (63 points per sprint)
VAR PointsPerFutureSprint = 63

VAR CumulativePoints =
    SUMX(
        FILTER(
            ALL('AllSprints'),
            'AllSprints'[SPRINT_NUMBER] <= MAX('AllSprints'[SPRINT_NUMBER])
        ),
        IF(
            'AllSprints'[SPRINT_NUMBER] <= LastCompletedSprint,
            -- Use actual completed story points for historical sprints
            CALCULATE(
                SUM('RELEASE_BURN_UP'[STORY_POINTS_COMPLETED]),
                TREATAS({ 'AllSprints'[SPRINT_NUMBER] }, 'RELEASE_BURN_UP'[SPRINT_NUMBER])
            ),
            -- For future sprints, accumulate flat projected points (63 per sprint)
            [CumulativeSPCompleted]+[AVERAGE_STORY_POINTS_COMPLETED_VERSIONWISE]
        )
    )

RETURN
CumulativePoints

 

View solution in original post

2 REPLIES 2
Anonymous
Not applicable

Hi, @JeevanMallya 
 

Thank you for visiting the Microsoft Fabric Community Forum and for sharing your issue and sample data with us. We have carefully read your description of the problem, but there are still some points of confusion:

 

1.In the process of creating the calculated table, the SPRINT_NUMBER column you mentioned does not appear in the sample data. Is it the SPRINT_NUABCER column?

 

2.When building the visual objects, the CumulativeSPCommitted, CumulativeSPCompleted, DynamicGoal, and PredictedCumulativeSPCompleted you mentioned do not appear. Are they measures?

 

3.Regarding your expected result, my understanding is that you are creating the calculated table to replace the display of the x-axis, but other data still comes from the RELEASE_BURN_UP table, correct?

 

We hope you can help us clarify these questions so that we can better understand and resolve your issue. If you need to upload a PBIX file, you can share the data with us using GitHub. Please make sure to remove any sensitive information.

 

Thank you for your cooperation!

 

Best Regards,

Leroy Lu

Thank you for visiting.

1. Indeed there is a SPRINT_NUMBER Column in RELEASE_BURN_UP Table

2. Indeed CumulativeSPCommitted, CumulativeSPCompleted, DynamicGoal and PredictedCumulativeSPCompleted are Measures.

3. Yes indeed since i wanted a SPRINT_NAME column that has both Current sprints and Future sprints to appear in Xaxis so that i can Use CumulativeSPCommitted, CumulativeSPCompleted for current or previous Sprints and PredictedCumulativeSPCompleted for Future sprints.

 

Here are the Measures

CumulativeSPCommitted =
VAR MaxCompletedSprint =
    CALCULATE(
        MAX('RELEASE_BURN_UP'[SPRINT_NAME]),
        'RELEASE_BURN_UP'[STORY_POINTS_COMMITTED] > 0
    ) -- Identify the last completed sprint based on committed story points
RETURN
IF(
    MAX('AllSprints'[SPRINT_NAME]) <= MaxCompletedSprint,
    -- Historical sprint: show actual cumulative committed points
    CALCULATE(
        SUM('RELEASE_BURN_UP'[STORY_POINTS_COMMITTED]),
        FILTER(
            ALL('AllSprints'[SPRINT_NAME]),
            'AllSprints'[SPRINT_NAME] <= MAX('AllSprints'[SPRINT_NAME])
        )
    ),
    -- Future sprint: do not display a flat line
    BLANK()
)
 
CumulativeSPCompleted =
VAR MaxCompletedSprint =
    CALCULATE(
        MAX('RELEASE_BURN_UP'[SPRINT_NAME]),
        'RELEASE_BURN_UP'[STORY_POINTS_COMMITTED] > 0
    ) -- Identify the last completed sprint based on committed story points
RETURN
IF(
    MAX('AllSprints'[SPRINT_NAME]) <= MaxCompletedSprint,
    -- Historical sprint: show actual cumulative completed points
    CALCULATE(
        SUM('RELEASE_BURN_UP'[STORY_POINTS_COMPLETED]),
        FILTER(
            ALL('AllSprints'[SPRINT_NAME]),
            'AllSprints'[SPRINT_NAME] <= MAX('AllSprints'[SPRINT_NAME])
        )
    ),
    -- Future sprint: do not display a flat line
    BLANK()
)
 
DynamicGoal =
VAR GoalValue =
    LOOKUPVALUE(
        ReleaseTable[Goal],
        ReleaseTable[FIX_VERSION], SELECTEDVALUE(RELEASE_BURN_UP[FIX_VERSION])
    )
VAR DefaultGoal = 100  -- Default goal value when GoalValue is blank
RETURN
    IF(
        ISBLANK(GoalValue),
        DefaultGoal,  -- Return DefaultGoal when the goal is not defined
        GoalValue  -- Return the actual GoalValue when it's defined
    )
 
PredictedCumulativeSPCompleted =
VAR LastCompletedSprint =
    MAXX(
        FILTER(
            ALL('RELEASE_BURN_UP'),
            'RELEASE_BURN_UP'[STORY_POINTS_COMPLETED] > 0
        ),
        'RELEASE_BURN_UP'[SPRINT_NUMBER]
    )

VAR CompletedPoints =
    CALCULATE(
        SUM('RELEASE_BURN_UP'[STORY_POINTS_COMPLETED]),
        'RELEASE_BURN_UP'[SPRINT_NUMBER] <= MAX('AllSprints'[SPRINT_NUMBER])
    )

VAR GoalValue =
    LOOKUPVALUE(
        ReleaseTable[Goal],
        ReleaseTable[FIX_VERSION],
        SELECTEDVALUE(RELEASE_BURN_UP[FIX_VERSION])
    )

VAR RemainingPoints = GoalValue - CompletedPoints

VAR FutureSprintNumbers =
    FILTER(
        ALL('AllSprints'),
        'AllSprints'[SPRINT_NUMBER] > LastCompletedSprint
    )

VAR FutureSprintCount = COUNTROWS(FutureSprintNumbers)

-- Flat value for future sprints (63 points per sprint)
VAR PointsPerFutureSprint = 63

VAR CumulativePoints =
    SUMX(
        FILTER(
            ALL('AllSprints'),
            'AllSprints'[SPRINT_NUMBER] <= MAX('AllSprints'[SPRINT_NUMBER])
        ),
        IF(
            'AllSprints'[SPRINT_NUMBER] <= LastCompletedSprint,
            -- Use actual completed story points for historical sprints
            CALCULATE(
                SUM('RELEASE_BURN_UP'[STORY_POINTS_COMPLETED]),
                TREATAS({ 'AllSprints'[SPRINT_NUMBER] }, 'RELEASE_BURN_UP'[SPRINT_NUMBER])
            ),
            -- For future sprints, accumulate flat projected points (63 per sprint)
            [CumulativeSPCompleted]+[AVERAGE_STORY_POINTS_COMPLETED_VERSIONWISE]
        )
    )

RETURN
CumulativePoints

 

Helpful resources

Announcements
Power BI DataViz World Championships

Power BI Dataviz World Championships

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!

December 2025 Power BI Update Carousel

Power BI Monthly Update - December 2025

Check out the December 2025 Power BI Holiday Recap!

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.