Dynami c Title (Card Visual) на основе SelectedValue - PullRequest
1 голос
/ 30 января 2020

Я пытаюсь реализовать динамическое c название (визуальное изображение карты) на основе выбранных значений фильтров.

Я пробовал это:

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. Это имеет смысл, но сейчас я не знаю, как на самом деле получить желаемый результат.

Есть ли какие-либо предположения, как я мог бы реализовать эту меру по-другому? Спасибо.

1 Ответ

1 голос
/ 30 января 2020

Если я правильно понял, вы пытаетесь вернуть строку, основываясь на текущих выборках, сделанных пользователем.

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