我对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]”
但是为什么我在运行报告时没有工作?参数值为空白..
感谢您的帮助!
答案 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)