Sql 如何在mdx中将值格式化为仅含2分贝的浮点值?

Sql 如何在mdx中将值格式化为仅含2分贝的浮点值?,sql,ssas,mdx,Sql,Ssas,Mdx,以下是我的价值观: 值-000398911382022891 和计算此值的成员 MEMBER [Date].[Percentage] AS ([Date].[AverageSaleNumberThisYear] - [Date].[AverageSaleNumberPreviouseYear] )/ [Date].[AverageSaleNumberThisYear]. 如果我使用FORMAT_STRING=“Percent”,我得到的值是:-0

以下是我的价值观:

值-000398911382022891

和计算此值的成员

         MEMBER [Date].[Percentage] AS 
              ([Date].[AverageSaleNumberThisYear] - [Date].[AverageSaleNumberPreviouseYear] )/ [Date].[AverageSaleNumberThisYear].
如果我使用FORMAT_STRING=“Percent”,我得到的值是:-0,40%,但我想要的是完全相同的值,但没有
%
符号。

您可以在MDX中使用。听起来像是你想要的

FORMAT_STRING = "0.00"

我假设您不想将值乘以100,这就是“百分比”的作用)

如果要将其乘以100,请在表达式中执行该操作:

     MEMBER [Date].[Percentage] AS 
          100 * ([Date].[AverageSaleNumberThisYear] - [Date].[AverageSaleNumberPreviouseYear] ) / [Date].[AverageSaleNumberThisYear].

尝试在z中使用的技巧:

WITH 
  MEMBER [Measures].[x] AS 
    -0.003989113 
   ,FORMAT_STRING = "Fixed" 
  MEMBER [Measures].[y] AS 
    -0.003989113 
   ,FORMAT_STRING = "0.00" 
  MEMBER [Measures].[z] AS 
    Round(-0.003989113*100,2) 
SELECT 
  {
    [Measures].[x]
   ,[Measures].[y]
   ,[Measures].[z]
  } ON 0
FROM [AdventureWorks];

然后它返回0.00而不是0。40@Timsen那么你想把它乘以100?然后在表达式中执行乘法,而不是在格式字符串中执行乘法。
WITH 
  MEMBER [Measures].[x] AS 
    -0.003989113 
   ,FORMAT_STRING = "Fixed" 
  MEMBER [Measures].[y] AS 
    -0.003989113 
   ,FORMAT_STRING = "0.00" 
  MEMBER [Measures].[z] AS 
    Round(-0.003989113*100,2) 
SELECT 
  {
    [Measures].[x]
   ,[Measures].[y]
   ,[Measures].[z]
  } ON 0
FROM [AdventureWorks];