DAX 中半加和的平均值

Average of Semi-additive Sum in DAX

我有一个事实 table 存储项目、管理项目的公司和项目应向其收费的公司:

| 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%   |

现在我想设计一个按如下方式工作的度量:

因此,如果我在 Excel (2010) 中使用 Pivot Table,它将如下所示:

| 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%  |

请注意,此 table 中没有时间轴 - 因此 "regular" 半加性度量(除时间之外的所有内容)的情况在这里不起作用。

这确实很简单:

Sa = 
MAXX (
    VALUES ( Projects[Project] ),
    CALCULATE ( SUM ( Projects[Perc] ) )
)

基本上,您迭代项目并在项目级别计算一个简单的 SUM,然后由 MAX 在不同的项目上聚合。