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

Sql server 在SSAS中使用参数测试mdx查询,sql-server,reporting-services,ssas,mdx,ssrs-2012,Sql Server,Reporting Services,Ssas,Mdx,Ssrs 2012,我想在SSAS中测试MDX查询。到目前为止,我一直在执行以下步骤 我打开SQL分析器并运行SSRS报告 我找到了我需要的查询(带有参数值)并选择了它 我将代码粘贴到ssas中 因为我的SSRS MDX查询使用stroMember和stroSet函数,所以我用引号括住了参数值,例如“[Measures].[Return On Average Assets]” 询问 SELECT { [Measures].[Broj Pristapi] ,[Measures].[Broj Na

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

  • 我打开SQL分析器并运行SSRS报告
  • 我找到了我需要的查询(带有参数值)并选择了它
  • 我将代码粘贴到ssas中
  • 因为我的SSRS MDX查询使用stroMember和stroSet函数,所以我用引号括住了参数值,例如“[Measures].[Return On Average Assets]”
  • 询问

    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];
    
  • 我注释掉了其余的行,只留下mdx查询 6.当我运行查询时,它给了我一个错误“在指定完整语句时需要MDX表达式。”
  • 我按照以下教程进行mdx测试


    你知道问题出在哪里吗?

    你真的在会员名中使用了这个吗<代码>&;[…分号保留在
    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];
    

    发布您的代码,否则没有人可以帮助。请删除“&”中的。非常感谢!虽然上面说,超过两个轴的单元集不能显示结果。我如何解决这个问题?使用SSMS时不能使用两个以上的轴。这里您使用的是三个0、1和2。您可能希望将轴2上的集与轴1上的集交叉连接,然后您将获得所需的结果。SSRS有一个查询设计gner内置于数据集属性中。您可以在其中拖放以生成MDX查询。这样您就不必手动编辑任何MDX。