Forum Discussion
Distribute date ranges into groups automatically
- 5 years ago
Hi Anonymous ,
First create a column as below:
Rank = RANKX(FILTER('Table','Table'[Project #]=EARLIER('Table'[Project #])),'Table'[Dates worked],,ASC)Then create a measure as below:
Thirds = var _max=MAXX(FILTER(ALL('Table'),'Table'[Project #]=MAX('Table'[Project #])),'Table'[Rank]) var _count=CALCULATE(COUNT('Table'[Project #]),FILTER(ALL('Table'),'Table'[Project #]=MAX('Table'[Project #]))) Return IF(_max<=3,MAX('Table'[Rank]),DIVIDE(MAX('Table'[Rank]),_count/3))And you will see:
For the related .pbix file,pls see attached.
Best Regards,
KellyDid I answer your question? Mark my post as a solution!
Hi Anonymous
I wouls use MOD in ths case.
Lets say you have the output of your rank function in
Var _rank = RANK(......)
Return MOD(_rank,3)+1
This will give you the output only as 1, 2 and 3
Anonymous I'm sorry, I'm not following. Can you explain in more detail please?
- Anonymous5 years agoNot applicable
HI Anonymous
rank Measure =
var _rank = RANKX( 'Table','Table'[Date],,ASC)return MOD(_rank,3)+1- Anonymous5 years agoNot applicable
Anonymous im sorry to say that did not work.
With a live example, this is the result of your formula
Project # Dates worked Project 1 Friday, June 26, 2020 2 Project 1 Saturday, June 27, 2020 1 Project 1 Sunday, June 28, 2020 1 Project 1 Monday, June 29, 2020 1 Project 1 Tuesday, June 30, 2020 3 Project 1 Wednesday, July 1, 2020 1 Project 1 Thursday, July 2, 2020 1 Project 1 Friday, July 3, 2020 2 Project 1 Saturday, July 4, 2020 2 Project 1 Sunday, July 5, 2020 1 Project 1 Monday, July 6, 2020 3 Project 1 Tuesday, July 7, 2020 2 Project 1 Wednesday, July 8, 2020 3 Project 1 Thursday, July 9, 2020 1 Project 1 Friday, July 10, 2020 2 Project 1 Saturday, July 11, 2020 1 Project 1 Sunday, July 12, 2020 1 Project 1 Monday, July 13, 2020 1 Project 1 Tuesday, July 14, 2020 3 Project 1 Wednesday, July 15, 2020 1 Project 1 Thursday, July 16, 2020 1 Project 1 Friday, July 17, 2020 3 Project 1 Saturday, July 18, 2020 1 Project 1 Sunday, July 19, 2020 1 Project 1 Monday, July 20, 2020 1 Project 1 Tuesday, July 21, 2020 1 Project 1 Wednesday, July 22, 2020 3 Project 1 Thursday, July 23, 2020 3 Project 1 Friday, July 24, 2020 2 Project 1 Saturday, July 25, 2020 3 Project 1 Sunday, July 26, 2020 3 Project 1 Monday, July 27, 2020 3 the result im looking for is below
Project # Dates worked Project 1 Friday, June 26, 2020 1 Project 1 Saturday, June 27, 2020 1 Project 1 Sunday, June 28, 2020 1 Project 1 Monday, June 29, 2020 1 Project 1 Tuesday, June 30, 2020 1 Project 1 Wednesday, July 1, 2020 1 Project 1 Thursday, July 2, 2020 1 Project 1 Friday, July 3, 2020 1 Project 1 Saturday, July 4, 2020 1 Project 1 Sunday, July 5, 2020 1 Project 1 Monday, July 6, 2020 1 Project 1 Tuesday, July 7, 2020 2 Project 1 Wednesday, July 8, 2020 2 Project 1 Thursday, July 9, 2020 2 Project 1 Friday, July 10, 2020 2 Project 1 Saturday, July 11, 2020 2 Project 1 Sunday, July 12, 2020 2 Project 1 Monday, July 13, 2020 2 Project 1 Tuesday, July 14, 2020 2 Project 1 Wednesday, July 15, 2020 2 Project 1 Thursday, July 16, 2020 2 Project 1 Friday, July 17, 2020 2 Project 1 Saturday, July 18, 2020 3 Project 1 Sunday, July 19, 2020 3 Project 1 Monday, July 20, 2020 3 Project 1 Tuesday, July 21, 2020 3 Project 1 Wednesday, July 22, 2020 3 Project 1 Thursday, July 23, 2020 3 Project 1 Friday, July 24, 2020 3 Project 1 Saturday, July 25, 2020 3 Project 1 Sunday, July 26, 2020 3 Project 1 Monday, July 27, 2020 3 Im trying to break the Projects duration into 3 parts... in chronological order. So in the case above, the first 11 dates would be "1", the middle "2", and the latter "3"
- Anonymous5 years agoNot applicable
Hi Anonymous
_number = var _cnt = rankx(allselected(Table1),CALCULATE ( MAX (Table1[Dates worked])),,ASC) var _max = CALCULATE(COUNTROWS(Table1),ALLEXCEPT(table1,Table1[Project #])) var _d3 = _max/3 return CEILING(_cnt/_d3,1)