Создайте меру Dax, чтобы получить среднее значение

Привет, у меня есть таблица фактов под названием FactUser и таблица измерений под названием Target. Целевое измерение содержит целевые значения для каждого пользователя. Мне нужно получить среднее целевое значение для каждого пользователя, используя меру в табличной форме. Как я могу это сделать? Если целевое значение находится в таблице фактов, это не проблема. Поскольку целевое значение находится в измерении, я немного запутался, чтобы получить среднее значение для пользователя и за день. Ниже показана моя табличная модель

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


person AmilaMGunawardana    schedule 31.12.2019    source источник


Ответы (2)


Если бы вы предоставили примеры и тестовые примеры с решением, это было бы намного проще. Если вам нужно выполнить агрегирование по полю, то почему его нет в таблице фактов?

Согласно передовым методам, модели Power BI должны быть в виде звездообразной схемы, а меры в звездообразной схеме рассчитываются только в таблицах фактов. Поэтому в данном случае я предлагаю не решать проблему с DAX, а решить ее, изменив вашу модель.

Однако вы можете попробовать что-то вроде следующей меры:

AVERAGEX('FactUser', RELATED('Targets'[Value])

Источники: https://dax.guide/related/ https://dax.guide/averagex/.

person Seymour    schedule 31.12.2019
comment
Привет спасибо за ответ. это потому, что цель со временем меняется, и я подумал, что хорошо иметь цель в таблице измерений !!! Поскольку ключ находится в таблице фактов, я думал, что могу получить оттуда среднее значение !!! Я ошибаюсь в этом подходе? - person AmilaMGunawardana; 31.12.2019
comment
Подход со звездообразной схемой является правильным, но если вам нужно выполнить некоторую агрегацию в определенном поле, я бы предложил сохранить это конкретное поле в таблице фактов. - person Seymour; 31.12.2019
comment
Привет, я отредактировал свой вопрос, вы можете взглянуть на него? - person AmilaMGunawardana; 02.01.2020
comment
Вопрос непонятный, приведите хотя бы простой пример с реальными данными и ожидаемым результатом. В противном случае очень сложно кто-то сможет вам помочь. Однако в целом для моделей Power BI лучше всего использовать звездообразную схему, а в звездообразной схеме меры должны вычисляться только в таблицах фактов. Для этого утверждения есть несколько причин. - person Seymour; 03.01.2020

Я добавил целевое значение в таблицу фактов и получил среднее значение, как показано ниже. Я хочу получить среднее значение по имени пользователя и дате.

var Pivoted= ADDCOLUMNS(
        SUMMARIZE(FactUser,DateDimension[Date],User[username])
        ,"AVERAGE TARGET",CALCULATE(sum(FactUser[Target]))

    )

return averagex(Pivoted,[AVERAGE TARGET])
person AmilaMGunawardana    schedule 21.01.2020