Forum Discussion

bbajuscak's avatar
bbajuscak
Helper I
1 year ago
Solved

Next Deliverable for Multiple Projects

Need assistance: I have a listing of projects, each project has multiple deliverables with dates associated with each. How can I isolate the next deliverable  and associated date for each project?  ...
  • Irwan's avatar
    1 year ago

    hello bbajuscak 

     

    you can do this in two ways, SUMMARIZE table and measure.

    SUMMARIZE Table : 

    - create a new table with following DAX

    Summarize = 
    SUMMARIZE(
        ADDCOLUMNS(
            'Table',
            "Min Date",
            MINX(
                FILTER(
                    'Table',
                    'Table'[Project]=EARLIER('Table'[Project])
                ),
                'Table'[Delivery Date]
            )
        ),
        'Table'[Project],
        [Min Date],
        "Min Deliverable",
        MINX(
            FILTER(
                'Table',
                'Table'[Delivery Date]=[Min Date]
            ),
            'Table'[Deliverable]
        )
    )

     

    Measure : 
    - create a new measure with following DAX for looking the minimum date for each Project
    Min Date =
    MINX(
        FILTER(
            'Table',
            'Table'[Project]='Table'[Project]
        ),
        'Table'[Delivery Date]
    )
    - create another new measure with following DAX for looking Deliverable in that minimum date
    Min Deliverable =
    var _Date = [Min Date]
    Return
    MINX(
        FILTER(
            'Table',
            'Table'[Delivery Date]=_Date
        ),
        'Table'[Deliverable]
    )
    - Plot Project, Min Date (previously created measure), and Min Deliverable (previously created measure) in Table visual

     

    Hope this will help.
    Thank you.

  • Anonymous's avatar
    Anonymous
    1 year ago

    Hi bbajuscak ,

     

    I think you can create a measure and add it into visual level filter and set it to show items when value = 1.

    Check Whether Closest Deliverable Each Project =
    VAR _Closest_Deliverable_Each_Project =
        CALCULATE (
            MIN ( Data[Delivery Date] ),
            FILTER ( ALLEXCEPT ( Data, Data[Project] ), Data[Delivery Date] > TODAY () )
        )
    RETURN
        IF ( MAX ( Data[Delivery Date] ) = _Closest_Deliverable_Each_Project, 1, 0 )

    Result is as below.

     

    Best Regards,
    Rico Zhou

     

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.