如何在我的时间维度中查询过去12周的MDX?

时间:2015-07-23 11:08:30

标签: sql-server datetime mdx analysis

我对MDX查询有很多疑问,因为我刚开始通过SQL报告构建器了解OLAP和SSRS报告。

第一个问题是,您能否给我一个指向MDX查询教程的最佳网站的链接..

其次,我已经部署了销售多维数据集..将参数传递给查询的最佳方法是什么?我的意思是,如果我想在不使用参数的情况下自动查询我的销售过去12周(如果现在是第30周,则自动生成,而不是显示第18周到第30周的数据,依此类推)。 这是我从设计师自动生成的查询:

SELECT NON EMPTY { [Measures].[Total Stick] } ON COLUMNS,
NON EMPTY
{
  ( [PALAPA Location].[LocationCode].[LocationCode].AllMembers * [PALAPA Fact Sales].[Year].[Year].AllMembers * [PALAPA Fact Sales].[Week].[Week].AllMembers )
} Dimension Properties MEMBER_CAPTION,
MEMBER_UNIQUE_NAME ON ROWS
FROM (
  SELECT (
  { [Time_Dim].[Week].&[2015-06-21T00:00:00], [Time_Dim].[Week].&[2015-06-28T00:00:00], [Time_Dim].[Week].&[2015-07-05T00:00:00], [Time_Dim].[Week].&[2015-07-12T00:00:00], [Time_Dim].[Week].&[2015-07-19T00:00:00] } ) ON COLUMNS
  FROM (
    SELECT ( { [Time_Dim].[Year].&[2015-01-01T00:00:00] } ) ON COLUMNS
    FROM [PALAPA_DSV]
  )
)
WHERE ( [Time_Dim].[Year].&[2015-01-01T00:00:00], [Time_Dim].[Week].CurrentMember ) CELL Properties Value,
BACK_COLOR,
FORE_COLOR,
FORMATTED_VALUE,
FORMAT_STRING,
FONT_NAME,
FONT_SIZE,
FONT_FLAGS

第三个问题,我想使用以下代码在SQL Report构建器参数(周维度)中设置默认值:

  

=“[TP DIM CALENDAR]。[日期]。& [”+格式(CDate(参数!FromParameter.Value),“yyyy-MM-dd”)+   “T00:00:00]”

但是为什么我在运行报告时没有工作?参数值为空白..

感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

请查看这些mdx函数

StrToMember

https://msdn.microsoft.com/en-us/library/ms146022.aspx

StrToSet

https://msdn.microsoft.com/en-us/library/ms144782.aspx

这些和其他几个StrTo..函数被广泛用于传递参数。

在你的例子中,你需要将整个字符串包装成这样的东西:

strToMember(
    "[TP DIM CALENDAR].[Date].&[" +
     Format(CDate(Parameters!FromParameter.Value),"yyyy-MM-dd") + 
    "T00:00:00]"
)

答案 1 :(得分:0)

在这里找到解决方案:

http://www.msbitips.com/?p=4

感谢您的帮助,为什么他们:)