#excel #ssas #dax #ssas-tabular
#excel #ssas #dax #ssas-табличный
Вопрос:
У меня есть таблица фактов, в которой хранятся проекты, компании, которые администрировали проекты, и компании, которым проекты должны быть выставлены счета:
| Project | Company original | Company to display | Perc. |
| A | ABC | ABC | 50% |
| A | ABC | DEF | 20% |
| A | ABC | GHI | 30% |
| B | DEF | DEF | 60% |
| B | DEF | GHI | 40% |
Теперь я хочу разработать меру, которая работает следующим образом:
- В рамках проекта суммируйте проценты
- По проектам усредняйте суммированные проценты (или MAX, что не должно иметь никакого значения, потому что все проекты в любом случае должны составлять 100%)
Итак, если я использую сводную таблицу из Excel (2010), это будет выглядеть так:
| Project | Company | Perc. |
| A | ABC | 50% |
| A | DEF | 20% |
| A | GHI | 30% |
| A (subtotal) | 100% |
| B | DEF | 60% |
| B | GHI | 40% |
| B (subtotal) | 100% |
| Total | 100% |
Обратите внимание, что в этой таблице нет временной оси, поэтому «обычный» случай для полуаддитивных мер (все, кроме времени) здесь не работает.
Комментарии:
1. Вы пробовали что-нибудь, что не сработало Koos?
2. В принципе, Google здесь не работал ;-). Также не было моих ПОСЛЕДНИХ знаний о зависящей от времени полуаддитивности.
Ответ №1:
Это действительно довольно просто:
Sa =
MAXX (
VALUES ( Projects[Project] ),
CALCULATE ( SUM ( Projects[Perc] ) )
)
По сути, вы перебираете проекты и вычисляете на уровне проекта простую сумму, которая затем агрегируется по максимуму для разных проектов.