如何修复 Power BI 中 table 可视化中错误的总数?
How to fix the wrong total in table visualization in power BI?
我有一个度量名称 Y_Test,其中 Y_Test 是:
Y_Test =
VAR Y = SUM(Sheet1[C2])
var result = IF(MAX(Sheet1[C1]) = "A", Y, IF(((MAX(Sheet1[C1])) = "B" || (MAX(Sheet1[C1]) = "C")), -1 * Y))
Return result
我得到的总数是 -16,不应该是 8 吗?
提前致谢。
按照以下步骤操作-
步骤 1: 创建一个新的 计算列 如下-
new_c2 =
IF(
Sheet1[C1] = "A",
Sheet1[C2],
IF(
Sheet1[C1] = "B" || Sheet1[C1] = "C",
Sheet1[C2] * -1
)
)
步骤 2: 现在创建 Measure,如下所示-
Y_Test = SUM(Sheet1[new_c2])
输出-
作为替代选项,您可以尝试使用迭代器,在本例中,SUMX
。
对于'Table'[C1]
的每个实例,该操作将是运行,因此如果C1
的唯一值的行数太大,您需要小心。
测量
Y_TEST =
SUMX (
VALUES ( 'Table'[C1] ),
IF ( [C1] = "A", 1, IF ( [C1] IN { "B", "C" }, -1 ) )
* CALCULATE ( SUM ( 'Table'[C2] ) )
)
Table
C1
C2
C3
A
1
a
B
2
b
C
3
b
D
2
d
A
1
a
B
3
b
C
4
C
D
2
d
A
2
d
改为使用此公式:
CALCULATE (
SUM ( Sheet1[C2] ),
KEEPFILTERS ( Sheet1[C1] = "A" )
) -
CALCULATE (
SUM ( Sheet1[C2] ),
KEEPFILTERS ( Sheet1[C1] IN { "B", "C" } )
)
我有一个度量名称 Y_Test,其中 Y_Test 是:
Y_Test =
VAR Y = SUM(Sheet1[C2])
var result = IF(MAX(Sheet1[C1]) = "A", Y, IF(((MAX(Sheet1[C1])) = "B" || (MAX(Sheet1[C1]) = "C")), -1 * Y))
Return result
我得到的总数是 -16,不应该是 8 吗?
提前致谢。
按照以下步骤操作-
步骤 1: 创建一个新的 计算列 如下-
new_c2 =
IF(
Sheet1[C1] = "A",
Sheet1[C2],
IF(
Sheet1[C1] = "B" || Sheet1[C1] = "C",
Sheet1[C2] * -1
)
)
步骤 2: 现在创建 Measure,如下所示-
Y_Test = SUM(Sheet1[new_c2])
输出-
作为替代选项,您可以尝试使用迭代器,在本例中,SUMX
。
对于'Table'[C1]
的每个实例,该操作将是运行,因此如果C1
的唯一值的行数太大,您需要小心。
测量
Y_TEST =
SUMX (
VALUES ( 'Table'[C1] ),
IF ( [C1] = "A", 1, IF ( [C1] IN { "B", "C" }, -1 ) )
* CALCULATE ( SUM ( 'Table'[C2] ) )
)
Table
C1 | C2 | C3 |
---|---|---|
A | 1 | a |
B | 2 | b |
C | 3 | b |
D | 2 | d |
A | 1 | a |
B | 3 | b |
C | 4 | C |
D | 2 | d |
A | 2 | d |
改为使用此公式:
CALCULATE (
SUM ( Sheet1[C2] ),
KEEPFILTERS ( Sheet1[C1] = "A" )
) -
CALCULATE (
SUM ( Sheet1[C2] ),
KEEPFILTERS ( Sheet1[C1] IN { "B", "C" } )
)