【问题标题】:DAX SWITCH change a value based on another column and a slicer valueDAX SWITCH 根据另一列和切片器值更改值
【发布时间】:2019-10-01 15:44:08
【问题描述】:

我熟悉在 SWITCH 语句中使用带有 SELECTEDVALUE 的切片器来更改值,但我还需要根据另一列中的数据来执行此操作。

Number  Letter   EW
  1       A     East
  2       A     East
  3       P     West
  4       P     West

从上表中,我想根据切片器选择动态地将“EW”列的值更改为东或西。每个字母都有自己的切片器。一个用于 A,一个用于 P。这些切片器中的每一个都可以让您选择东或西。

所以对于“A”切片器,假设我选择“West”。表中 Letter = 'A' 的每一行都会将 'EW' 值更改为 West。

我过去曾使用以下代码允许根据切片器选择更改数据,但是当我需要根据 Letter 列更改 EW 列时,它对我没有帮助。

NewEW = SWITCH(
    SELECTEDVALUE(Letter[Letter]),
     "A", "East",
     "West")

【问题讨论】:

    标签: powerbi dax powerbi-desktop


    【解决方案1】:

    据我了解,您的桌子配有两个支撑桌子(驾驶切片机):

    那么解决办法就是设置这个度量:

    NewEW = 
    VAR VrCurrRow = SELECTEDVALUE(Letter[Letter];"")
    VAR VrSlicerA = 
    CALCULATE(
         SELECTEDVALUE('Slicer A'[EW];"")
    )
    VAR VrSlicerB = 
    CALCULATE(
         SELECTEDVALUE('Slicer B'[EW];"")
    )
    VAR Result =
    
     SWITCH(
        VrCurrRow;
        "A";VrSlicerA;
        VrSlicerB
     )
    RETURN
    Result
    

    结果:

    【讨论】:

    • 谢谢,这正是我需要的。我唯一需要改变的是用逗号替换分号
    猜你喜欢
    • 2021-09-05
    • 1970-01-01
    • 1970-01-01
    • 2016-01-23
    • 2012-10-15
    • 1970-01-01
    • 2022-12-16
    • 1970-01-01
    • 2019-06-19
    相关资源
    最近更新 更多