Forum Discussion

Chetan007's avatar
Chetan007
Frequent Visitor
2 years ago
Solved

Create Table Format For MIN Date First value and MAX Date Last Value

Data: Result: Case1: Group Min Date Max Date A 1220 1330   350+400+100+150+220=1220 300+550+80+250+150=1330   Date From 8-10 To 11-10     Case2: Group Min Date ...
  • Anonymous's avatar
    Anonymous
    2 years ago

    Hi Chetan007 

     

    Please try this:

    Here's the sample table:

    Table:

    Then add 2 measures:

    MinDate =
    VAR _currentGroup =
        SELECTEDVALUE ( 'Table'[Group] )
    VAR _vtable =
        ADDCOLUMNS (
            'Table',
            "_Mindate",
                CALCULATE (
                    MIN ( 'Table'[Date] ),
                    FILTER (
                        ALLSELECTED ( 'Table' ),
                        'Table'[Group] = EARLIER ( 'Table'[Group] )
                            && 'Table'[Category] = EARLIER ( 'Table'[Category] )
                    )
                ),
            "_Maxdate",
                CALCULATE (
                    MAX ( 'Table'[Date] ),
                    FILTER (
                        ALLSELECTED ( 'Table' ),
                        'Table'[Category] = EARLIER ( 'Table'[Category] )
                            && 'Table'[Group] = EARLIER ( 'Table'[Group] )
                    )
                )
        )
    VAR _vtable_min =
        SUMMARIZE (
            FILTER ( _vtable, 'Table'[Date] = [_Mindate] ),
            'Table'[Group],
            "_Values", SUM ( 'Table'[Value] )
        )
    RETURN
        MAXX ( FILTER ( _vtable_min, [Group] = _currentGroup ), [_Values] )
    
    MaxDate =
    VAR _currentGroup =
        SELECTEDVALUE ( 'Table'[Group] )
    VAR _vtable =
        ADDCOLUMNS (
            'Table',
            "_Mindate",
                CALCULATE (
                    MIN ( 'Table'[Date] ),
                    FILTER (
                        ALLSELECTED ( 'Table' ),
                        'Table'[Group] = EARLIER ( 'Table'[Group] )
                            && 'Table'[Category] = EARLIER ( 'Table'[Category] )
                    )
                ),
            "_Maxdate",
                CALCULATE (
                    MAX ( 'Table'[Date] ),
                    FILTER (
                        ALLSELECTED ( 'Table' ),
                        'Table'[Category] = EARLIER ( 'Table'[Category] )
                            && 'Table'[Group] = EARLIER ( 'Table'[Group] )
                    )
                )
        )
    VAR _vtable_max =
        SUMMARIZE (
            FILTER ( _vtable, 'Table'[Date] = [_Maxdate] ),
            'Table'[Group],
            "_Values", SUM ( 'Table'[Value] )
        )
    RETURN
        MAXX ( FILTER ( _vtable_max, [Group] = _currentGroup ), [_Values] )
    

    The result is as follow:

     

    Best Regards

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