MDX确定度量值是数字还是百分比值

MDX确定度量值是数字还是百分比值,mdx,Mdx,有没有办法确定度量值是数字还是百分比 我在excel数据透视中有一个计算过的成员,其中is从当前年份值中减去上一年的值,以得到方差 计算实例: [Product Date].[Fiscal Date].&[1415]-[Product Date].[Fiscal Date].&[1314] 我想做的是得到方差百分比,要做到这一点,我只需要从当前值中减去上一年的值,当它是一个百分比时。当值是一个数字时,我需要从当前值中减去上一年的值,然后除以上一年的值 那么,有没有一种方法可以确

有没有办法确定度量值是数字还是百分比

我在excel数据透视中有一个计算过的成员,其中is从当前年份值中减去上一年的值,以得到方差

计算实例:

[Product Date].[Fiscal Date].&[1415]-[Product Date].[Fiscal Date].&[1314]
我想做的是得到方差百分比,要做到这一点,我只需要从当前值中减去上一年的值,当它是一个百分比时。当值是一个数字时,我需要从当前值中减去上一年的值,然后除以上一年的值


那么,有没有一种方法可以确定何时需要对值进行除法还是只进行减法?

SSAS引擎不使用
%
操作符存储百分比值。换句话说,没有“百分比”这样的数据类型

因此,85%在发动机内部存储为0.85

查看0.85并确定它是
85%
还是
.85
,没有好的方法。因此,如果在您的情况下,值可以是小数,祝您好运! 但是,如果它们总是整数,有一个小技巧(我最近从中学到的)可以使用

with member measures.MeasureType as
TypeName([Measures].[SomeMeasure])

member measures.ActionTakenOnSomeMeasure as
IIF
 (
  measures.MeasureType = "Double", //Check if the value is double, i.e. Percentage
  [Measures].[SomeMeasure] - ([Date].[Year].currentmember.prevmember, [Measures].[SomeMeasure]),
  ([Measures].[SomeMeasure] - ([Date].[Year].currentmember.prevmember, [Measures].[SomeMeasure]))/([Date].[Year].currentmember.prevmember, [Measures].[SomeMeasure])
 )

select measures.ActionTakenOnSomeMeasure on 0,
[Date].[Year].&[2014]
from [SomeCube]
此外,通常情况下,这些值总是大于1。在这种情况下,您只需在
IIF
子句中额外检查度量值