答案 0 :(得分:1)
您可以使用SUMMARIZE()
来计算新表:
NewTable =
SUMMARIZE(
yourDataTable;
[Year];
[Sports];
"Pct";
DIVIDE(
CALCULATE(
COUNTROWS(yourDataTable);
yourDataTable[Nat] = "USA"
);
CALCULATE(
COUNTROWS(yourDataTable);
ALLEXCEPT(
yourDataTable;
yourDataTable[Year];
yourDataTable[Sports]
)
);
0
)
答案 1 :(得分:1)
我知道答案已经被接受,但是我觉得我应该提供建议的解决方案以利用Power BI的所有功能。
通过创建计算表,您只能处理数据,因为它很难编码以过滤到美国,并且仅基于Year和Sport。虽然这是当前的要求,但是如果它们发生变化怎么办?然后,您必须重新编码表或制作另一个表。
我的建议是采取措施来完成此任务,这是...
首先,这是我的示例数据集。
利用这些数据,我创建了一个简单的度量,可以对行进行计数以获得奖牌数。
Medal Count = COUNTROWS(Olympics)
将基本矩阵与该度量值放在一起,我们可以看到这样的数据。
然后可以创建第二个度量以获取特定国家/地区的百分比。
Country Medal Percentage = DIVIDE([Medal Count], CALCULATE([Medal Count], ALL(Olympics[Country])), BLANK())
将该度量添加到矩阵中,我们就可以开始查看百分比了。
从该矩阵中,我们可以看到,美国在2000年获得了所有奖牌的25%。而在体育B中获得的两枚奖牌则占当年所有奖牌的33.33%。
这样,您可以利用切片器和矩阵布局来获得所需的百分比。这是一个带有显示相同数字的国家和年份切片器的小示例。
从这里您可以按任何运动或年份切割数据,并查看任何选定国家(地区)的百分比。