Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ssas DAX计算列使用IF计算另一个表中的值_Ssas_Ssas Tabular - Fatal编程技术网

Ssas DAX计算列使用IF计算另一个表中的值

Ssas DAX计算列使用IF计算另一个表中的值,ssas,ssas-tabular,Ssas,Ssas Tabular,我使用的是SSAS表格,其中有两个具有1:n关系的表,位置和事务。PositionID上存在活动的1:n关系 位置 +------------+------+--------+ | PositionID | Type | Source | +------------+------+--------+ | C1000 | A | 1 | +------------+------+--------+ | C1200 | B | 2 | +-----

我使用的是SSAS表格,其中有两个具有1:n关系的表,位置事务。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    |
+---------+------------+--------+
交易

+------------+------+--------+
| PositionID | Type | Source |
+------------+------+--------+
| C1000      | A    | 1      |
+------------+------+--------+
| C1200      | B    | 2      |
+------------+------+--------+
| C1400      | C    | 1      |
+------------+------+--------+
+---------+------------+--------+
| TransID | PositionID | Amount |
+---------+------------+--------+
| 1       | C1000      | 150    |
+---------+------------+--------+
| 2       | C1000      | 200    |
+---------+------------+--------+
| 3       | C1400      | 350    |
+---------+------------+--------+
我想在表事务上创建一个计算列,该列具有以下逻辑: 如果位置[类型]=“A”且位置[来源]1,则交易[金额]*-1,否则交易[金额]*-1

我尝试在DAX中使用相关函数,但它没有检测到相关的位置表;手动键入时,返回错误“找不到表”:

=IF(相关(职位[类型])='A'&相关(职位[来源])1;-1*交易[金额];交易[金额])

我在1:n关系的1侧的表上没有重复项。我应该尝试另一个DAX函数吗?

我尝试使用LOOKUPVALUE,到目前为止它看起来不错

=IF(LOOKUPVALUE(Position[Type];Position[PositionID];Transaction[PositionID])="A"&&LOOKUPVALUE(Position[Source];Position[PositionID];Transaction[PositionID])<>"1";-1*Transaction[Amount];Transaction[Amount])
=IF(LOOKUPVALUE(Position[Type];Position[PositionID];Transaction[PositionID])=“A”&&LOOKUPVALUE(Position[Source];Position[PositionID];Transaction[PositionID])“1”;-1*交易[金额];交易[金额])