如果其中一列与另一个表匹配,如何查找表中列的值

时间:2017-12-07 07:26:59

标签: lookup powerbi dax

我正在使用Power BI桌面。我有两个名为公司详细信息的表。这些表格包含一个公共列公司ID 。实际上这两个表包含不同的列,但我只显示了这个问题所需的列。

公司详情:

+-------------+--------------+
| Company UID | Company name |  
+-------------+--------------+
| C1000       | A            |  
| C1400       | B            |  
| C1200       | C            |  
| C1100       | D            |  
| C1300       | E            |  
+-------------+--------------+

税额:

+-------------+-----+
| Company UID | FID |  
+-------------+-----+
|       C1000 | F22 |  
|       C1100 | F20 |  
|       C1200 | F22 |  
|       C1300 | F21 |  
|       C1400 | F20 |  
+-------------+-----+

现在,我需要在公司详细信息中创建一个计算列 Fcode ,该列具有中现有列 FID 返回的值如果表格中公司UID 列的值匹配,则为TAX

预期结果

公司详情:

+-------------+--------------+-----+
| Company UID | Company name | FID |  
+-------------+--------------+-----+
|       C1000 | A            | F22 |  
|       C1400 | B            | F20 |  
|       C1200 | C            | F22 |  
|       C1100 | C            | F20 |  
|       C1300 | D            | F21 |  
+-------------+--------------+-----+

我的Dax:

    Fcode = IF(VALUES('Company details'[Company UID])=VALUES('Tax'[Company UID]),LOOKUPVALUE('Tax'[FID]), 0))

我在如果循环中代替 TrueResult ,我应该放弃什么样的dax。所以我只是尝试给出查找功能。当然它显示错误。任何人都可以建议我应该代表查找或任何其他方式来取代预期的结果。

2 个答案:

答案 0 :(得分:1)

您可以转到"编辑查询"窗口。使用内部联接和CompanyUID合并两个表,然后剥离结果以仅从第二个表中保留FID。 https://www.youtube.com/watch?v=hVWSxX-uF-0

答案 1 :(得分:0)

首先,为什么不在这些列之间添加关系并使用RELATED函数从Tax获取相关的FID值。如果您不想添加关系,那么您仍然可以使用CROSSJOIN。 看看这篇文章 https://www.sqlbi.com/articles/from-sql-to-dax-joining-tables/