#powerbi #dax #powerbi-desktop #powerbi-datasource
#powerbi #dax #powerbi-рабочий стол #powerbi-источник данных
Вопрос:
я составляю отчет powerbi, который должен дать мне категорию с максимальным значением дефекта (не всего)
Это мой набор данных PowerBI Dataset
Я пытаюсь использовать следующую формулу DAX
NO 1 Defect = LOOKUPVALUE('Camera Data'[Attribute],'Camera Data'[Value],MAX('Camera Data'[Value]))
И я использую карту для отображения категории максимального значения. Это работает нормально до тех пор, пока у меня не будет одного максимального значения. в тот момент, когда оно становится больше 1, оно выдает ошибку
Multiple values supplied where only 1 value was expected
Все, что я хочу, это только первое из этой категории максимального значения, которое должно отображаться на карте. Как я могу это сделать?
PS: для извлечения данных из изображения вы можете использовать этот сайт https://extracttable.com / это будет работать бесплатно, и 1 изображение будет легко преобразовано в набор данных.
Ответ №1:
Простой способ получить атрибут, соответствующий максимальному значению, — использовать CALCULATE для применения контекста фильтра к строкам с максимальным значением, а затем использовать MAX() или MIN() для получения только одного значения в случае связей
NO 1 Defect =
VAR MaxValue = MAX( 'Camera Data'[Value] )
RETURN
CALCULATE(
MAX('Camera Data'[Attribute]),
'Camera Data'[Value] = MaxValue
)
Если все атрибуты должны отображаться в случае связей, то можно использовать функцию CONCATENATEX()
NO 1 Defect List =
VAR MaxValue = MAX( 'Camera Data'[Value] )
RETURN
CALCULATE(
CONCATENATEX('Camera Data', 'Camera Data'[Attribute], ", " ),
'Camera Data'[Value] = MaxValue
)
В случае, если строки «Общего количества», которые отображаются на вашем изображении, являются фактическими строками, которые необходимо исключить, следует использовать альтернативное определение для переменной MaxValue
VAR MaxValue = CALCULATE(
MAX( 'Camera Data'[Value] ),
'Camera Data'[Attribute] <> "Total Count"
)