过滤表中的第一个非值

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

_嗨,我很难返回用“BDD Index”[Ordre TimeLine] = [Mesure 2 MAX ordrerLine] 过滤的“BDD Index”表的第一个非空白值。

我不明白为什么下面的代码返回一个空表,而当我用数字替换 [Mesure 2 MAX orderLine] 并用“IGH”替换 SELECTEDVALUE('BDD Index'[Bat]) 时,它有效吗? :

FILTER(
            'BDD Index',
            'BDD Index'[Ordre TimeLine] = [Mesure 2 MAX orderLine] && 'BDD Index'[Bat] = SELECTEDVALUE('BDD Index'[Bat])
        ) 

然后我的 DAX 公式就不起作用了:

Mesure FNBV = 
    FIRSTNONBLANKVALUE(
        'BDD Index'[Date & Heure],
        FILTER(
            'BDD Index',
            'BDD Index'[Ordre TimeLine] = [Mesure 2 MAX orderLine] && 'BDD Index'[Bat] = SELECTEDVALUE('BDD Index'[Bat])
        )
    )

此外,当我使用 IF 评估计算以下度量时,它会破坏我的过滤器上下文,即使我添加了 KEEPFILTER 上下文,我也不明白为什么:

Mesure TEST_ =  IF(
    SELECTEDVALUE('BDD Index'[Ordre TimeLine]) = [Mesure 2 MAX orderLine],
    1,
    0 )

这是我的文件链接

提前致谢!

powerbi dax
1个回答
0
投票

将您的

Mesure 2 MAX orderLine
测量更改为:

Mesure 2 MAX orderLine = 
  CALCULATE(
    MAX('BDD Index'[Ordre TimeLine]),
    ALLSELECTED('BDD Index')
  )

并将

Mesure FNBV
更新为:

Mesure FNBV = 
  var maxOrder = [Mesure 2 MAX orderLine]
  return CALCULATE(
    FIRSTNONBLANK('BDD Index'[Date & Heure], 1),
    'BDD Index'[Ordre TimeLine] = maxOrder
  )

看看这是否是您所追求的。如果是的话,我会跟进解释或回答任何问题。目前尚不清楚您打算做什么。

© www.soinside.com 2019 - 2024. All rights reserved.