基于 SelectedValue 的动态标题(Card Visual)

Dynamic Title (Card Visual) based on SelectedValue

我尝试根据过滤器的 selectedValues 实现动态标题(卡片视觉效果)。

我试过这个:

Title = SWITCH( True();
SELECTEDVALUE(Daten[Contact Name]); "Aufgaben von " & SELECTEDVALUE(Daten[Contact Name]);
SELECTEDVALUE(Daten[Buchungs Datum].[Year]); "Aufgaben vom Jahr " & SELECTEDVALUE(Daten[Buchungs Datum].[Year]);
SELECTEDVALUE(Daten[Verkäufer]); "Aufgaben von Verkäufer: " & SELECTEDVALUE(Daten[Verkäufer]);
SELECTEDVALUE(Daten[Contact Name]) & SELECTEDVALUE(Daten[Buchungs Datum].[Year]); "Aufgaben von " &SELECTEDVALUE(Daten[Contact Name]) & " vom Jahr " & SELECTEDVALUE(Daten[Buchungs Datum].[Year]);
SELECTEDVALUE(Daten[Buchungs Datum].[Year]) & SELECTEDVALUE(Daten[Verkäufer]); "Aufgaben vom Jahr " & SELECTEDVALUE(Daten[Buchungs Datum].[Year]) & " vom Verkäufer: " & SELECTEDVALUE(Daten[Verkäufer])
)

我尝试捕捉应用过滤器的每一种可能性。根据应用的过滤器,标题卡将动态变化。

True 无效 个类型为 selectedvalue 的案例。这是有道理的,但现在我真的不知道如何获得我想要的结果。

有什么建议可以让我以不同的方式实施这项措施吗?谢谢。

如果我没猜错,你正在尝试 return 一个字符串,基于用户当前的选择。

"SELECTEDVALUE()" return 如果只选择了一个值,则为列值,否则为可选的默认值。 returned 值是列值本身 (number/string/date),无论列包含什么,严格来说 true/false.

为了使其正常工作,您可能需要使用 "HASONEVALUE()",return 正是您所需要的

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运算符(在后两种情况下使用)是“&&”,而不是“&”。

您可以使用一些 variables 来提高此表达式的可读性,尤其是当公式变长时。

编辑:

最严格的表达式必须在顶部,否则将触发限制性较低的条件。即:

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])