Привет, у меня есть таблица фактов под названием FactUser и таблица измерений под названием Target. Целевое измерение содержит целевые значения для каждого пользователя. Мне нужно получить среднее целевое значение для каждого пользователя, используя меру в табличной форме. Как я могу это сделать? Если целевое значение находится в таблице фактов, это не проблема. Поскольку целевое значение находится в измерении, я немного запутался, чтобы получить среднее значение для пользователя и за день. Ниже показана моя табличная модель
Создайте меру Dax, чтобы получить среднее значение
Ответы (2)
Если бы вы предоставили примеры и тестовые примеры с решением, это было бы намного проще. Если вам нужно выполнить агрегирование по полю, то почему его нет в таблице фактов?
Согласно передовым методам, модели Power BI должны быть в виде звездообразной схемы, а меры в звездообразной схеме рассчитываются только в таблицах фактов. Поэтому в данном случае я предлагаю не решать проблему с DAX, а решить ее, изменив вашу модель.
Однако вы можете попробовать что-то вроде следующей меры:
AVERAGEX('FactUser', RELATED('Targets'[Value])
Источники: https://dax.guide/related/ https://dax.guide/averagex/.
person
Seymour
schedule
31.12.2019
Привет спасибо за ответ. это потому, что цель со временем меняется, и я подумал, что хорошо иметь цель в таблице измерений !!! Поскольку ключ находится в таблице фактов, я думал, что могу получить оттуда среднее значение !!! Я ошибаюсь в этом подходе?
- person AmilaMGunawardana; 31.12.2019
Подход со звездообразной схемой является правильным, но если вам нужно выполнить некоторую агрегацию в определенном поле, я бы предложил сохранить это конкретное поле в таблице фактов.
- person Seymour; 31.12.2019
Привет, я отредактировал свой вопрос, вы можете взглянуть на него?
- person AmilaMGunawardana; 02.01.2020
Вопрос непонятный, приведите хотя бы простой пример с реальными данными и ожидаемым результатом. В противном случае очень сложно кто-то сможет вам помочь. Однако в целом для моделей 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