Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
4 years ago

Count Column by Group and filter

I posted before about a similar problem but I need to know how to handle multiple project. 

 

I need to know how many times a project goes in and out the " Tech Review" phase. The solution for a table housing one project is below but I cant get it to account for multiple ProjectId/ProjectIndex.

 

How many times =
VAR _maxIndexOf_ProjectAndStage =
    MAXX (
        FILTER (
            'Table',
            'Table'[ProjectId] = EARLIER ( 'Table'[ProjectId] )
                && [Stage_Name] = "Tech Review"
        ),
        [Index]
    )
VAR _maxIndexOfProject =
    MAXX (
        FILTER ( 'Table', 'Table'[ProjectId] = EARLIER ( 'Table'[ProjectId] ) ),
        [Index]
    )
VAR _countNotTechReview =
    COUNTROWS (
        FILTER (
            'Table',
            [Index] > EARLIER ( 'Table'[Index] )
                && [Stage_Name] <> "Tech Review"
        )
    )
RETURN
    IF (
        [Stage_Name] = "Tech Review",
        _countNotTechReview - ( _maxIndexOfProject - _maxIndexOf_ProjectAndStage - 1 )
    )

 

Below is a snap show of the status table. Currently, all projects are housed in one large status table.  Everytime an action occurs, a new line is created with a timestamp.

 

ProjectIdStageIdCreatedStage_NameProjectIndex
110312/10/2022Tech Review1
110312/10/2022Tech Review2
110472/10/2022Production3
110312/9/2022Tech Review4
110312/8/2022Tech Review5
110312/8/2022Tech Review6
110312/8/2022Tech Review7
110472/8/2022Production8
110312/3/2022Tech Review9
110232/3/2022Review Proof10
110312/2/2022Tech Review11
110312/2/2022Tech Review12
110221/28/2022Graphics13
110311/28/2022Tech Review14
110311/27/2022Tech Review15
110871/27/2022Review Proof16
110311/27/2022Tech Review17
110311/21/2022Tech Review18
110221/7/2022Graphics19
1112812/1/2021Follow up Estimators20
1112411/29/2021Estimating21
1112411/10/2021Estimating22
210312/10/2022Tech Review1
210312/10/2022Tech Review2
210312/10/2022Tech Review3
210312/10/2022Tech Review4
210472/10/2022Production5
210312/9/2022Tech Review6
210312/8/2022Tech Review7
210312/8/2022Tech Review8
210221/7/2022Graphics9
310311/21/2022Tech Review1
310311/21/2022Tech Review2
310221/7/2022Graphics3
310311/21/2022Tech Review4
310221/7/2022Graphics5
3112411/10/2021Estimating6

 

And i need the table to return this 

ProjectIdStageIdCreatedStage_NameProjectIndexHow many times "Tech Review"
110312/10/2022Tech Review16
110312/10/2022Tech Review26
110472/10/2022Production3 
110312/9/2022Tech Review45
110312/8/2022Tech Review55
110312/8/2022Tech Review65
110312/8/2022Tech Review75
110472/8/2022Production8 
110312/3/2022Tech Review94
110232/3/2022Review Proof10 
110312/2/2022Tech Review113
110312/2/2022Tech Review123
110221/28/2022Graphics13 
110311/28/2022Tech Review142
110311/27/2022Tech Review152
110871/27/2022Review Proof16 
110311/27/2022Tech Review171
110311/21/2022Tech Review181
110221/7/2022Graphics19 
1112812/1/2021Follow up Estimators20 
1112411/29/2021Estimating21 
1112411/10/2021Estimating22 
210312/10/2022Tech Review12
210312/10/2022Tech Review22
210312/10/2022Tech Review32
210312/10/2022Tech Review42
210472/10/2022Production5 
210312/9/2022Tech Review61
210312/8/2022Tech Review71
210312/8/2022Tech Review81
210221/7/2022Graphics9 
310311/21/2022Tech Review13
310311/21/2022Tech Review22
310221/7/2022Graphics3 
310311/21/2022Tech Review41
310221/7/2022Graphics5 
3112411/10/2021Estimating6 

