我需要在Power Pivot中根据Dimension Column值显示值。
如果价值为卖出价格,则表格1的销售价格应显示,如果显示成本价格,则显示成本价格金额,如果是利润则应显示((SellingPrice-CostPrice)/ SellingPrice)
我的表结构是 表1: -
必需输出: -
如果尝试以下选项: -
1. Calculated Measure:=If(Table[Category]="CostPrice",[CostValue],If(Table1[category]="SellingPrice",[SalesValue],([SalesValue]-[CostValue]/[SalesValue])))
*[CostValue]:=Calculate(Sum(Table1[Amount]),Table1[Category]="CostPrice")
*[Sales Value]:=Calculate(Sum(Table1[Amount]),Table1[Category]="SellingPrice")
在计算列和测量中都尝试了这一点但没有给我所需的输出。
答案 0 :(得分:0)
我正在考虑这个问题。我不确定为什么你的行上有你的类别。通常,数据集会包含以下列:item | CostPrice | SellingPrice |利润。然后,您可以使用列来定义字段。该模型变得更容易,更易于维护。
答案 1 :(得分:0)
Cost:=
CALCULATE(
SUM( Table1[Amount] )
,Table1[Category] = "CostPrice"
)
Selling:=
CALCULATE(
SUM( Table1[Amount] )
,Table1[Category] = "SellingPrice"
)
Profit:=
DIVIDE(
[Selling] - [Cost]
,[Selling]
)
ConditionalMeasure:=
IF(
HASONEFILTER( Table2[Category] )
,SWITCH(
VALUES( Table2[Category] )
,"CostPrice"
,[Cost]
,"SellingPrice"
,[Selling]
,"Profit"
,[Profit]
)
,[Profit]
)
HASONEFILTER()检查指定字段上是否存在过滤器上下文,并且过滤器上下文仅包含一个不同的值。
这只是一个允许我们的SWITCH()引用VALUES(Table2 [Category])的守护者。 VALUES()返回指定列或表中所有不同值的表。因此,1x1表可以隐式转换为标量,我们需要在SWITCH()中。
SWITCH()是一个案例陈述。
IF()中的其他条件只是返回[Profit]。你可能想要别的东西,但是不清楚在总体水平上会发生什么。您可以将其关闭,并且在IF()的其他条件下该度量将为空白。