Если я правильно понял, вы пытаетесь вернуть строку, основываясь на текущих выборках, сделанных пользователем.
" SELECTEDVALUE () " возвращает значение столбца, если есть выбрано только одно значение, в противном случае необязательное значение по умолчанию. Возвращаемое значение - это само значение столбца (число / строка / дата) независимо от того, что столбец содержит, не строго истинно / ложно.
Чтобы заставить его работать, вы можете использовать "HASONEVALUE ()", который возвращает то, что вам нужно
Title =
SWITCH( True();
HASONEVALUE(Daten[Contact Name]) && HASONEVALUE(Daten[Buchungs Datum].[Year]); "Aufgaben von " & SELECTEDVALUE(Daten[Contact Name]) & " vom Jahr " & SELECTEDVALUE(Daten[Buchungs Datum].[Year]);
HASONEVALUE(Daten[Buchungs Datum].[Year]) && HASONEVALUE(Daten[Verkäufer]); "Aufgaben vom Jahr " & SELECTEDVALUE(Daten[Buchungs Datum].[Year]) & " vom Verkäufer: " & SELECTEDVALUE(Daten[Verkäufer]);
HASONEVALUE(Daten[Contact Name]); "Aufgaben von " & SELECTEDVALUE(Daten[Contact Name]);
HASONEVALUE(Daten[Buchungs Datum].[Year]); "Aufgaben vom Jahr " & SELECTEDVALUE(Daten[Buchungs Datum].[Year]);
HASONEVALUE(Daten[Verkäufer]); "Aufgaben von Verkäufer: " & SELECTEDVALUE(Daten[Verkäufer])
)
Также оператор AND (используемый в последних двух случаях) - это «&&», а не «&».
Вы можете улучшить читаемость этого выражения с помощью некоторых переменных , особенно, если формула станет длиннее.
Редактировать:
Наиболее ограничительные выражения должны быть в верхней части, в противном случае менее ограничительное условие будет быть вызванным. ie:
HASONEVALUE(Daten[Contact Name]) && HASONEVALUE(Daten[Buchungs Datum].[Year])
-- since this a "subset" of the previous one, it will be true in the same moment.
-- if it's evaluated before the other one (in the switch) then the other will never be evaluated
HASONEVALUE(Daten[Contact Name])