В Power BI у меня есть мера, которая вычисляет среднее значение столбца. Он всегда содержит число от 0 до 4
RoundedUpAverageScore = ROUND(AVERAGE(SmileyHistory[SatisfactionLevel]),0)
Затем у меня есть таблица, состоящая из оценки от 0 до 4 и URL-адреса.
Я хочу использовать RoundedUpAverageScore, чтобы найти, какой URL-адрес использовать для изображения в Power Bi.
Естественно, я не могу установить связь между мерой и столбцом в Power Bi, поэтому две таблицы в настоящее время не связаны.
LOOKUPVALUE
должно помочь:
Добавьте следующую МЕРУ:
RoundedUpAverageURL =
LOOKUPVALUE (
Smileys_Sheet[Url],
Smileys_Sheet[Score],
[RoundedUpAverageScore]
)
Пожалуйста, редактировать свой вопрос, чтобы показать пример ваших исходных данных с ожидаемым результатом.
Я только что отредактировал свой вопрос и включил жестко закодированный номер, чтобы показать, что он возвращает правильное значение. Я полагаю, это то, что вы имели в виду?
Что показывает: а) мой ответ делает то, о чем вы просили, и б) в ваших исходных данных есть что-то, что мешает вашей исходной RoundedUpAverageScore
мере возвращать целое число... И я не могу советовать по этому поводу, не видя ваш источник данные (таблица SmileyHistory). Обратите внимание, что форматирование десятичного числа как целого числа не меняет тип данных... Возможно, вам лучше использовать INT ( ROUND ( AVERAGE ( SmileyHistory[SatisfactionLevel] ), 0 ) )
Ты прав. Я принял ваш ответ как правильный, поскольку он отвечает на исходный вопрос. Хорошо, спасибо, я попробую это!
Точность с плавающей запятой означает, что десятичные числа в формате "целое число" не всегда точно равны целым числам. Чтобы сравнить целые числа, измените тип данных, а не только форматирование.
Теперь я изменил все форматы данных на целочисленные. Все они имеют тип данных: целое число, формат: целое число. Это все еще не работает. Но, возможно, мне лучше создать новую тему об этом, поскольку вы ответили на мой первоначальный вопрос.
Как я уже упоминал, вам нужно вернуть целочисленное значение в вашей мере.
Я. Вот как это выглядит RoundedUpAverageScore = INT( ROUND(AVERAGE(SmileyHistory[SatisfactionLevel]),0))
Давайте продолжить обсуждение в чате.
Привет. Спасибо за ответ. Я только что обновил свой вопрос, так как он не возвращает значение, которое он должен возвращать. Он возвращает самый первый URL вместо того, который соответствует Score.