我需要将多维数据集查询为普通表。此外,出于性能原因,我需要使用命名集(如果不使用该集,查询需要 10 倍)。问题是我为日期时间计算成员的每一行获得相同的值。顺便说一句,我正在使用这个成员,因为我还没有找到任何方法来查询“列上”的命名集。
查询如下所示:
with
set [CurrentDates] as filter([Time].[Date].Members, not isempty([Measures].[Net Sold Units]))
member [Measures].[Date Time] as [CurrentDates].Item(1).Member_Key
select
{
[Measures].[Date Time],
[Measures].[Song Name]
--other calculated members
}
on columns
,
subset
(
{
order
(
except
(
NONEMPTY([Trend Transaction].[Trend Transaction].Members, [Measures].[Net Sold Units]),
[Trend Transaction].[Trend Transaction].[All]
),
[Measures].[Date Time], basc
)
}
,0, 50)
on rows
from Trends
where
(
{[Time].[Date].&[2012-09-01T00:00:00],[Time].[Date].&[2012-09-02T00:00:00]}
)
我得到的结果是这样的:
日期 时间 歌曲名称
2012 年 9 月 1 日你去过哪里 2012 年 9 月 1 日我们还年轻 2012 年 9 月 1 日清醒(原由凯蒂佩里表演)[卡拉 OK 版] 2012 年 9 月 1 日呼吸 2012 年 9 月 1 日如此复杂(最初由 Rick Ross 表演)[卡拉 OK 版]。. .
最后一首歌的日期显然是错误的,应该是 2012 年 9 月 2 日
我认识到我有点 SSAS 新手,可能我在这里缺少一些东西:)
有什么办法可以做到我需要的吗?
提前致谢!