Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

Reply
grojnak
New Member

Count changes in a field (with date)

Hello.

 

I have a table with these fields:

- employee: ID number of the worker

- location: "home" or "office"

- date: each day the employee worked

 

I need to count how many changes from "home" to "office" or "office" to "home" had each employee. Of course, each change should be coherent in time. For example, for one employee:

dateLocation
25/09home
26/09office
27/09home
28/09home
29/09home

 

the count should be 2. How can I do that? I may also need to detail only the changes. Which is the best approach? A new column with M? A new table? I discard the measure, because of that need of the detailed info of only the changes.

 

Thanks,

1 ACCEPTED SOLUTION
v-rzhou-msft
Community Support
Community Support

Hi @grojnak ,

 

I suggest you to try code as below to create a measure.

My Sample:

vrzhoumsft_0-1695276559847.png

Count Location Change For Employee =
VAR _SUMMARIZE =
    SUMMARIZE (
        ADDCOLUMNS (
            'Table',
            "CheckPoint",
                CALCULATE (
                    MIN ( 'Table'[date] ),
                    FILTER (
                        ALLEXCEPT ( 'Table', 'Table'[Employee ID] ),
                        'Table'[date] > EARLIER ( [date] )
                            && 'Table'[Location] <> EARLIER ( [Location] )
                    )
                )
        ),
        [Employee ID],
        [CheckPoint]
    )
RETURN
    COUNTX ( _SUMMARIZE, [CheckPoint] )

Result is as below.

vrzhoumsft_1-1695276579324.png

 

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.

 

View solution in original post

2 REPLIES 2
v-rzhou-msft
Community Support
Community Support

Hi @grojnak ,

 

I suggest you to try code as below to create a measure.

My Sample:

vrzhoumsft_0-1695276559847.png

Count Location Change For Employee =
VAR _SUMMARIZE =
    SUMMARIZE (
        ADDCOLUMNS (
            'Table',
            "CheckPoint",
                CALCULATE (
                    MIN ( 'Table'[date] ),
                    FILTER (
                        ALLEXCEPT ( 'Table', 'Table'[Employee ID] ),
                        'Table'[date] > EARLIER ( [date] )
                            && 'Table'[Location] <> EARLIER ( [Location] )
                    )
                )
        ),
        [Employee ID],
        [CheckPoint]
    )
RETURN
    COUNTX ( _SUMMARIZE, [CheckPoint] )

Result is as below.

vrzhoumsft_1-1695276579324.png

 

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.

 

lbendlin
Super User
Super User

Yes, this can easily be done in Power Query via grouping.  Read about GroupKind.Local

 

 

Helpful resources

Announcements
July 2024 Power BI Update

Power BI Monthly Update - July 2024

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

PBI_Carousel_NL_June

Fabric Community Update - June 2024

Get the latest Fabric updates from Build 2024, key Skills Challenge voucher deadlines, top blogs, forum posts, and product ideas.