Forum Discussion

benlevine200's avatar
benlevine200
New Member
2 months ago
Solved

Power BI Gantt Chartt Professional View

Good morning,

 

I am trying to make a Gantt chart summarizing 3 different timeframe types for several different categories. I cannot share the specific data points due to it being proprietary business values. The goal is two things; make this look professional, so that an executive would be able to screengrab it and use it in a leadership presentation. The second is that if possible I would like to make it so that all 3 colors fall on 1 line, instead of it being 3 lines per one value. Were in the food business, so instead of it saying Bread Contract Date Range, Bread Sourcing Date Range, Bread Cost Savings Date Range, it's just one row saying Bread, and the bar is seperated by colors defining what each color represents. I would like to use Inforiver+, but my company would prefer to exhaust all free options before paying for it. Does anyone know a better option without paying for an add-on?

 

This is what my current Gantt Chart looks like using Gantt Chart By MAQ Software. Any and all help would be appreciated:)

 

  • Hi benlevine200,

    You can achieve a single-row Gantt-style timeline with multiple timeframes on the same line using a native Matrix visual (no paid visuals needed). Create a disconnected Date table for Month-Year columns and use a Matrix with Category on Rows and Month-Year on Columns. Use a blank display measure like -

    Timeline Display = UNICHAR(8203)

    Then drive the colors using a measure that checks if each timeframe is active in the month -

    Timeline Color = 
    VAR CurrentMonthStart =
        MIN ( Calendar[Date] )
    
    VAR CurrentMonthEnd =
        EOMONTH ( CurrentMonthStart, 0 )
    
    VAR ContractActive =
        CALCULATE (
            COUNTROWS ( 'Gantt Data' ),
            FILTER (
                'Gantt Data',
                'Gantt Data'[Timeframe Type] = "Contract"
                    && 'Gantt Data'[Start Date] <= CurrentMonthEnd
                    && 'Gantt Data'[End Date] >= CurrentMonthStart
            )
        )
    
    VAR SourcingActive =
        CALCULATE (
            COUNTROWS ( 'Gantt Data' ),
            FILTER (
                'Gantt Data',
                'Gantt Data'[Timeframe Type] = "Sourcing"
                    && 'Gantt Data'[Start Date] <= CurrentMonthEnd
                    && 'Gantt Data'[End Date] >= CurrentMonthStart
            )
        )
    
    VAR SavingsActive =
        CALCULATE (
            COUNTROWS ( 'Gantt Data' ),
            FILTER (
                'Gantt Data',
                'Gantt Data'[Timeframe Type] = "Cost Savings"
                    && 'Gantt Data'[Start Date] <= CurrentMonthEnd
                    && 'Gantt Data'[End Date] >= CurrentMonthStart
            )
        )
    
    RETURN
    SWITCH (
        TRUE (),
    
        -- All 3 overlap
        ContractActive > 0 && SourcingActive > 0 && SavingsActive > 0, "#595959",
    
        -- 2-way overlaps
        ContractActive > 0 && SourcingActive > 0, "#6FA8DC",
        ContractActive > 0 && SavingsActive > 0, "#7E57C2",
        SourcingActive > 0 && SavingsActive > 0, "#C76BAA",
    
        -- Single active timeframe
        ContractActive > 0, "#1E9BF0",
        SourcingActive > 0, "#E8743B",
        SavingsActive > 0, "#A020B0",
    
        -- No active range
        "#F2F2F2"
    )

    Apply this to Timeline Display via conditional formatting (background color) to create the timeline blocks. This results in a clean, executive-friendly visual with one row per category and combined timelines.


    Sample Data Used - 

     

    โ€Œโ€Œ๐ŸŽฏ Result - 

    Hierarchy (TimeFrame Type/Category)

    If you try to keep all timeframe types as colors on a single line per category, the colors will overlap, which doesnโ€™t look very clean or visually appealing. Instead, I would recommend using a hierarchy (Timeframe Type/Category) to separate them properly.

    Below is how it looks when all timeframes are combined into a single line:

     

    ๐Ÿ’ก Helpful? Give a Kudos ๐Ÿ‘ โ€” keep the community growing
    โœ… Solved your issue? Mark as Solution โœ”๏ธ โ€” help others find it faster

    Best regards,
    Rupasree Achari | BI & Fabric Analytics Engineer

