大家好抱歉再次打扰一个可怕的问题
我有以下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
答案 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'