7 Replies

  • You're very nearly there. All you need to do is add the condition inside the _countNotTechReview you have in the prior variables.

     

    How many times = 
    VAR _maxIndexOf_ProjectAndStage =
        MAXX (
            FILTER (
                'Table',
                'Table'[ProjectId] = EARLIER ( 'Table'[ProjectId] )
                    && 'Table'[Stage_Name] = "Tech Review"
            ),
            'Table'[ProjectIndex]
        )
    VAR _maxIndexOfProject =
        MAXX (
            FILTER ( 'Table', 'Table'[ProjectId] = EARLIER ( 'Table'[ProjectId] ) ),
            'Table'[ProjectIndex]
        )
    VAR _countNotTechReview =
        COUNTROWS (
            FILTER (
                'Table',
                'Table'[ProjectId] = EARLIER ( 'Table'[ProjectId] )
                    && 'Table'[ProjectIndex] > EARLIER ( 'Table'[ProjectIndex] )
                    && 'Table'[Stage_Name] <> "Tech Review"
            )
        )
    RETURN
        IF (
            'Table'[Stage_Name] = "Tech Review",
            _countNotTechReview - ( _maxIndexOfProject - _maxIndexOf_ProjectAndStage - 1 )
        )
    • Anonymous's avatar
      Anonymous
      Not applicable

      Could you message me directly? I am trying to reply to your comment with an issue that is showing up but it keeps getting removed for spam for some reason.

  • Anonymous's avatar
    Anonymous
    Not applicable

    AlexisOlson This is the table i get when i try your solution. It is skipping values in the "How many times" column 

     

    Project IDStage IdCreatedStage_NameIndexHow many times "Tech Review"
    69011394/21/22Prod Files1 
    69010314/20/22Tech Review29
    69010864/19/22Revised Proof3 
    69011404/14/22Revised Proof4 
    69010314/14/22Tech Review57
    69010862/22/22Revised Proof6 
    69010312/20/22Tech Review76
    69010222/17/22Graphics8 
    69011352/17/22Estimating9 
    69010311/28/22Tech Review104
    69010311/28/22Tech Review114
    69010231/28/221st proof12 
    69010471/27/22In Production13 
    69010221/27/22Graphics14 
    69010311/27/22Tech Review151
    114310864/21/22Revised Proof1 
    114310244/21/22Revised Proof2 
    114311354/19/22Estimating3 
    114310864/18/22Revised Proof4 
    114310244/18/22Revised Proof5 
    114310224/18/22Graphics6 
    114310314/18/22Tech Review717
    114311404/12/22Revised Proof8 
    114310314/12/22Tech Review916
    114310864/11/22Revised Proof10 
    114310244/11/22Revised Proof11 
    114310314/8/22Tech Review1214
    114310224/7/22Graphics13 
    114310313/29/22Tech Review1413
    114310863/29/22Revised Proof15 
    114310243/29/22Revised Proof16 
    114310863/28/22Revised Proof17 
    114310313/23/22Tech Review1810
    114310223/22/22Graphics19 
    114310863/15/22Revised Proof20 
    114310233/15/221st proof21 
    114310313/7/22Tech Review227
    114310223/4/22Graphics23 
    114310863/3/22Revised Proof24 
    114310243/3/22Revised Proof25 
    114310863/2/22Revised Proof26 
    114310313/2/22Tech Review273
    114310312/28/22Tech Review283
    114310212/24/22Graphics29 
    114310312/2/22Tech Review302
    114310312/2/22Tech Review312
    114310312/2/22Tech Review322
    114311242/1/22Estimating33 
    114310311/28/22Tech Review341
    114310311/21/22Tech Review351
    114311361/20/22Sent To Client36 
    114311241/20/22Estimating37 
    41610314/21/22Tech Review117
    41610224/20/22Graphics2 
    41610863/29/22Revised Proof3 
    41610223/29/22Graphics4 
    41610313/28/22Tech Review514
    41610223/25/22Graphics6 
    41610313/21/22Tech Review713
    41610863/21/22Revised Proof8 
    41610313/21/22Tech Review912
    41610863/21/22Revised Proof10 
    41610243/21/22Revised Proof11 
    41610213/18/22Graphics12 
    41610213/17/22Graphics13 
    41610213/15/22Graphics14 
    41611353/11/22Estimating15 
    41610863/9/22Revised Proof16 
    41610313/3/22Tech Review175
    41610243/1/22Revised Proof18 
    41611353/1/22Estimating19 
    41610312/4/22Tech Review203
    41610312/3/22Tech Review213
    41610312/3/22Tech Review223
    41610312/2/22Tech Review233
    41610312/1/22Tech Review243
    41610312/1/22Tech Review253
    41610312/1/22Tech Review263
    41610311/28/22Tech Review273
    41610311/25/22Tech Review283
    41610311/18/22Tech Review293
    41610311/17/22Tech Review303
    416103112/17/21Tech Review313
    416103112/8/21Tech Review323
    416102212/7/21Graphics33 
    416103112/3/21Tech Review342
    416106112/3/21Graphics35 
    416103112/2/21Tech Review361
    416103111/23/21Tech Review371
    416113311/22/21Follow up38 
    416113811/22/21Scheduling39 
    416111311/18/21Clarification40 
    416102111/17/21Graphics41 
  • v-chenwuz-msft's avatar
    v-chenwuz-msft
    Community Support

    Hi Anonymous ,

     

    I made some mistakes in previous post. 

    The index([Global index]) should be created of all project. And add one more filter on "_countNotTechReview"

    var _countNotTechReview =
    COUNTROWS (
        FILTER (
            'NewTable',
            [Global Index] > EARLIER ( 'NewTable'[Global Index] )
                && [Global Index] <= _maxIndexOfProject // one more filter here
                && [Stage_Name] <> "Tech Review"
        )
    )

     

    Pbix in the end you can refer.

    Best Regards

    Community Support Team _ chenwu zhu

     

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

    • Anonymous's avatar
      Anonymous
      Not applicable

      Based on your adjustments, I am still getting off numbers. Below shows the count is still off with a glabal_index. AlexisOlson Tagging you on this as well since you also provided great feedback.

       

      ProjectIdStageIdActionsIndex.CreatedStage_NamePorjectIndexHow many timesGlobal_Index
      33010312/10/22Tech Review1-3270
      33010312/10/22Tech Review2-3271
      33010312/10/22Tech Review3-3272
      33010312/10/22Tech Review4-3273
      33010472/10/22In Production

       (PM)
      5 274
      33010312/9/22Tech Review6-3275
      33010312/8/22Tech Review7-3276
      33010312/8/22Tech Review8-3277
      33010312/8/22Tech Review9-3278
      33010472/8/22In Production

       (PM)
      10 279
      33010312/4/22Tech Review11-3280
      33010232/3/221st proof12 281
      33010312/3/22Tech Review13-3282
      33010312/3/22Tech Review14-3283
      33010312/2/22Tech Review15-3284
      33010312/2/22Tech Review16-3285
      33010221/28/22Graphics17 286
      33010311/28/22Tech Review18-3287
      33010311/27/22Tech Review19-3288
      33010311/27/22Tech Review20-3289
      33010311/27/22Tech Review21-3290
      33010311/27/22Tech Review22-3291
      33010871/27/22Sent Proof To PM (Hosp)23 292
      33010311/21/22Tech Review24-3293
      33010211/7/22Graphics25 294
      330112812/1/21Estimating26 295
      330112411/29/21Estimating27 296
      330112411/10/21Estimating28 297
      41610314/21/22Tech Review1-3525
      41610224/20/22Graphics2 526
      41610863/29/22Revised Proof3 527
      41610223/29/22Graphics4 528
      41610313/28/22Tech Review5-3529
      41610223/25/22Graphics6 530
      41610313/21/22Tech Review7-3531
      41610863/21/22Revised Proof8 532
      41610313/21/22Tech Review9-3533
      41610863/21/22Revised Proof10 534
      41610243/21/22Revised Proof11 535
      41610213/18/22Graphics12 536
      41610213/17/22Graphics13 537
      41610213/15/22Graphics14 538
      41611353/11/22Estimating15 539
      41610863/9/22Revised Proof16 540
      41610313/3/22Tech Review17-3541
      41610243/1/22Revised Proof18 542
      41611353/1/22Estimating19 543
      41610312/4/22Tech Review20-3544
      41610312/3/22Tech Review21-3545
      41610312/3/22Tech Review22-3546
      41610312/2/22Tech Review23-3547
      41610312/1/22Tech Review24-3548
      41610312/1/22Tech Review25-3549
      41610312/1/22Tech Review26-3550
      41610311/28/22Tech Review27-3551
      41610311/25/22Tech Review28-3552
      41610311/18/22Tech Review29-3553
      41610311/17/22Tech Review30-3554
      416103112/17/21Tech Review31-3555
      416103112/8/21Tech Review32-3556
      416102212/7/21Graphics33 557
      416103112/3/21Tech Review34-3558
      416106112/3/21Graphics35 559
      416103112/2/21Tech Review36-3560
      416103111/23/21Tech Review37-3561
      416113311/22/21Follow up Maps-Evacs38 562
      416113811/22/21Sent to Scheduling39 563
      416111311/18/21Evac Clarification40 564
      416102111/17/21Graphics41 565
      114310214/26/22Graphics1 2907
      114310864/21/22Revised Proof2 2908
      114310244/21/22Revised Proof3 2909
      114311354/19/22Estimating4 2910
      114310864/18/22Revised Proof5 2911
      114310244/18/22Revised Proof6 2912
      114310224/18/22Graphics7 2913
      114310314/18/22Tech Review8-12914
      114311404/12/22Revised Proof9 2915
      114310314/12/22Tech Review10-12916
      114310864/11/22Revised Proof11 2917
      114310244/11/22Revised Proof12 2918
      114310314/8/22Tech Review13-12919
      114310224/7/22Graphics14 2920
      114310313/29/22Tech Review15-12921
      114310863/29/22Revised Proof16 2922
      114310243/29/22Revised Proof17 2923
      114310863/28/22Revised Proof18 2924
      114310313/23/22Tech Review19-12925
      114310223/22/22Graphics20 2926
      114310863/15/22Revised Proof21 2927
      114310233/15/221st proof22 2928
      114310313/7/22Tech Review23-12929
      114310223/4/22Graphics24 2930
      114310863/3/22Revised Proof25 2931
      114310243/3/22Revised Proof26 2932
      114310863/2/22Revised Proof27 2933
      114310313/2/22Tech Review28-12934
      114310312/28/22Tech Review29-12935
      114310212/24/22Graphics30 2936
      114310312/2/22Tech Review31-12937
      114310312/2/22Tech Review32-12938
      114310312/2/22Tech Review33-12939
      114311242/1/22Estimating34 2940
      114310311/28/22Tech Review35-12941
      114310311/21/22Tech Review36-12942
      114310321/20/22PM-WIP37 2943
      114311241/20/22Estimating38 2944
      • v-chenwuz-msft's avatar
        v-chenwuz-msft
        Community Support

        Hi Anonymous ,

         

        Please share your pbix file without sensitive data and cover all possible situations if you need more help.

        Best Regards

        Community Support Team _ chenwu zhu