The ultimate Fabric, Power BI, SQL, and AI community-led learning event. Save €200 with code FABCOMM.
Get registeredEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
Hello,
There was already existing topics about this subject but so far had no success with them.
I would like to rank teams with selected season and gamedate with the following way:
VAR _HomeGameNumber =
// Game number based on gamedate only with no season condition
RANKX(FILTER(TeamSchedule_, TeamSchedule_[HomeTeam] = EARLIER(TeamSchedule_[HomeTeam])), TeamSchedule_[gameDate], , ASC, Dense)
VAR _HomeGameNumberPerSeason =
// Game number based on gamedate and season
RANKX(FILTER(TeamSchedule_, TeamSchedule_[HomeTeam] = EARLIER(TeamSchedule_[HomeTeam]) && TeamSchedule_[season] = EARLIER(TeamSchedule_[season])), TeamSchedule_[gameDate], , ASC, Dense)
RETURN
//The Measure should be able to switch between the two whether season is filtered
//or not which is not possible with calculated column like below:
IF(ISFILTERED(AuxSeason[Season]),
_HomeGameNumberPerSeason,
_HomeGameNumber)
The goal here would be to replace the EARLIER() function to use in a measure. Would this work somehow with MAX() in a measure?
@Oodi , Try using below measure
HomeGameNumber =
VAR CurrentHomeTeam = MAX(TeamSchedule_[HomeTeam])
VAR CurrentGameDate = MAX(TeamSchedule_[gameDate])
RETURN
RANKX(
FILTER(
TeamSchedule_,
TeamSchedule_[HomeTeam] = CurrentHomeTeam
),
TeamSchedule_[gameDate],
,
ASC,
DENSE
)
HomeGameNumberPerSeason =
VAR CurrentHomeTeam = MAX(TeamSchedule_[HomeTeam])
VAR CurrentGameDate = MAX(TeamSchedule_[gameDate])
VAR CurrentSeason = MAX(TeamSchedule_[season])
RETURN
RANKX(
FILTER(
TeamSchedule_,
TeamSchedule_[HomeTeam] = CurrentHomeTeam &&
TeamSchedule_[season] = CurrentSeason
),
TeamSchedule_[gameDate],
,
ASC,
DENSE
)
FinalHomeGameNumber =
IF(
ISFILTERED(AuxSeason[Season]),
[HomeGameNumberPerSeason],
[HomeGameNumber]
)
Proud to be a Super User! |
|
Thanks for the suggestion. Tried it out and the measure returns error:
A single value for column 'gameDate' in table 'TeamSchedule_' cannot be determined. This can happen when a measure formula refers to a column that contains many values without specifying an aggregation such as min, max, count, or sum to get a single result.
The error is caused by the RANKX() Expression TeamSchedule_[GameDate] and goes away with SELECTEDVALUE(TeamSchedule_[GameDate]) but this does not return the correct query i.e. the same the calculated column returns using EARLIER().
User | Count |
---|---|
26 | |
12 | |
8 | |
7 | |
5 |
User | Count |
---|---|
28 | |
13 | |
12 | |
12 | |
6 |