SELECT NON EMPTY { [Measures].[CTDJ] } 
  ON COLUMNS, NON EMPTY 
  { ([Dim JLSY].[JLSYKEY].[JLSYKEY].ALLMEMBERS 
  * [Dim Date].[年].[年].ALLMEMBERS 
  * [Dim ORG].[ORGKEY].[ORGKEY].ALLMEMBERS ) } 
  DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS FROM 
  ( SELECT ( STRTOSET(@DimORGORGKEY, CONSTRAINED) ) 
  ON COLUMNS FROM ( SELECT ( STRTOSET(@[DimDate年], CONSTRAINED) ) 
  ON COLUMNS FROM ( SELECT ( { [Dim JLSY].[JLSYKEY].[All] } ) 
  ON COLUMNS FROM [SZAS]))) 
  CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR,
   FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS
在这样一个语句的基础上 我想截取[Dim ORG].[ORGKEY].[ORGKEY].ALLMEMBERS的前六位和传进来的参数进行匹配,但是尝试了一些方法都不能够正确的调试出来,实在没办法了 求高手指教啊新手,上面这个语句是自动生成的

解决方案 »

  1.   

    select substring(@str,charindex('[Dim ORG].[ORGKEY].[ORGKEY].ALLMEMBERS',@str),6)
    --try@str表示你的那个字符串
      

  2.   

    不是很明白,可以解释下么,这句话的改动是在
     SELECT ( STRTOSET(@DimORGORGKEY, CONSTRAINED) 这里么?
      

  3.   

    那个。MDX里面有SubString函数么
      

  4.   

    你说的那个什么MDX的不懂。你的去对应版块吧
      

  5.   

    我是想去BI板块的但BI板块 是在是没人。。想到MDX也算是SQL语句就放到这里了。
      

  6.   

    楼主,还是不一样吧,SQL里就有substring()这个函数的哦