0


私は本当に私を殺している問題を抱えています。ところで、私は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]軸に追加するときに、このようなものを MdxQuery の一部にしたいと考えてproductDimensionいます。ハードコードすることはできます[All Products]が、渡されたディメンション名が製品以外の場合、ストアなどの問題になります。だから私が欲しいのは、olap4jを動的に使用して、[すべての製品]または[すべての店舗]または[すべてのメジャー]に相当する[明確なメジャー]のような名前を取得できるかどうかです。

PS: これは、次元名を受け取り、製品が渡された場合は [製品].[すべての製品]、メジャーが渡された場合は [メジャー].[すべてのメジャー/一部のメジャー] のような次元の最初のメンバーを返すメソッドです。

4

1 に答える 1

1

ルート要素を取得する方法を理解することができました。すべての製品または基本的にすべてのメンバー名のようなものを取得するには、以下に示すように何かを行う必要があります。

たとえば、productDimension[product の Dimension 型のオブジェクト] のすべてのメンバー名が必要な場合は、

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

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

そうすることで、allMember は Mdx クエリの一部になります。

于 2012-07-17T05:03:23.057 に答える