【发布时间】:2018-06-25 19:29:15
【问题描述】:
我正在使用 SSAS 表格,其中有两个具有 1:n 关系的表,Position 和 Transaction。 PositionID 上存在有效的 1:n 关系
位置
+------------+------+--------+
| PositionID | Type | Source |
+------------+------+--------+
| C1000 | A | 1 |
+------------+------+--------+
| C1200 | B | 2 |
+------------+------+--------+
| C1400 | C | 1 |
+------------+------+--------+
交易
+---------+------------+--------+
| TransID | PositionID | Amount |
+---------+------------+--------+
| 1 | C1000 | 150 |
+---------+------------+--------+
| 2 | C1000 | 200 |
+---------+------------+--------+
| 3 | C1400 | 350 |
+---------+------------+--------+
我想在表 Transaction 上创建一个计算列,该列具有以下逻辑: IF Position[Type]="A" AND Position[Source]1 THEN Transaction[Amount] * -1 ELSE Transaction[Amount] * -1
我尝试在 DAX 中使用 RELATED 函数,但它没有检测到相关的 Position 表;当我手动输入时,它返回错误“找不到表”:
=IF(RELATED(Position[Type]) = 'A' && RELATED(Position[Source]) <> 1;-1*Transaction[Amount];Transaction[Amount])
我在 1:n 关系的 1 侧的表上没有重复项。我应该尝试不同的 DAX 函数吗?
【问题讨论】:
标签: ssas ssas-tabular