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
hackfifi
Helper V
Helper V

Schedule Gantt Query - Matrix

Hello Good Day

I am using the below formula to develop a GANTT Chart in Matrix Visual. As you can see below, some "Activity IDs" do not have either a START or FINISH date i.e. it is BLANK. By using the below formula, the value "1" is shown continously (highligted in YELLOW). I only want to show the "1" on 07-Apr-24 (in the below screenshot example). Actually i would like to show it as "2" to put a different conditional formatting.

Thanks in Advance for your assistance.


Schedule_Gant =
var _startdate =
    CALCULATE(
        min(Schedule_Gant[Start_EOW]),REMOVEFILTERS('_Calendar Schedule')
    )
var _enddate =
    CALCULATE(
        Max(Schedule_Gant[Finish_EOW]),REMOVEFILTERS('_Calendar Schedule'))
var _period =
    min('_Calendar Schedule'[Weekly Cut-Off])>=_startdate
    && max ('_Calendar Schedule'[Weekly Cut-Off])<=_enddate
RETURN
if(_period,1)

 

 

Gantt Query.JPG

1 ACCEPTED SOLUTION
MFelix
Super User
Super User

Hi @hackfifi ,

 

For this you need to have a calculation that checks if the start date is blank try the following code:

 

Schedule_Gant =
VAR _startdate =
    CALCULATE (
        MIN ( Schedule_Gant[Start_EOW] ),
        REMOVEFILTERS ( '_Calendar Schedule' )
    )
VAR _enddate =
    CALCULATE (
        MAX ( Schedule_Gant[Finish_EOW] ),
        REMOVEFILTERS ( '_Calendar Schedule' )
    )
VAR _period =
    MIN ( '_Calendar Schedule'[Weekly Cut-Off] ) >= _startdate
        && MAX ( '_Calendar Schedule'[Weekly Cut-Off] ) <= _enddate
VAR _finalPeriod =
    IF (
        _startdate = BLANK (),
        MAX ( '_Calendar Schedule'[Weekly Cut-Off] ) = _enddate,
        _period
    )
RETURN
    IF ( _finalperiod, 1 )

 

Be aware that this may need some changes because I have no data to test it out.


Regards

Miguel Félix


Did I answer your question? Mark my post as a solution!

Proud to be a Super User!

Check out my blog: Power BI em Português





View solution in original post

1 REPLY 1
MFelix
Super User
Super User

Hi @hackfifi ,

 

For this you need to have a calculation that checks if the start date is blank try the following code:

 

Schedule_Gant =
VAR _startdate =
    CALCULATE (
        MIN ( Schedule_Gant[Start_EOW] ),
        REMOVEFILTERS ( '_Calendar Schedule' )
    )
VAR _enddate =
    CALCULATE (
        MAX ( Schedule_Gant[Finish_EOW] ),
        REMOVEFILTERS ( '_Calendar Schedule' )
    )
VAR _period =
    MIN ( '_Calendar Schedule'[Weekly Cut-Off] ) >= _startdate
        && MAX ( '_Calendar Schedule'[Weekly Cut-Off] ) <= _enddate
VAR _finalPeriod =
    IF (
        _startdate = BLANK (),
        MAX ( '_Calendar Schedule'[Weekly Cut-Off] ) = _enddate,
        _period
    )
RETURN
    IF ( _finalperiod, 1 )

 

Be aware that this may need some changes because I have no data to test it out.


Regards

Miguel Félix


Did I answer your question? Mark my post as a solution!

Proud to be a Super User!

Check out my blog: Power BI em Português





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.

Fabric Community Sticker Design Challenge Barcelona Carousel

Fabric Community Sticker Challenge - Barcelona 2026

If you love stickers, then you will definitely want to check out our community sticker challenge, Barcelona edition!

July Power BI Update Carousel

Power BI Monthly Update - July 2026

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

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