DAX - 不同的粒度

时间:2016-11-15 13:42:04

标签: ssas dax

我有一个Diff Grain Type问题。 我有一个包含2个度量的事实表 - Amount和Share_amount

EG

Name    Location    Amount  Share_amount
John    Ireland     100     50
John    UK          100     50
fred    USA         200     200
Bob     france      300     150
Bob     spain       300     150

我想显示金额,但按Share_amount显示小计/总计

在枢轴中,我想看看:

John        100
John Total  100
fred        200
Fred total  200
Bob         300
Bob Total   300

我知道如果ISFILTERED()位置我可以空白()金额 但我想显示金额(非共享),但保持总数正确

在DAX中有没有办法做到这一点

由于

2 个答案:

答案 0 :(得分:0)

我在想什么 - 任何人都可以评论这是否有效:

DEFINE MEASURE 'Fact'[RealAmount] =
IF (
    NOT (
        ISFILTERED ( 'Fact'[Location])
        )
    ,
    SUM ( Fact[Amount] )
    ,
    SUM ( Fact[Share_Amount] )
)

答案 1 :(得分:0)

我认为你需要的是这样的:

DEFINE MEASURE 'Fact'[RealAmount] =
    IF (
        COUNTROWS ( VALUES ( Fact[Location] ) ) = 1,
        SUM ( Fact[Amount] ),
        SUM ( Fact[Share_amount] )
    )

它没有经过测试但应该有效,请告诉我它是否适合您。