Ssas 如何在MDX中将列定义为double的数据类型?
我是MDX和analysis services的新手,请耐心听我说。当我运行下面的MDX查询时,A-I列的结果值返回为double,但是当is应该是double时,列元数据将数据类型显示为object类型。我如何强制它识别双重数据类型,我甚至可以这样做吗?我不确定它是如何推断它是object类型的Ssas 如何在MDX中将列定义为double的数据类型?,ssas,mdx,Ssas,Mdx,我是MDX和analysis services的新手,请耐心听我说。当我运行下面的MDX查询时,A-I列的结果值返回为double,但是当is应该是double时,列元数据将数据类型显示为object类型。我如何强制它识别双重数据类型,我甚至可以这样做吗?我不确定它是如何推断它是object类型的 WITH MEMBER [Column (A)] AS [Measures].[ColumnA] MEMBER [Column (B)] AS [Measures].[
WITH
MEMBER [Column (A)] AS [Measures].[ColumnA]
MEMBER [Column (B)] AS [Measures].[ColumnB]
MEMBER [Column (C)] AS [Measures].[ColumnC]
MEMBER [Column (D)] AS [Measures].[ColumnD]
MEMBER [Column (E)] AS [Measures].[ColumnE]
MEMBER [Column (F)] AS [Measures].[ColumnF]
MEMBER [Column (G)] AS [Measures].[ColumnB] - [Measures].[ColumnA]
MEMBER [Column (H)] AS [Measures].[ColumnD] - [Measures].[ColumnC]
MEMBER [Column (I)] AS [Measures].[ColumnF] - [Measures].[ColumnE]
SELECT
NON EMPTY
{
Column (A),
Column (B),
Column (C),
Column (D),
Column (E),
Column (F),
Column (G),
Column (H),
Column (I)
} ON COLUMNS,
NON EMPTY
CROSSJOIN(
CROSSJOIN([T].[TB].[TB],
[T].[TT].[TT]),
[T].[TR].[TR])
ON ROWS
FROM RePro
WHERE
(
[RS].[RS].[EOD],
[RD].[RD].[DATE],
[P].[P].[ABCD]
)
CELL PROPERTIES VALUE
提前感谢您可以尝试CDbl功能。我在上面找到了一些例子:
我可能在这里遗漏了一些上下文,但是
[Measures].[ColumnA]
本身是否定义为decimal
(或money
)
如果是的话,你能试试对你的MDX做一点小小的改变吗
WITH MEMBER [Column (A)] ...
改成
WITH MEMBER [Measures].[Column (A)] AS [Measures].[ColumnA]
这样,当您保持相同的度量上下文时,数据类型定义将被完全传播