[DAX查找不相关表中的第一个非空白值

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

如何查找不相关表中的第一个非空白值。它等效于SQL:outer apply (select top 1或等效于Excel VLOOKUP

[DAX函数LOOKUPVALUE似乎正在完成工作,但是如果在搜索表中找到多个值,它将返回错误。

LOOKUPVALUE(
      SearchTable[name]
    , SearchTable[id] -- how to get the fist value, if here are multiple id?
    , ThisTable[id]
    )

样本数据文件:

DAX lookup top 1 value.pbix

我作为预期结果包含在样本数据Karl Anka's solution中。对于任何其他解决此问题的方法,我将不胜感激。我欢迎对他们的表现发表评论。

powerbi dax
3个回答
1
投票
Column = VAR row_id = ThisTable[id] VAR ret_val = SELECTCOLUMNS ( TOPN ( 1; CALCULATETABLE ( SearchTable; SearchTable[id] = row_id; SearchTable[name] <> BLANK () ) ); "name"; SearchTable[name] ) RETURN ret_val

0
投票

0
投票
LookupFunction = LOOKUPVALUE ( SearchTable[Category], SearchTable[Product], ThisTable[Product] )

MaxxLookup = MAXX ( FILTER ( SearchTable, SearchTable[Product] = ThisTable[Product] ), SearchTable[Category] )

CaclculateMaxLookup =
CALCULATE (
    MAX ( SearchTable[Category] ),
    SearchTable[Product] = EARLIER ( ThisTable[Product] )
)
如果要使用第二或第三作为度量而不是计算列,则需要对其进行调整。
© www.soinside.com 2019 - 2024. All rights reserved.