连接日期变量mdx

时间:2010-12-03 19:35:52

标签: sql-server mdx

大家好抱歉再次打扰一个可怕的问题

我有以下mdx,我需要格式化日期YYYYMMDD但是我遇到了麻烦,因为无论我怎么说它都不会在商店程序上编译,或者如果它确实产生的mdx不好。

到目前为止,使用sqlserver 2000继承了我的代码。

set @CONSULTA = 'select [' +CONVERT(VARCHAR(8), @fecha, 112)+ '] AS [' +YYYYMMDD+ '], A.* 
    from (SELECT
    isnull(CAST("[Measures].[Cajas Dia]" As float(18,6)),2) As cajas_dia,
    isnull(CAST("[Measures].[P Redondeadas]" As int),2) As pz_redondeo
          FROM openrowset(''MSOLAP'',''DATASOURCE=XXXX; Initial Catalog=XXXX; User Id=XXX;Password=XXX;'', '+ '''' + @MDX +''''+')) as A 

2 个答案:

答案 0 :(得分:0)

我认为您希望在CONVERT上使用样式112而不是122。也不确定为什么你的查询中有方括号。

CONVERT(VARCHAR(8), @fecha, 112)

答案 1 :(得分:0)

这是你需要的吗?

没有样式122,我假设您尝试将日期作为文字返回,并将该列别名为YYYYMMDD

set @CONSULTA = 'select ''' +CONVERT(VARCHAR(8), @fecha, 112)+ ''' AS [YYYYMMDD], A.* 
    from (SELECT
    isnull(CAST("[Measures].[Cajas Dia]" As float(18,6)),2) As cajas_dia,
    isnull(CAST("[Measures].[P Redondeadas]" As int),2) As pz_redondeo
          FROM openrowset(''MSOLAP'',''DATASOURCE=XXXX; Initial Catalog=OLAP_HDZ; User Id=XXX;Password=XXX;'', '+ '''' + @MDX +''''+')) as A'