使用olap4j Api获取Mdx中维度的根级别

时间:2012-07-16 12:23:09

标签: mondrian olap4j


我有一个问题,真的杀了我。 BTW我是Mdx的新手,并使用olap4j Api构建MDX查询。我的问题在于根元素,以下是代码片段:

     Query myQuery = new Query("Generated Query", sales); // where sales is an object of type cube.
QueryDimension productDimension = myQuery.getDimension("Product");

所以现在我有一个使用尺寸Product的对象。当我将[Product].[All Products]添加到轴时,我希望像productDimension这样的东西成为MdxQuery的一部分。我可以对[All Products]进行硬编码,但如果传递的dimensionName不是Product,那么说Stores就是个问题。所以我想要的是,是否可以获取某些东西得到像[所有产品]或[所有商店]或[明确的措施]这样的名称,它等同于[All Measures]动态使用olap4j?

PS:这是一个方法,它接受维度名称并返回维度的第一个成员,如[Product]。[All Products]如果产品通过或[Measures]。[所有度量/一些度量]如果度量通过。

1 个答案:

答案 0 :(得分:1)

我能够弄清楚如何获得根元素要获得像All Products或基本上所有成员名称的东西,那么我需要做一些事情,如下所示:

说,我想要productDimension的所有成员名称[产品的Dimension类型的对象]然后,

   Member allMember = productDimension.getDimension().getDefaultHierarchy().getRootMembers().get(0);

   productDimension.include(Selection.Operator.MEMBER, allMember);

通过这样做,allMember将成为Mdx查询的一部分。