我不熟悉MDX语言,我遇到了数据集(DataBatchProcessData)的问题,这是MDX查询:
SELECT
NON EMPTY
{
[Measures].[Germ1 Delta Temp In Out Inf]
,[Measures].[Germ2 Delta Temp In Out Sup]
,[Measures].[Germ2 Delta Temp In Out Inf]
,[Measures].[Germ1 Delta Temp In Out Sup]
,[Measures].[Germ Nb Sprays]
} ON COLUMNS
,NON EMPTY
{
[65 Batch Process Data].[Batch Number].[Batch Number].ALLMEMBERS*
[01 Plants].[Plant Name].[Plant Name].ALLMEMBERS*
[04 Production Units].[Production Unit].[Production Unit].ALLMEMBERS*
[65 Batch Process Data].[Steeping Start Date].[Steeping Start Date].ALLMEMBERS
}
DIMENSION PROPERTIES
MEMBER_CAPTION
,MEMBER_UNIQUE_NAME
ON ROWS
FROM
(
SELECT
StrToSet
("{[65 Batch Process Data].[Batch Number].&[1320165073],[65 Batch Process Data].[Batch Number].&[1320165074],[65 Batch Process Data].[Batch Number].&[1320165075]}"
,CONSTRAINED
) ON COLUMNS
FROM
(
SELECT
StrToSet
("[04 Production Unit].[Production Unit].&[1]"
,CONSTRAINED
) ON COLUMNS
FROM
(
SELECT
StrToSet
("[01 Plants].[Plant Name].&[Rostock]"
,CONSTRAINED
) ON COLUMNS
FROM [Supervision]
)
)
)
CELL PROPERTIES
VALUE
,BACK_COLOR
,FORE_COLOR
,FORMATTED_VALUE
,FORMAT_STRING
,FONT_NAME
,FONT_SIZE
,FONT_FLAGS;
此MDX查询由SSRS自动生成,但无法正常运行,我在运行报告时遇到此错误:
Query (8, 9) The restrictions imposed by the CONSTRAINED flag in the STRTOSET function were violated.
我得到了另一个与此数据集非常相似的DataSet(DataGermination),它采用相同的参数(不在同一维度中):
SELECT
NON EMPTY
{
[Measures].[Air Temperature Out - Fact Germination Continue]
} ON COLUMNS
,NON EMPTY
{
[81 Germination Continue].[Batch Number].[Batch Number].ALLMEMBERS*
[80 Germination General].[Plant Name].[Plant Name].ALLMEMBERS*
[80 Germination General].[Production Unit].[Production Unit].ALLMEMBERS*
[81 Germination Continue].[Characteristic Date].[Characteristic Date].ALLMEMBERS*
[80 Germination General].[Start Date Unloading].[Start Date Unloading].ALLMEMBERS*
[80 Germination General].[Start Date].[Start Date].ALLMEMBERS*
[80 Germination General].[End Date].[End Date].ALLMEMBERS
}
DIMENSION PROPERTIES
MEMBER_CAPTION
,MEMBER_UNIQUE_NAME
ON ROWS
FROM
(
SELECT
StrToSet
("[80 Germination General].[Production Unit].&[1]"
,CONSTRAINED
) ON COLUMNS
FROM
(
SELECT
StrToSet
("[80 Germination General].[Plant Name].&[Rostock]"
,CONSTRAINED
) ON COLUMNS
FROM
(
SELECT
StrToSet
("{[81 Germination Continue].[Batch Number].&[1320165073],[81 Germination Continue].[Batch Number].&[1320165074],[81 Germination Continue].[Batch Number].&[1320165075]}"
,CONSTRAINED
) ON COLUMNS
FROM [Supervision]
)
)
)
CELL PROPERTIES
VALUE
,BACK_COLOR
,FORE_COLOR
,FORMATTED_VALUE
,FORMAT_STRING
,FONT_NAME
,FONT_SIZE
,FONT_FLAGS;
当我在SSMS中运行这些查询时,第二个正在运行(DataGermination),但我不知道为什么,数据集DataBatchProcessData不是。
答案 0 :(得分:1)
我怀疑您指定的其中一个成员在多维数据集中不存在。
易于测试。
如果您将以下内容添加到非常简单的mdx
脚本中,它会运行吗?
{[65 Batch Process Data].[Batch Number].&[1320165073]
,[65 Batch Process Data].[Batch Number].&[1320165074]
,[65 Batch Process Data].[Batch Number].&[1320165075]}
以下内容应阐明是否承认这些成员:
SELECT
{} ON ROWS
,{
[81 Germination Continue].[Batch Number].&[1320165073]
,[81 Germination Continue].[Batch Number].&[1320165074]
,[81 Germination Continue].[Batch Number].&[1320165075]
} ON COLUMNS
FROM [Supervision];
答案 1 :(得分:1)
来自BOL:
使用CONSTRAINED标志时,设置规范必须包含 限定或不合格的成员名称或一组包含的元组 括号{}括起来的限定或不合格的成员名称。这面旗帜 用于通过指定的方式降低注射攻击的风险 串。如果提供的字符串无法直接解析 限定或不合格的成员名称,出现以下错误: " STRTROSET标志在STRTOSET中施加的限制 功能受到了侵犯。
您似乎没有使用属性的完全限定成员名称。
需要
Dimension Name.Hierarchy Name.Level Name.Member Name
或
Dimension Name.Hierarchy Name.Level Name.&[Member Value]
答案 2 :(得分:0)
你是对的SouravA,我的问题是批号。
期待像[65 Batch Process Data].[Batch Number].&[Batch Number]
我正在给他func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
NSThread.sleepForTimeInterval(5.0)
return true
}
感谢您的帮助!