Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2008 MSSQL Server 2008 BDS多维数据集中的计算度量_Sql Server 2008_Mdx_Data Warehouse_Olap_Cube - Fatal编程技术网

Sql server 2008 MSSQL Server 2008 BDS多维数据集中的计算度量

Sql server 2008 MSSQL Server 2008 BDS多维数据集中的计算度量,sql-server-2008,mdx,data-warehouse,olap,cube,Sql Server 2008,Mdx,Data Warehouse,Olap,Cube,我想定义3个计算成员。我有一个基于两个表的立方体,轨迹信息和图表位置。图表位置表由36周列组成,其中包含给定曲目在给定周前100名列表中的位置(如果歌曲未进入列表,则为0): 以此类推,直到第36周 我想计算以下指标: 1) 这首歌在前十名中的周数 2) 这首歌进入前20名的周数 3) “人气表”,可通过以下公式计算: 1/((所有非零头寸的平均值)*(37-(列入名单的周数))) 有人能帮我解决这些问题吗?没有多维数据集定义,写一些MDX有点困难,但对于1)我将举一个类似的问题作为例子-年数[

我想定义3个计算成员。我有一个基于两个表的立方体,轨迹信息和图表位置。图表位置表由36周列组成,其中包含给定曲目在给定周前100名列表中的位置(如果歌曲未进入列表,则为0):

以此类推,直到第36周

我想计算以下指标:

1) 这首歌在前十名中的周数

2) 这首歌进入前20名的周数

3) “人气表”,可通过以下公式计算:

1/((所有非零头寸的平均值)*(37-(列入名单的周数)))


有人能帮我解决这些问题吗?

没有多维数据集定义,写一些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]

这适用于中提供的演示多维数据集;应该与相同,因为这是相当标准的MDX。我想你会对这个函数有想法的。然后,您可以创建一个计算出的度量值,该度量值将对过滤集进行计数(),而不是将该集放在轴上(用于演示目的)。

Business Development Studio 2008制作的多维数据集,很抱歉造成歧义。我明白了。当你说你有一个基于2个表的多维数据集时,你是说2个维度的表吗?你们也有事实表吗?我有3个维度:图表位置、艺术家数据和杂项数据。我有一个测量值,它是总轨迹数。“图表位置”维度包含所有36周列。
 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]