我使用sql Table为SSAS Cube中的值生成每个维度的过滤器。
MDX查询基于下面的列查询,计算成员是:
@Bean
@Primary
@ConditionalOnClass(weblogic.xml.saaj.MessageFactoryImpl.class)
public SoapMessageFactory messageFactory() {
return new weblogic.xml.saaj.MessageFactoryImpl();
}
我必须使用Excel中的数据透视表。它完美地工作,值正确地过滤每个维度成员。如果我使用这样的查询,那就没问题。
AGGREGATE
(
IIF(Query= "" or ISEMPTY(Query),
[Code].[_KeyQuery].[ALL],
StrToTuple('('+ Query+')')
),[Measures].[Value]
)
但现在我需要添加过滤多维度成员的可能性。例如,使用查询:
[Level].[LevelCode].&[A],[Status].[StatusCode].&[ST]
它不起作用,我尝试更改这样的查询:
[Level].[LevelCode].&[A],[Level].[LevelCode].&[X],[Status].[StatusCode].&[ST]
但StrToTuple()函数会导致错误。我不知道如何为同一维度层次结构过滤多个值。
答案 0 :(得分:0)
如果它总是一个元组,那么不需要使用AGGREGATE只需要一个元组返回值:
generate-json-webpack-plugin
或者这个版本:
IIF(
Query= "" OR ISEMPTY(Query),
(
[Code].[_KeyQuery].[ALL]
,[Measures].[Value]
)
,StrToTuple('('+ Query +',[Measures].[Value])')
)
在元组和集合之间做出决定的可能方法
向控制表“TupleOrSet”添加一列,其值为“T”或“S”。然后你可以修改你的代码:
StrToTuple(
'('
+ IIF(
Query= "" OR ISEMPTY(Query)
,[Code].[_KeyQuery].[ALL]
,Query
)
+',[Measures].[Value])'
)
注意
元组是立方体空间中的一个确定点,因此不能由同一层次结构中的两个成员组成 - 这将创建非决定性的坐标