我正在尝试使用Power Pivot在任何时间点分析股票投资组合。
数据模型为:
一对多关系将security_lookup中的符号列链接到transactions和history_prices表。
我可以通过执行sumx(交易,数量*价格)来获得正常工作的成本基础。但是,我无法获得当前持有资产的价值。我有一个称为“当前价格”的量度,该量度是根据
Current Price :=
CALCULATE (
LASTNONBLANK ( Historical_prices[close], min[close] ),
FILTER (
Historical_Prices,
Historical_prices[date] = LASTDATE ( historical_prices[date] )
)
)
但是,当我尝试使用
查找证券的当前值时Current Value = sumx(transactions,transactions[quantity]*[Current Price])
总数不准确。我希望能找到有关当前头寸价值的建议。最好使用sumx或迭代器函数,以使小计准确。
答案 0 :(得分:0)
Current Value
度量的问题在于,您正在[Current Price]
表的行上下文中评估transactions
(因为SUMX
是迭代器),因此仅查看与该行关联的日期,而不是最后日期。更确切地说,该行的日期 是度量过滤条件中的最后一个日期。
最简单的解决方案可能是使用变量在迭代器外部计算Current Price
,然后将其传递给常量,这样就不必担心行和过滤器上下文。
Current Value =
VAR CurrentPrice = [Current Price]
RETURN SUMX(transactions, transactions[quantity] * CurrentPrice)