4 Replies

  • Rupa01's avatar
    Rupa01
    Icon for Solution Sage rankSolution Sage

    Hi benlevine200,

    You can achieve a single-row Gantt-style timeline with multiple timeframes on the same line using a native Matrix visual (no paid visuals needed). Create a disconnected Date table for Month-Year columns and use a Matrix with Category on Rows and Month-Year on Columns. Use a blank display measure like -

    Timeline Display = UNICHAR(8203)

    Then drive the colors using a measure that checks if each timeframe is active in the month -

    Timeline Color = 
    VAR CurrentMonthStart =
        MIN ( Calendar[Date] )
    
    VAR CurrentMonthEnd =
        EOMONTH ( CurrentMonthStart, 0 )
    
    VAR ContractActive =
        CALCULATE (
            COUNTROWS ( 'Gantt Data' ),
            FILTER (
                'Gantt Data',
                'Gantt Data'[Timeframe Type] = "Contract"
                    && 'Gantt Data'[Start Date] <= CurrentMonthEnd
                    && 'Gantt Data'[End Date] >= CurrentMonthStart
            )
        )
    
    VAR SourcingActive =
        CALCULATE (
            COUNTROWS ( 'Gantt Data' ),
            FILTER (
                'Gantt Data',
                'Gantt Data'[Timeframe Type] = "Sourcing"
                    && 'Gantt Data'[Start Date] <= CurrentMonthEnd
                    && 'Gantt Data'[End Date] >= CurrentMonthStart
            )
        )
    
    VAR SavingsActive =
        CALCULATE (
            COUNTROWS ( 'Gantt Data' ),
            FILTER (
                'Gantt Data',
                'Gantt Data'[Timeframe Type] = "Cost Savings"
                    && 'Gantt Data'[Start Date] <= CurrentMonthEnd
                    && 'Gantt Data'[End Date] >= CurrentMonthStart
            )
        )
    
    RETURN
    SWITCH (
        TRUE (),
    
        -- All 3 overlap
        ContractActive > 0 && SourcingActive > 0 && SavingsActive > 0, "#595959",
    
        -- 2-way overlaps
        ContractActive > 0 && SourcingActive > 0, "#6FA8DC",
        ContractActive > 0 && SavingsActive > 0, "#7E57C2",
        SourcingActive > 0 && SavingsActive > 0, "#C76BAA",
    
        -- Single active timeframe
        ContractActive > 0, "#1E9BF0",
        SourcingActive > 0, "#E8743B",
        SavingsActive > 0, "#A020B0",
    
        -- No active range
        "#F2F2F2"
    )

    Apply this to Timeline Display via conditional formatting (background color) to create the timeline blocks. This results in a clean, executive-friendly visual with one row per category and combined timelines.


    Sample Data Used - 

     

    โ€Œโ€Œ๐ŸŽฏ Result - 

    Hierarchy (TimeFrame Type/Category)

    If you try to keep all timeframe types as colors on a single line per category, the colors will overlap, which doesnโ€™t look very clean or visually appealing. Instead, I would recommend using a hierarchy (Timeframe Type/Category) to separate them properly.

    Below is how it looks when all timeframes are combined into a single line:

     

    ๐Ÿ’ก Helpful? Give a Kudos ๐Ÿ‘ โ€” keep the community growing
    โœ… Solved your issue? Mark as Solution โœ”๏ธ โ€” help others find it faster

    Best regards,
    Rupasree Achari | BI & Fabric Analytics Engineer
  • benlevine200 

     

    MAQ can't collapse the three ranges onto one row, that's your limit. Best free option: Deneb.

    In Deneb, plot all three date ranges as bar marks on a single y-value (Bread), each colored by type. One row per category, polished enough for a leadership deck.

     

    If this answer helped, please click ๐Ÿ‘ or Accept as Solution.
    -Kedar
    LinkedIn: https://www.linkedin.com/in/kedar-pande

  • v-karpurapud's avatar
    v-karpurapud
    Icon for Community Support rankCommunity Support

    Hi benlevine200 

    Thank you for submitting your question to the Microsoft Fabric Community Forum, and thanks to Rupa01 and Kedar_Pande   for sahring helpful suggestions.

    Could you let us know if the suggested solution resolved your issue? If not, please share any additional details so we can assist further.

    Best regards,
    Community Support Team.

  • v-karpurapud's avatar
    v-karpurapud
    Icon for Community Support rankCommunity Support

    Hi benlevine200 

    We were following up to check if you had the opportunity to review the information provided. Please feel free to contact us if you have any further questions.

     

    Thank You.