我有3个表(FACT1, FACT2, DIM1, DIM2)
FACT1:
Code Month Value
058 1 500
059 1 600
061 1 700
058 2 1000
059 2 1000
061 2 1000
FACT2:
Service Month Status Value
058-buy 1 OK 700
059-purchase 1 Missing 800
061-trade 1 OK 900
058-buy 2 OK 300
059-purchase 2 Missing 400
061-trade 2 OK 500
DIM1:
Code Service
058 058-buy
059 059-purchase
061 061-trade
DIM2:
Month Name
1 January
2 February
3 March
我将所有4个表加载到Excel中的数据模型中,并在FACT1中创建了一个新度量总值:=sum([Value])+sumx(FILTER('FACT2','FACT2'[Status]="OK"),'FACT2'[VALUE])
我还创建了表之间的关系:FACT1(代码)到DIM1(代码)FACT2(服务)至DIM1(服务)FACT1(月)到DIM2(月)FACT2(Month) to DIM2(Month)
但是,当我使用数据模型插入一个新的枢轴时代码来自DIM1 "ROW"Month from FACT1 on "COLUMN"新测量值
我得到这样的东西:
Code 1 2 Grand Total
058 1500 2000 2500
059 600 1000 1600
061 2100 2400 3100
Grand Total 4200 5400 7200
以某种方式,它将按月正确地切片,但如果您注意透视表Grand Total
的最后一列,它们是正确的!2500确实是500 + 700 + 1000 + 300
, 1600确实是600 + 1000
, 3100确实是700 + 900 + 1000 + 500
以上3项的最终总数也是正确的,为7200。
现在的问题是为什么数据透视表的中间部分行为奇怪?
对于数据透视表,使用DIM2
表中的Month,而不是FACT1
表中的Month。在您当前的设置下,FACT1
不能过滤FACT2
表,尽管DIM2
可以。