Страницы: 1
RSS
DAX. Вывод значений по максимальной дате в соответствии с агрегацией сводной таблицы
 
Коллеги, приветствую!
Помогите пожалуйста с решением примера:

Задача, Вывести в сводную таблицу значения 'Score' из таблицы данных основываясь на максимальной дате в рамках агрегации сводной таблицы.
В итогах по строке вывести среднее значение 'Score'. В итогах по столбцу вывести последнее значение 'Score'.

Заранее спасибо всем откликнувшимся!
 
Среднее по строке не смог отловить
 
Цитата
написал:
Среднее по строке не смог отловить
Михаил, спасибо за ваш вариант! Сам вывод значений работает ! Среднее пока не победили(
 
вот так нужно Вам:
Код
total =SUM(Table1[Score])

в место ISFILTERED можно HASONEVALUE
Код
var _maxDate = MAX('Table1'[Date]) 

var _maxValue = 

           CALCULATE([total],'Table1'[Date]=_maxDate)

return

    IF(

          ISFILTERED(Table1[Name]),

                   _maxValue,

                        DIVIDE(_maxValue,DISTINCTCOUNT([Name]))

         )

или так :

VAR _maxDate =

    MAX ( 'Table1'[Date] )

VAR _maxValue =

    CALCULATE ( [total], 'Table1'[Date] = _maxDate )

RETURN

    IF (

        HASONEVALUE ( Table1[Name] ),

        _maxValue,

        AVERAGEX ( FILTER ( 'Table1', 'Table1'[Date] = _maxDate ), [total] )

    )

Код
или так:
=

VAR _ValueInMaxdate =

    MAXX (

        FILTER ( ALLSELECTED ( Table1[Date] ), 'Table1'[Date] = MAX ( 'Table1'[Date] ) ),

        [total]

    )

RETURN

    IF (

        HASONEVALUE ( Table1[Name] ),

        _ValueInMaxdate,

        DIVIDE ( _ValueInMaxdate, DISTINCTCOUNT ( Table1[Name] ) )

    )

Изменено: azma - 07.12.2022 06:28:31
 
Цитата
написал:
HASONEVALUE
Спасибо, все работает как нужно!
Отдельное спасибо за предложенные несколько вариантов! Если будет возможность, сможете добавить пояснения по этапам вычисления, чтобы данный пример стал обучающим для всех участников? Заранее спасибо!
 
до кучи

Код
=
AVERAGEX (
    VALUES ( 'Table1'[Name] );
    CALCULATE (
        CALCULATE (
            SUM ( 'Table1'[Score] );
            FILTER (
                ADDCOLUMNS (
                    'Table1';
                    "_макс дата";
                        CALCULATE (
                            MAX ( Table1[Date] );
                            ALLEXCEPT (
                                Table1;
                                'Table1'[Date (Year)];
                                'Table1'[Date (Month)];
                                'Table1'[Name]
                            )
                        )
                );
                'Table1'[Date] = [_макс дата]
            )
        );
        FILTER ( ALL ( 'Table1'[Date] ); 'Table1'[Date] = MAX ( 'Table1'[Date] ) )
    )
)
 
mechanix 85  И вам спасибо за ваше решение!  :)  
Страницы: 1
Наверх