小计 <> 行总和
Subtotal <> sum of the rows
我是 DAX 的相对新手,所以请多多包涵。用最简单的话来说,我想将所有非欧洲地区的度量值加倍,然后对结果求和。这是一些 DAX 示例:
DEFINE
measure Fact[test] = CALCULATE (IF(SELECTEDVALUE('Dim'[Region]) = "Europe", Fact[Revenue],Fact[Revenue] * 2))
EVALUATE(
SUMMARIZECOLUMNS(
ROLLUPADDISSUBTOTAL('Dim'[Region], "RegionSubtotal"),
"Original Measure", Fact[Revenue],
"New Measure", Fact[test]
)
)
Region
RegionSubtotal
Original Measure
New Measure
Asia
False
200
400
Americas
False
500
1000
Europe
False
300
300
True
1000
2000
我正在尝试为第二列获取 (400+1000+300) = 1700 而不是 2000。有什么想法吗?
对于小计行,所选值不是“欧洲”,因此将值加倍。
要解决此问题,您需要迭代测量中的区域。像这样:
test =
SUMX (
VALUES ( 'Dim'[Region] ),
IF (
'Dim'[Region] = "Europe",
[Revenue],
[Revenue] * 2
)
)
另一种选择是创建一个计算列,其中 ,如果 region<>Europe,则 amount* 2 else amount。
然后取计算列的总和,但这就像有一个额外的数据。
我是 DAX 的相对新手,所以请多多包涵。用最简单的话来说,我想将所有非欧洲地区的度量值加倍,然后对结果求和。这是一些 DAX 示例:
DEFINE
measure Fact[test] = CALCULATE (IF(SELECTEDVALUE('Dim'[Region]) = "Europe", Fact[Revenue],Fact[Revenue] * 2))
EVALUATE(
SUMMARIZECOLUMNS(
ROLLUPADDISSUBTOTAL('Dim'[Region], "RegionSubtotal"),
"Original Measure", Fact[Revenue],
"New Measure", Fact[test]
)
)
Region | RegionSubtotal | Original Measure | New Measure |
---|---|---|---|
Asia | False | 200 | 400 |
Americas | False | 500 | 1000 |
Europe | False | 300 | 300 |
True | 1000 | 2000 |
我正在尝试为第二列获取 (400+1000+300) = 1700 而不是 2000。有什么想法吗?
对于小计行,所选值不是“欧洲”,因此将值加倍。
要解决此问题,您需要迭代测量中的区域。像这样:
test =
SUMX (
VALUES ( 'Dim'[Region] ),
IF (
'Dim'[Region] = "Europe",
[Revenue],
[Revenue] * 2
)
)
另一种选择是创建一个计算列,其中 ,如果 region<>Europe,则 amount* 2 else amount。 然后取计算列的总和,但这就像有一个额外的数据。