如何根据ID列划分同一列中的值?

时间:2019-10-25 14:15:29

标签: powerbi dax

我正在尝试在Power BI表上创建一列,该列根据我指定的ID列将一个列的值划分为一个

我知道我需要两次遍历该专栏,但是我对如何做到这一点感到困惑。我已经使用了函数LOOKUPVALUE,但是我一直遇到错误。下面是我正在处理的代码:

Answer =
OR(
IF (
    Table[ID] = 11,
    Table[Q] / LOOKUPVALUE ( Table[Q], Table[ID], 1 ),
    IF (
        Table[ID] = 12,
        Table[Q] / LOOKUPVALUE ( Table[Q], Table[ID], 2 ),
        IF ( Table[ID] = 13, Table[Q] / LOOKUPVALUE ( Table[Q], Table[ID], 3 ) )
    )
),IF ( Table[ID] = 31, Table[Q] / LOOKUPVALUE ( Table[Q], Table[ID], 1 ) )
    )
),IF ( Table[ID] = 32, Table[Q] / LOOKUPVALUE ( Table[Q], Table[ID], 2 ) )
    )
),IF ( Table[ID] = 33, Table[Q] / LOOKUPVALUE ( Table[Q], Table[ID], 3 ) )
    )
),IF ( Table[ID] = 51, Table[Q] / LOOKUPVALUE ( Table[Q], Table[ID], 1 ) )
    )
),IF ( Table[ID] = 52, Table[Q] / LOOKUPVALUE ( Table[Q], Table[ID], 2 ) )
    )
),IF ( Table[ID] = 53, Table[Q] / LOOKUPVALUE ( Table[Q], Table[ID], 3 ) )
    )
),0)

下面是我要完成的演示

enter image description here

示例表已编辑

1 个答案:

答案 0 :(得分:0)

将前三行与其余表放在同一张表中是很奇怪的,但我认为类似这样的方法可能对您有用:

const otherThing = { name: "Harry Potter", age: 11 } 
generalSetValue(otherThing)("age")(17); // okay

这会将Answer = Table[Q] / LOOKUPVALUE ( Table[Q], Table[ID], MOD ( Table[ID], 10 ) ) 除以最后一位数字所对应的值。


编辑:

如果您想明确指定ID匹配,那么我建议您使用Q而不是使用一堆嵌套的SWITCH函数。

例如,

IF

或更紧凑地

Answer =
SWITCH (
    Table[ID],
    11, Table[Q] / LOOKUPVALUE ( Table[Q], Table[ID], 1 ),
    12, Table[Q] / LOOKUPVALUE ( Table[Q], Table[ID], 2 ),
    13, Table[Q] / LOOKUPVALUE ( Table[Q], Table[ID], 3 ),
    31, Table[Q] / LOOKUPVALUE ( Table[Q], Table[ID], 1 ),
    32, Table[Q] / LOOKUPVALUE ( Table[Q], Table[ID], 2 ),
    33, Table[Q] / LOOKUPVALUE ( Table[Q], Table[ID], 3 ),
    51, Table[Q] / LOOKUPVALUE ( Table[Q], Table[ID], 1 ),
    52, Table[Q] / LOOKUPVALUE ( Table[Q], Table[ID], 2 ),
    53, Table[Q] / LOOKUPVALUE ( Table[Q], Table[ID], 3 )
)

有关Answer = VAR LookupID = SWITCH ( TRUE (), Table[ID] IN { 11, 31, 51 }, 1, Table[ID] IN { 12, 32, 52 }, 2, Table[ID] IN { 13, 33, 53 }, 3 ) RETURN Table[Q] / LOOKUPVALUE ( Table[Q], Table[ID], LookupID ) 结构的详细信息,请参见以下参考资料:

DAX – The Diabolical Genius of “SWITCH TRUE”