Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
I have some match data with home team and away teams and the outcome of the match.
How in power BI can I flag the current win and loss streak at that current point in the season.
The grey columns are what I'm looking to create.
For example, Utah wins 3 matches in a row but loses their 4th, so their highest win streak is 3 and their current loss streak is 1.
Solved! Go to Solution.
Hi, @knielson ;
Try it.
Current Win Streak =
var _max=CALCULATE(MAX('Table'[natch_ id]),FILTER('Table',[LTeam]=EARLIER('Table'[WTeam])&&[natch_ id]<EARLIER('Table'[natch_ id])))
var _min=CALCULATE(MIN('Table'[natch_ id]),FILTER('Table',[WTeam]=EARLIER('Table'[WTeam])&&[natch_ id]<EARLIER('Table'[natch_ id])))
var _value=IF(_max>=_min,_max,_min)
var _res= CALCULATE(COUNT('Table'[WTeam]),FILTER('Table',[natch_ id]>=_value&&[natch_ id]<=EARLIER('Table'[natch_ id])&&[WTeam]=EARLIER('Table'[WTeam])))
return _res
Current Loss Streak =
var _max=CALCULATE(MAX('Table'[natch_ id]),FILTER('Table',[WTeam]=EARLIER('Table'[LTeam])&&[natch_ id]<EARLIER('Table'[natch_ id])))
var _min=CALCULATE(MIN('Table'[natch_ id]),FILTER('Table',[LTeam]=EARLIER('Table'[LTeam])&&[natch_ id]<EARLIER('Table'[natch_ id])))
var _value=IF(_max>=_min,_max,_min)
var _res= CALCULATE(COUNT('Table'[LTeam]),FILTER('Table',[natch_ id]>=_value&&[natch_ id]<=EARLIER('Table'[natch_ id])&&[LTeam]=EARLIER('Table'[LTeam])))
return _res
Best Regards,
Community Support Team _ Yalan Wu
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi, @knielson ;
You could create a column by dax.
Current Win Streak =
var _max=CALCULATE(MAX('Table'[natch_ id]),FILTER('Table',[LTeam]=EARLIER('Table'[WTeam])&&[natch_ id]<EARLIER('Table'[natch_ id])))
var _min=CALCULATE(MIN('Table'[natch_ id]),FILTER('Table',[WTeam]=EARLIER('Table'[WTeam])&&[natch_ id]<EARLIER('Table'[natch_ id])))
var _value=IF(_max>_min,_max,_min)
var _res= CALCULATE(COUNT('Table'[WTeam]),FILTER('Table',[natch_ id]>=_value&&[natch_ id]<=EARLIER('Table'[natch_ id])&&[WTeam]=EARLIER('Table'[WTeam])))
return _res
Current Loss Streak =
var _max=CALCULATE(MAX('Table'[natch_ id]),FILTER('Table',[WTeam]=EARLIER('Table'[LTeam])&&[natch_ id]<EARLIER('Table'[natch_ id])))
var _min=CALCULATE(MIN('Table'[natch_ id]),FILTER('Table',[LTeam]=EARLIER('Table'[LTeam])&&[natch_ id]<EARLIER('Table'[natch_ id])))
var _value=IF(_max>_min,_max,_min)
var _res= CALCULATE(COUNT('Table'[LTeam]),FILTER('Table',[natch_ id]>=_value&&[natch_ id]<=EARLIER('Table'[natch_ id])&&[LTeam]=EARLIER('Table'[LTeam])))
return _res
The final show:
Best Regards,
Community Support Team _ Yalan Wu
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
This is great. I noticed that it doesn't reset the streak in the event of a tie. How could that be done?
Hi, @knielson ;
Try it.
Current Win Streak =
var _max=CALCULATE(MAX('Table'[natch_ id]),FILTER('Table',[LTeam]=EARLIER('Table'[WTeam])&&[natch_ id]<EARLIER('Table'[natch_ id])))
var _min=CALCULATE(MIN('Table'[natch_ id]),FILTER('Table',[WTeam]=EARLIER('Table'[WTeam])&&[natch_ id]<EARLIER('Table'[natch_ id])))
var _value=IF(_max>=_min,_max,_min)
var _res= CALCULATE(COUNT('Table'[WTeam]),FILTER('Table',[natch_ id]>=_value&&[natch_ id]<=EARLIER('Table'[natch_ id])&&[WTeam]=EARLIER('Table'[WTeam])))
return _res
Current Loss Streak =
var _max=CALCULATE(MAX('Table'[natch_ id]),FILTER('Table',[WTeam]=EARLIER('Table'[LTeam])&&[natch_ id]<EARLIER('Table'[natch_ id])))
var _min=CALCULATE(MIN('Table'[natch_ id]),FILTER('Table',[LTeam]=EARLIER('Table'[LTeam])&&[natch_ id]<EARLIER('Table'[natch_ id])))
var _value=IF(_max>=_min,_max,_min)
var _res= CALCULATE(COUNT('Table'[LTeam]),FILTER('Table',[natch_ id]>=_value&&[natch_ id]<=EARLIER('Table'[natch_ id])&&[LTeam]=EARLIER('Table'[LTeam])))
return _res
Best Regards,
Community Support Team _ Yalan Wu
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
98 | |
97 | |
81 | |
77 | |
66 |
User | Count |
---|---|
126 | |
105 | |
103 | |
81 | |
72 |