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

How to MDX query for last 12 weeks in my time dimension?

我有很多关于 MDX 查询的问题,因为我刚开始使用 SQL 报表生成器学习 OLAP 和 SSRS 报表。

第一个问题是,能否请您给我 link 提供 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 报表生成器参数(周维度)设置默认值:

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

但是为什么当我 运行 报告时它不起作用?参数值为空..

感谢您的帮助!

请看一下这些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]"
)

在这里找到解决方案:

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

感谢您的帮助 whytheq :)