我的事实表如下所示:
票证 ID 价格 状态ID 1
100 1 2 100 1
2 100 2
3 150 1
我正在使用 SSAS 为我的数据仓库创建 OLAP 多维数据集。 我不能使用聚合函数"总和"来衡量"总价",因为我将得到 450 美元而不是 350 美元(这是正确的塔塔尔)
问候
然后你仍然可以在 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-price]:
with member [cal-price] as
([Price],[IsMaxStatus].[IsMaxStatus].&[1])
select [cal-price] on 0
from [YourCube]
您也可以通过此度量组计算其他度量,而无需 dim [IsMaxStatus] 的过滤器
希望对您有所帮助。
www.mdx-helper.com