在函数中引用表变量中的列

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

我正在尝试通过设计股票投资组合分析应用程序来学习 PowerBI。

这是表格的示例数据 -

Tradebook_1

符号 ISIN 交易日期 交流 细分 系列 交易类型 拍卖 数量 价格 交易ID 订单号 订单执行时间 当前价格
IRFC INE053F01010 2023年4月9日 NSE 情商 情商 购买 错误 15 65.6 23012505 1.1E+15 2023年4月9日10.57 142.3
IRFC INE053F01010 13-09-2023 疯牛病 情商 A 错误 15 78.32 182294200 1.6946E+18 13-09-2023 15.17 142.3
IRFC INE053F01010 2023年12月19日 NSE 情商 情商 购买 错误 100 95.15 20190250 1.1E+15 2023年12月19日9.16 142.3
IRFC INE053F01010 2023年12月19日 NSE 情商 情商 错误 100 95.75 20228314 1.1E+15 2023年12月19日9.16 142.3

我正在尝试创建一个基于上表

Tradebook_1
计算当前投资组合价值的方法,方法是将股票与
Tradebook_1 = "buy"
相加并减去
Tradebook_1 = "sell"
,然后乘以
Tradebook_1[CurrentPrice]

因此,上述股票的总数量在投资组合价值中应为0。

这是措施 -

//Current Portfolio Value
//Current Distinct Stocks in Tradebook irrespective of they're present in Portfolio or not.
VAR CurrentStock = VALUES(Tradebook_1[Symbol])

//Current Stock
//Calculate Quantity of Stocks in Portfolio, Add "buy", Subtract "sell
Var AllStockQ = 
SUMMARIZE(Tradebook_1, Tradebook_1[Symbol],"CurrQuantity", SUMX(Tradebook_1, IF(Tradebook_1[Trade Type] = "buy", Tradebook_1[Quantity], - Tradebook_1[Quantity])))
// Using Filter to reference column in Table Var AllStockQ Joining to Tradebook_1 to get CurrPrice
VAR CurrStockQ = 
NATURALINNERJOIN( FILTER(AllStockQ, [CurrQuantity] > 0), Tradebook_1)
//Get Current Total Portfolio Value
VAR PortfolioVal = SUMX( CurrStockQ , [CurrentPrice] * [CurrQuantity] )

RETURN CurrStockQ

我也遇到了同样的错误。 如何引用表中分配给变量的列?我用谷歌搜索了一下,发现

CALCULATETABLE
不起作用,但过滤器可以。 这项措施需要一些帮助。

powerbi dax data-analysis powerbi-desktop measure
1个回答
0
投票

不只是这个吗?购买价格不应该是价格栏吗?

Measure = 
VAR b = CALCULATE(SUMX(Tradebook_1, Tradebook_1[Quantity] * Tradebook_1[CurrentPrice]), Tradebook_1[Trade Type] = "buy")
VAR s = CALCULATE(SUMX(Tradebook_1, Tradebook_1[Quantity] * Tradebook_1[CurrentPrice]), Tradebook_1[Trade Type] = "sell")

RETURN b-s
© www.soinside.com 2019 - 2024. All rights reserved.