我想定义3个计算成员。我有一个基于2个表,TrackInfo和Chart Positions的立方体。图表位置表由36周的列组成,其中包含给定周内前100名列表中给定的跟踪位置(如果该歌曲未在列表中列出,则为0):
[Entry ID] FOREIGN KEY,
[1st Week] FLOAT,
[2nd Week] FLOAT,
依此类推,直到第36周。
我想计算以下措施:
1)歌曲进入前10名的周数
2)歌曲进入前20名的周数
3)“人气计”,将通过以下公式完成:
1 /((所有非零位置的平均值)*(37 - (列表中列出的周数)))任何人都可以帮助我吗?
答案 0 :(得分:2)
如果没有立方体定义来编写一些MDX但是1)我会以一个类似的问题为例 - 年度数[东京]已进入前三名的销售城市:
select
[Measures].[Sales] on 0,
Filter(
Generate( [Time].[Year].[Year].members as s1,
TopCount( s1.currentMember * [Customers].[City].members, 3, [Measures].[Sales] )
) as s2,
IIF( s2.current(1) IS [Customers].[Geography].[City].[Tokyo] , true, false )
)
on 1
from [Sales]
这适用于icCube中提供的演示多维数据集;应与AS相同,因为这是非常标准的MDX。我想你会得到Generate函数的想法。然后,您可以创建一个计算的度量,它将Count()过滤后的集合而不是将此集合放在轴上(用于演示目的)。