Power Pivot和收盘价

问题描述 投票:0回答:1

我正在尝试使用电力支点来分析任何时间点的股票投资组合。

数据模型是:

  • 交易表与买卖交易
  • history_prices表,每张股票的收盘价
  • security_lookup表中包含有关股票的符号和其他信息(无论是共同基金,行业,大盘等)。

一对多关系将security_lookup中的符号列链接到transactions和historical_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或迭代器函数使得小计是准确的。

dax powerpivot stockquotes
1个回答
0
投票

你的Current Value测量的问题是你在[Current Price]表的行上下文中评估transactions(因为SUMX是一个迭代器),所以它只看到与该行相关的日期而不是最后一个日期。或者更确切地说,该行的日期是度量过滤器上下文中的最后一个日期。

最简单的解决方案可能是使用变量计算迭代器外部的Current Price然后传递该常量,这样您就不必担心行和过滤器上下文了。

Current Value =
    VAR CurrentPrice = [Current Price]
    RETURN SUMX(transactions, transactions[quantity] * CurrentPrice)
© www.soinside.com 2019 - 2024. All rights reserved.