Я хочу создать всплывающую подсказку, в которой при наведении на элемент в диаграмме отображаются три верхних имени в столбце, который ранжируется по количеству их появления.
Я нашел два фрагмента кода, каждый из которых выполняет половину трюка, но попытался и не смог объединить их.
Код для поиска наиболее часто встречающегося значения:
TopIssue =
FIRSTNONBLANK (
TOPN (
1,
VALUES ( FlagReport[Cat 3] ),
RANKX( ALL( FlagReport[Cat 3] ), [IssueCount],,ASC)
),
1)
Где IssueCount = COUNT(FlagReport[Ref No])
Это работает нормально, но когда я изменяю 1 -> 2 -> 3, оно не корректно соотносится с рейтингом, так как когда я изменяю его на 2, оно не показывает правильное значение
Код для отображения первых трех появившихся строковых значений:
List of Cat 3 values =
VAR __DISTINCT_VALUES_COUNT = DISTINCTCOUNT('FlagReport'[Cat 3])
VAR __MAX_VALUES_TO_SHOW = 3
RETURN
IF(
__DISTINCT_VALUES_COUNT > __MAX_VALUES_TO_SHOW,
CONCATENATE(
CONCATENATEX(
TOPN(
__MAX_VALUES_TO_SHOW,
VALUES('FlagReport'[Cat 3]),
'FlagReport'[Cat 3],
ASC
),
'FlagReport'[Cat 3],
", ",
'FlagReport'[Cat 3],
ASC
),
", etc."
),
CONCATENATEX(
VALUES('FlagReport'[Cat 3]),
'FlagReport'[Cat 3],
", ",
'FlagReport'[Cat 3],
ASC
)
)
Этот код показывает мне первые 3 строковых значения, но не позволяет ранжировать их.
Я слишком долго пытался и терпел неудачу с этим, учитывая, что это звучит как теоретически простая вещь.