ssas - MDX 查询 STRTOSET CONSTRAINED 标志

标签 ssas mdx business-intelligence

我不熟悉 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.

我得到了另一个与此数据集非常相似的数据集(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 不起作用。

最佳答案

来自 BOL:

When the CONSTRAINED flag is used, the set specification must contain qualified or unqualified member names or a set of tuples containing qualified or unqualified member names enclosed by braces {}. This flag is used to reduce the risk of injection attacks via the specified string. If a string is provided that is not directly resolvable to qualified or unqualified member names, the following error appears: "The restrictions imposed by the CONSTRAINED flag in the STRTOSET function were violated.

看起来您没有使用属性的完全限定成员名称。

必须是

Dimension Name.Hierarchy Name.Level Name.Member Name

Dimension Name.Hierarchy Name.Level Name.&[Member Value] 

关于ssas - MDX 查询 STRTOSET CONSTRAINED 标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35335279/

相关文章:

jira - 如何将 JIRA 与 Power BI 连接以获取项目和冲刺详细信息?

ssas - 由于结构变化,当前 session 不再有效

ssas - 通过在 ETL 或 SSAS 中计算 KPI 获得最佳性能?

mdx - 在 MDX 中计算百分位数

MDX 聚合出一个维度

sql-server - SQL Server 数据仓库的 Web 前端

sql - 在 SQL Server 2012 中使用包含实例名称的连接字符串为分析服务创建链接服务器

sql-server - Analysis Services .abf 文件数据库还原

ssas - 过滤二维的 SET

sql - 如何创建内部漏斗分析?