Forum Discussion
The expression refers to multiple columns. Multiple columns cannot be converted to a scalar value
FilteredProjects =
FILTER (
gold_procon_projekte_historical,
gold_procon_projekte_historical[valid_from] <= SELECTEDVALUE(gold_procon_stammdaten[stamm_daten]) &&
(
gold_procon_projekte_historical[valid_to] >= SELECTEDVALUE(gold_procon_stammdaten[stamm_daten]) ||
ISBLANK(gold_procon_projekte_historical[valid_to]) &&
gold_procon_projekte_historical[is_current] = TRUE()
)
)
andicornejo12 - Try this:
FILTER ( ALL(gold_procon_projekte_historical[valid_from], gold_procon_projekte_historical[valid_to], gold_procon_projekte_historical[is_current]), gold_procon_projekte_historical[valid_from] <= SELECTEDVALUE(gold_procon_stammdaten[stamm_daten]) && ( gold_procon_projekte_historical[valid_to] >= SELECTEDVALUE(gold_procon_stammdaten[stamm_daten]) || ISBLANK(gold_procon_projekte_historical[valid_to]) && gold_procon_projekte_historical[is_current] = TRUE() ) )Essentially I'm applying the filters to the specific columns inside the ALL(), rather than the whole table.
If this works for you, please accept it as the solution, it will helpwith visibility for others with the same problem.
hello mark_endicott
Thank you so much for your answer. Unfortunately I keep getting the same error message:
andicornejo12 - Are you attempting to use this DAX in a measure?
If so, that's likely to the problem. At the table level, the result for the flag could be both TRUE and FALSE based on the row, and a measure requires a scalar value.If you are using a measure, try this:
VAR _table = ADDCOLUMNS ( gold_procon_projekte_historical, "@flag", IF ( gold_procon_projekte_historical[valid_from] <= SELECTEDVALUE ( gold_procon_stammdaten[stamm_daten] ) && ( gold_procon_projekte_historical[valid_to] >= SELECTEDVALUE ( gold_procon_stammdaten[stamm_daten] ) || ISBLANK ( gold_procon_projekte_historical[valid_to] ) && gold_procon_projekte_historical[is_current] = TRUE () ), 1, 0 ) ) RETURN MAXX ( _table, [@flag] )It will change your flag to a integer of 1 or 0, but it can now be applied at the row level. I have tested it and it appears to be working fine for me:
4 Replies
- mark_endicott
Super User
andicornejo12 - Try this:
FILTER ( ALL(gold_procon_projekte_historical[valid_from], gold_procon_projekte_historical[valid_to], gold_procon_projekte_historical[is_current]), gold_procon_projekte_historical[valid_from] <= SELECTEDVALUE(gold_procon_stammdaten[stamm_daten]) && ( gold_procon_projekte_historical[valid_to] >= SELECTEDVALUE(gold_procon_stammdaten[stamm_daten]) || ISBLANK(gold_procon_projekte_historical[valid_to]) && gold_procon_projekte_historical[is_current] = TRUE() ) )Essentially I'm applying the filters to the specific columns inside the ALL(), rather than the whole table.
If this works for you, please accept it as the solution, it will helpwith visibility for others with the same problem.
- andicornejo12
Helper II
hello mark_endicott
Thank you so much for your answer. Unfortunately I keep getting the same error message:
- andicornejo12
Helper II
Thanks so much!
Yes it did work for me too 😊