Среднее значение матрицы PowerBI вместо Промежуточного и Условного форматирования В соответствии с этим средним значением

#powerbi #dax #average #powerbi-desktop

Вопрос:

Здравствуйте, я просто новичок в PowerBI, и мне все еще трудно работать над этим. У меня есть такая матрица

 DATE     Sales      Refund
26 Agu      45          5
    p1      10          3
    p2      15          2
    p3      20          0
27 Agu      60          1
    p1      15          1
    p2      20          0
    p3      25          0 
 

В частях даты у меня есть промежуточные итоги, как это обычно бывает. Тем не менее, я хочу показать там среднее значение за этот день, и когда я получу среднее значение, я сделаю условное форматирование в соответствии с ним. Если ячейка ниже среднего, я отмечу ее красной точкой, а в возвратах я сделаю это для значений выше среднего.
Есть ли способ сделать это? Я искал его некоторое время, но не мог найти.

Результат, который я хочу, таков. (звезда означает красную точку.)

 DATE     Sales      Refund
26 Agu      15          1.66
    p1      10*         3*
    p2      15          2*
    p3      20          0
27 Agu      20          0.33
    p1      15*         1*
    p2      20          0
    p3      25          0 
 

Спасибо.

Ответ №1:

Вы можете раскрасить фон; Например, создайте эту меру:

 AVG = 
IF( SELECTEDVALUE(RefundTab[Sale] ) <  CALCULATE(AVERAGE(RefundTab[Sale]), ALL(RefundTab[Code])),0,1)
 

Из меню -> Условное форматирование ->> Цвет фона:

введите описание изображения здесь

И вот: введите описание изображения здесь
введите описание изображения здесь

или

вы можете создать меру, в которой мы возвращаем строку вместо числа, в которое мы помещаем некоторое значение в юникоде:

 SumSaleIf = 

var _sale = sum(RefundTab[Sale])
var _IfAVG = CALCULATE(AVERAGE(RefundTab[Sale]), ALL(RefundTab[Code]))
var _check = if(_sale < _IfAVG, _sale amp; UNICHAR(128315), _sale amp;"")
return _check
 

введите описание изображения здесь

Комментарии:

1. Как насчет добавления среднего значения в начало рядом с каждой датой ? Возможно ли это. Спасибо за ваш отличный ответ, это действительно сложнее, чем обычная разработка 🙂

2. создайте меру как MyAVG = РАССЧИТАТЬ(СРЕДНЕЕ ЗНАЧЕНИЕ(Возврат[Продажа]), ВСЕ(Возврат[Код])); СРЕДНЕЕ значение будет отображаться в каждой строке; Если вы хотите только на уровне «Дата», используйте: MyAVG = если(ИМЕЕТ ЗНАЧЕНИЕ(Возврат[Код]), ПУСТОЙ (), РАССЧИТАТЬ(СРЕДНЕЕ ЗНАЧЕНИЕ(возврат[Продажа]), ВСЕ(Возврат[Код])) )

3. У меня есть еще одна потребность, так как вы являетесь экспертом, когда я сравниваю себя, я хотел бы спросить вас напрямую. Что делать, если я хочу увидеть средние показатели продаж P2 ? Я понимаю другой парст, но применять его в dax у меня есть сомнения

4. Если вы хотите получить среднее значение только для определенного КОДА за всю дату, то: быстрый пример РАСЧЕТА(СРЕДНЕЕ ЗНАЧЕНИЕ(Возврат[Продажа]), ФИЛЬТР( ВСЕ(возврат[Код]), возврат[Код] = «P2» )) Если вам нужно динамически принимать код, то: ВЫЧИСЛИТЬ(СРЕДНЕЕ ЗНАЧЕНИЕ(Возврат[Продажа]), ОТФИЛЬТРОВАТЬ( ВСЕ(Возврат), Возврат[Код] = ВЫБРАННОЕ ЗНАЧЕНИЕ(Возврат[Код])))