在 SSAS 中使用参数测试 mdx 查询

testing mdx query with parameters in SSAS

我想在 SSAS 中测试 MDX 查询。到目前为止,我执行了以下步骤。

  1. 我打开了 SQL Profiler 和 运行 SSRS 报告
  2. 我找到了我需要的查询(带有参数值)并选择了它 sql profiler
  3. 我在ssas中粘贴了代码
  4. 由于我的 SSRS MDX 查询使用了 StrToMember 和 StrToSet 函数,所以我用引号将参数值括起来,例如“[措施]。[Return平均资产]”。

查询

SELECT 
  {
    [Measures].[Broj Pristapi]
   ,[Measures].[Broj Nalozi]
  } ON 0
 ,
    Except
    (
      StrToSet("[Dim Ucesnici].[Naziv Ucesnik].&;[owiefwjhoef]")
     ,{
        [Dim Ucesnici].[Naziv Ucesnik].&[kihebrgk]
       ,[Dim Ucesnici].[Name].&[blablabla]
      }
    )*
    StrToSet
    ("{ [Dim Web Service Web Method].[Web Service].&;[wsINAPBan],
        [Dim Web Service Web Method].[Web Service].&;[wsNAPSBan] }"
    )*
    StrToSet
    ("{ [Dim Web Service Web Method].[Web Method].[All]
       ,[Dim Web Service Web Method].[Web Method].&;[funNN_loadPP30Ban]
       ,[Dim Web Service Web Method].[Web Method].&;[funNN_loadPP50Ban]}"
    )*
    {
        StrToMember("[Dim Datumi].[Datum ID].&;[20170801]")
      : 
        StrToMember("[Dim Datumi].[Datum ID].&;[20170906]")
    }*
    StrToSet("[Dim Ucesnici].[Opis Tip Ucesnik].&;[Bank]") ON 1
 ,NON EMPTY 
    {
        [Dim Date].[Date].Children*
        [Dim Date].[Month].Children*
        [Dim Date].[MonthName].Children
    } ON 2
 FROM [DW];
  1. 我注释掉了其余的行,只留下了 mdx 查询 6.When 我 运行 查询它给了我一个错误 "An MDX expression was expected while a full statement was specified."

我按照以下教程进行了 mdx 测试 http://prologika.com/how-to-test-ssrs-mdx-queries-in-sql-server-management-studio/

知道问题出在哪里吗?

你真的在会员名中使用这个吗? .&;[ ....分号保留用于 mdx 语句的末尾。请去掉所有的分号:

SELECT 
  {
    [Measures].[Broj Pristapi]
   ,[Measures].[Broj Nalozi]
  } ON 0
 ,
    Except
    (
      StrToSet("{[Dim Ucesnici].[Naziv Ucesnik].&[owiefwjhoef]}")
     ,{
        [Dim Ucesnici].[Naziv Ucesnik].&[kihebrgk]
       ,[Dim Ucesnici].[Name].&[blablabla]
      }
    )*
    StrToSet
    ("{ [Dim Web Service Web Method].[Web Service].&[wsINAPBan],
        [Dim Web Service Web Method].[Web Service].&[wsNAPSBan] }"
    )*
    StrToSet
    ("{ [Dim Web Service Web Method].[Web Method].[All]
       ,[Dim Web Service Web Method].[Web Method].&[funNN_loadPP30Ban]
       ,[Dim Web Service Web Method].[Web Method].&[funNN_loadPP50Ban]}"
    )*
    {
        StrToMember("[Dim Datumi].[Datum ID].&[20170801]")
      : 
        StrToMember("[Dim Datumi].[Datum ID].&[20170906]")
    }*
    StrToSet("[Dim Ucesnici].[Opis Tip Ucesnik].&[Bank]") ON 1
 ,NON EMPTY 
    {
        [Dim Date].[Date].Children*
        [Dim Date].[Month].Children*
        [Dim Date].[MonthName].Children
    } ON 2
 FROM [DW];