在 PowerBI 中计算新列
Calculating new columns in PowerBI
我有这个 table 我在 PowerBI 中定义:
我想定义一个新的 table,其中包含美国获得的奖牌占当年每项运动的奖牌总数的百分比。
一个例子:
年运动百分比
1986 水上运动 0.0%
我该怎么做?
您可以使用 SUMMARIZE()
来计算新的 table:
NewTable =
SUMMARIZE(
yourDataTable;
[Year];
[Sports];
"Pct";
DIVIDE(
CALCULATE(
COUNTROWS(yourDataTable);
yourDataTable[Nat] = "USA"
);
CALCULATE(
COUNTROWS(yourDataTable);
ALLEXCEPT(
yourDataTable;
yourDataTable[Year];
yourDataTable[Sports]
)
);
0
)
我知道答案已被接受,但我觉得我应该提供建议的解决方案以利用 Power BI 的所有功能。
通过创建计算 table,您可以对数据执行的操作受到限制,因为它被硬编码为过滤到美国并且仅基于年份和运动。虽然这是当前的要求,但如果它们发生变化怎么办?然后你必须重新编码你的 table 或者再做一个。
我的建议是采取措施来完成这项任务,方法如下...
首先,这是我的一组示例数据。
根据这些数据,我创建了一个简单的度量来计算行数以获得奖牌数。
Medal Count = COUNTROWS(Olympics)
将基本矩阵与该度量放在一起,我们可以看到这样的数据。
然后可以创建第二个度量来获取特定国家/地区的百分比。
Country Medal Percentage = DIVIDE([Medal Count], CALCULATE([Medal Count], ALL(Olympics[Country])), BLANK())
将该度量添加到矩阵中,我们可以开始查看我们的百分比。
从该矩阵中,我们可以看出美国在 2000 年赢得了所有奖牌的 25%。他们在运动 B 中获得的 2 枚奖牌占当年所有奖牌的 33.33%。
有了这个,您可以利用切片器和矩阵布局来获得所需的百分比。这是一个显示相同数字的国家和年份切片器的小示例。
从这里您可以按任何运动或年份截取数据,并查看任何选定国家(或多个国家/地区)的百分比。
我有这个 table 我在 PowerBI 中定义:
我想定义一个新的 table,其中包含美国获得的奖牌占当年每项运动的奖牌总数的百分比。
一个例子:
年运动百分比
1986 水上运动 0.0%
我该怎么做?
您可以使用 SUMMARIZE()
来计算新的 table:
NewTable =
SUMMARIZE(
yourDataTable;
[Year];
[Sports];
"Pct";
DIVIDE(
CALCULATE(
COUNTROWS(yourDataTable);
yourDataTable[Nat] = "USA"
);
CALCULATE(
COUNTROWS(yourDataTable);
ALLEXCEPT(
yourDataTable;
yourDataTable[Year];
yourDataTable[Sports]
)
);
0
)
我知道答案已被接受,但我觉得我应该提供建议的解决方案以利用 Power BI 的所有功能。
通过创建计算 table,您可以对数据执行的操作受到限制,因为它被硬编码为过滤到美国并且仅基于年份和运动。虽然这是当前的要求,但如果它们发生变化怎么办?然后你必须重新编码你的 table 或者再做一个。
我的建议是采取措施来完成这项任务,方法如下...
首先,这是我的一组示例数据。
根据这些数据,我创建了一个简单的度量来计算行数以获得奖牌数。
Medal Count = COUNTROWS(Olympics)
将基本矩阵与该度量放在一起,我们可以看到这样的数据。
然后可以创建第二个度量来获取特定国家/地区的百分比。
Country Medal Percentage = DIVIDE([Medal Count], CALCULATE([Medal Count], ALL(Olympics[Country])), BLANK())
将该度量添加到矩阵中,我们可以开始查看我们的百分比。
从该矩阵中,我们可以看出美国在 2000 年赢得了所有奖牌的 25%。他们在运动 B 中获得的 2 枚奖牌占当年所有奖牌的 33.33%。
有了这个,您可以利用切片器和矩阵布局来获得所需的百分比。这是一个显示相同数字的国家和年份切片器的小示例。
从这里您可以按任何运动或年份截取数据,并查看任何选定国家(或多个国家/地区)的百分比。