Power BI 汇总一列而不是按角色拆分
Power BI summing a column instead of breaking it out by role
我有三个表:实际值、估算值和主项目列表。
如果我通过 select 为实际值或估计值设置角色和时间来创建条形图(聚类、堆叠或 100% 堆叠),它可以正常工作。它显示了按角色细分的项目的小时数。
但是如果我 select 实际值和估计值的角色和时间,它就会中断。
我需要一个图表,按项目显示(我正在使用 select 的切片器),按角色的估计值和相应的实际值。所以 PM 估计值应该是一个条形,紧挨着它的应该是 PM 实际值。
但是发生的事情是我得到了项目的 PM 估计值以及该项目的所有(PM、AN 和 RN)实际小时数的总和。
我还遇到了一个问题,我无法在估计值和实际值之间建立关系。我必须使用主项目列表作为中间人。如果我尝试使用项目作为关系来建立实际值和估计值之间的关系,它会说 "You can't create a relationship between these two columns because one of the columns must have unique values."
以下是我的表格示例和结果:
估计
实际值
主项目列表
关系 - 我必须包括主项目列表...我不能简单地在估计值和实际值中的项目列之间建立关系
实际图表
估计图表
这就是当我尝试将估计值和实际值合并到一个图表中时发生的情况。它将按角色分解小时数以获得估算值,但会将所有角色的所有小时数合并为实际值。
这里的问题是您正在为图表的 x 轴使用一个或另一个 Role
列,而 tables 没有办法从一个 table 到另一个
我想到了几个可能的解决方案。更简单的方法是创建一个计算的 table
Roles = VALUES ( Estimates[Role] )
并在模型中设置从 table 到 Estimates
和 Actuals
的一对多关系。然后你可以在 x 轴上使用 Roles[Role]
列,它应该正确地过滤两个 tables。
另一种方法是编写一个明确过滤角色的度量。如果你在 x 轴上使用 Estimate[Role]
那么 Actuals
table 是需要过滤的,你可以写
ActualHoursSum =
CALCULATE (
SUM ( Actuals[ActualHours] ),
FILTER ( Actuals, Actual[Role] IN VALUES ( Estimates[Role] ) )
)
您也可以根据需要使用 TREATAS
function to propagate filters。
我有三个表:实际值、估算值和主项目列表。
如果我通过 select 为实际值或估计值设置角色和时间来创建条形图(聚类、堆叠或 100% 堆叠),它可以正常工作。它显示了按角色细分的项目的小时数。
但是如果我 select 实际值和估计值的角色和时间,它就会中断。
我需要一个图表,按项目显示(我正在使用 select 的切片器),按角色的估计值和相应的实际值。所以 PM 估计值应该是一个条形,紧挨着它的应该是 PM 实际值。
但是发生的事情是我得到了项目的 PM 估计值以及该项目的所有(PM、AN 和 RN)实际小时数的总和。
我还遇到了一个问题,我无法在估计值和实际值之间建立关系。我必须使用主项目列表作为中间人。如果我尝试使用项目作为关系来建立实际值和估计值之间的关系,它会说 "You can't create a relationship between these two columns because one of the columns must have unique values."
以下是我的表格示例和结果:
估计
实际值
主项目列表
关系 - 我必须包括主项目列表...我不能简单地在估计值和实际值中的项目列之间建立关系
实际图表
估计图表
这就是当我尝试将估计值和实际值合并到一个图表中时发生的情况。它将按角色分解小时数以获得估算值,但会将所有角色的所有小时数合并为实际值。
这里的问题是您正在为图表的 x 轴使用一个或另一个 Role
列,而 tables 没有办法从一个 table 到另一个
我想到了几个可能的解决方案。更简单的方法是创建一个计算的 table
Roles = VALUES ( Estimates[Role] )
并在模型中设置从 table 到 Estimates
和 Actuals
的一对多关系。然后你可以在 x 轴上使用 Roles[Role]
列,它应该正确地过滤两个 tables。
另一种方法是编写一个明确过滤角色的度量。如果你在 x 轴上使用 Estimate[Role]
那么 Actuals
table 是需要过滤的,你可以写
ActualHoursSum =
CALCULATE (
SUM ( Actuals[ActualHours] ),
FILTER ( Actuals, Actual[Role] IN VALUES ( Estimates[Role] ) )
)
您也可以根据需要使用 TREATAS
function to propagate filters。