我正在尝试编写一个计算成员,该成员将根据轴上提供的选定值沿着维度滚动。
产品 - >子类别 - >类别 lexus - >轿车 - >汽车 lexus-coupe - >轿跑车 - >汽车 宝马 - >轿车 - >汽车 bmw-coupe - >情侣 - >汽车 福特 - >皮卡 - >卡车 chev - >皮卡 - >卡车 ford-suv - > suv - >卡车 lincoln-nav - > suv - >卡车
[计算量度] = [度量]。[a] + [度量]。[b]
假设用户想要在汽车级别看到[计算量度]仅用于lexus-coupe和bmw。如何根据维度中选择的内容创建将在汽车级别汇总的计算度量?
提前谢谢!
答案 0 :(得分:1)
我之前编写过MDX来检查行(或列)上使用的维度,并更改计算度量的方式。这有点乱。
此示例查看轴1(行?)是否正在使用任何度量,并可以相应地更改计算:
IIF(InStr(1, SetToStr(StrToSet("Axis(1)")), "[Measures].") = 0, blah, blah)
不记得我为什么选择了StrToSet,然后是SetToStr,但它确实有效!
您可以使用像InStr()
这样的VBA字符串函数来检查用户在行和列上选择的内容,并相应地调整您的计算成员......