dax 过滤器产生不同的结果

dax filters producing different results

你能告诉我为什么这两种措施会产生不同的结果吗?我很明显缺少一些简单的 AND 和 OR 操作。谢谢。

measure 1 = CALCULATE (
    COUNT ( fct_core[colour] ),
    fct_core[type] = 1
        || fct_core[type] = 2
        || fct_core[type] = 3
        && fct_core[colour] = 5
        || fct_core[colour] = 6
        || fct_core[colour] = 7
        || fct_core[colour] = 8
)

measure 2 = CALCULATE (
    COUNT ( fct_core[colour] ),
    fct_core[type] >= 1
        && fct_core[type] <= 3
        && fct_core[colour] = 5
        || fct_core[colour] = 6
        || fct_core[colour] = 7
        || fct_core[colour] = 8
)

这是一个order of operations误会。

如果放在适当的括号中,那么这些度量应该是相同的(假设类型只有整数值)。

measure 1 =
CALCULATE (
    COUNT ( fct_core[colour] ),
    (
        fct_core[type] = 1 ||
        fct_core[type] = 2 ||
        fct_core[type] = 3
    )
        &&
    (
        fct_core[colour] = 5 ||
        fct_core[colour] = 6 ||
        fct_core[colour] = 7 ||
        fct_core[colour] = 8
    )
)

measure 2 =
CALCULATE (
    COUNT ( fct_core[colour] ),
    (
        fct_core[type] >= 1 &&
        fct_core[type] <= 3
    )
        &&
    (
        fct_core[colour] = 5 ||
        fct_core[colour] = 6 ||
        fct_core[colour] = 7 ||
        fct_core[colour] = 8
    )
)