我的事实表看起来像这样:
ticketID价格状态ID
1 100 1
2 100 1
2 100 2
3 150 1
我正在使用SSAS为我的数据仓库创建OLAP多维数据集。 我不能使用aggregateFunction'Sum'作为度量'总价',因为我将获得450 $而不是350 $(这是正确的价值)
此致
答案 0 :(得分:1)
然后你仍然可以在db中添加一个视图:
select
ticketid,
price,
statusid,
case when rn=1 then 1 else 0 end as IsMaxStatus
from
(select ticketid,price,statusid,
row_number()over
(partition by ticketid, price order by statusid desc) as rn
from yourFactTb
) as fact
然后添加一个维度[IsMaxStatus],它在您的多维数据集中包含两个0/1的记录,并将Dim-usage设置为常规,该度量组依赖于上面的事实表,然后添加一个计算的度量,如[cal-价格]具有以下公式:
with member [cal-price] as
([Price],[IsMaxStatus].[IsMaxStatus].&[1])
select [cal-price] on 0
from [YourCube]
您还可以通过此度量组计算其他度量,而不使用暗淡的过滤器[IsMaxStatus]
希望它有所帮助。
www.mdx-helper.com