在Power BI

时间:2019-08-28 21:19:28

标签: powerbi dax

我是Power BI的新手,所以我可能为这个标题打错了,但是我试图在表中使用SUMPRODUCT,但总数不正确。

我的目标是采用(Linear_Feet_Out,Hrs)/ SUM(Linear_Feet_Out)的SUMPRODUCT

所以我将其分解以尝试解决问题,但是没有运气。 Slitting_Time_New只是我的est字段,用于确保每一行都正确计算。所以2.000 * 226,795 = 453,589

不过,我期望在“ Slitting_Time_Avg”字段中的结果总计为2.54。

这是我到目前为止所拥有的:

Slitting_Time_Avg =
VAR Numerator = [Slitting_Time_New]
VAR Denominator =
    SUM (Mfng_Analysis[Linear_Footage_Out] )
RETURN
    CALCULATE ( DIVIDE ( Numerator, Denominator ) )

但是我希望它取Slitting_Time_New(计算量度)的总和,而不是8,719,451.50

Slitting_Time_New = SUM(Mfng_Analysis[Hrs])*SUM(Mfng_Analysis[Linear_Footage_Out])

enter image description here

1 个答案:

答案 0 :(得分:0)

这是由于评估环境所致。使用SUM函数时,除非您在可视表中主动提供DAX,否则DAX没有行上下文,即对于表[Slitting_Time_New]中的Total行将评估

(2,000+2,900+0,800)x(226795+1136807+166127). 

我想您想做的是

(2,0000x226795)+(2,900x1136807)+(0,800x166127)

为此,您必须提供行上下文。您可以使用聚合函数(例如SUMX)来完成此操作。

Slitting_Time_New = 
SUMX(
    Mfng_Analysis;
    [Hrs]*[Linear_Footage_Out]
)