Forum Discussion
How to calculate a sequence?
Hello everyone!
Just recently I tried to use Power BI again after a year of delay and I stuck with a rare issue.
I need to calculate a sequence of hired people.
There are 3 columns
Week Position ID Name
Position ID is stable, but names can vary from week to week for the same Position ID in case of Vacancy or other reasons.
I need to mark each name change as a new number in sequence for the particular Position ID. At the same time, names can be repeated (if there was a vacancy (1) for a few weeks, then a person (2) and a vacancy again (3)).
At this moment it doesn't matter where to solve the problem, in DAX or M.
I've uploaded an example here:
https://dl.dropboxusercontent.com/u/4601806/Calculating%20sequence.xlsx
Thank you very much in advance!
Hi Mer333,
To achieve your goal, only need to add some calculated columns to source table (in my test, it's named as Table1), please refer to below DAX formulas:
Previous Name for same ID = LOOKUPVALUE ( Table1[Name], Table1[Position ID], Table1[Position ID], Table1[Week], Table1[Week] - 1 ) flag = IF ( Table1[Previous Name for same ID] = Table1[Name], 0, 1 ) Number in sequence = CALCULATE ( SUM ( Table1[flag] ), ALLEXCEPT ( Table1, Table1[Position ID] ), Table1[Week] <= EARLIER ( Table1[Week] ) )Result output.
Best regards,
Yuliana Gu
5 Replies
- v-yulgu-msftMicrosoft Employee
Hi Mer333,
To achieve your goal, only need to add some calculated columns to source table (in my test, it's named as Table1), please refer to below DAX formulas:
Previous Name for same ID = LOOKUPVALUE ( Table1[Name], Table1[Position ID], Table1[Position ID], Table1[Week], Table1[Week] - 1 ) flag = IF ( Table1[Previous Name for same ID] = Table1[Name], 0, 1 ) Number in sequence = CALCULATE ( SUM ( Table1[flag] ), ALLEXCEPT ( Table1, Table1[Position ID] ), Table1[Week] <= EARLIER ( Table1[Week] ) )Result output.
Best regards,
Yuliana Gu- Mer333Regular Visitor
Hi Yuliana!
Thank you so much! But it seems that problem expands a bit. I found two different names for the same id in some periods. Do you know how to exclude them from the calculation? Otherwise lookupvalue doesn't work. Thank you!
- v-yulgu-msftMicrosoft Employee
Hi Mer333,
In that case, how to display the sequence number? Could you please share some data?
Regards,
Yuliana Gu
- AnonymousNot applicable
I also wont to make a sequence column each ID No.. What I want to make is more simle than his case.
The ID Column is on tha table named "table1". For example, if ID"32437990" is at this column 3rd, I want to give first "32437990" the "1" sequence NO., 2nd this the "2" and 3rd this the "3".
It also doesn't matter where to solve the problem, in DAX or M.
Please your advice .