2016-08-30 1 views
2

IcCubeは、フラットソースから不整形階層をサポートしていますか?これは通常、階層レベル(あなたはメンバーが親と同じであれば非表示にするように設定することができます)IcCube + Ragged階層

マイクロソフトバージョン(と私が現在使用している)の「HideMemberIf」プロパティを実装しています:https://msdn.microsoft.com/en-AU/library/ms365406.aspx

--edit 1 --- ここでは、9レベルスキーマの3レベル階層の例を示します。利点は、まっすぐである必要があり、それに

PortfolioKey,PortfolioLevel1Key,PortfolioLevel1Name,PortfolioLevel1Label,PortfolioLevel2Key,PortfolioLevel2Name,PortfolioLevel2Label,PortfolioLevel3Key,PortfolioLevel3Name,PortfolioLevel3Label,PortfolioLevel4Key,PortfolioLevel4Name,PortfolioLevel4Label,PortfolioLevel5Key,PortfolioLevel5Name,PortfolioLevel5Label,PortfolioLevel6Key,PortfolioLevel6Name,PortfolioLevel6Label,PortfolioLevel7Key,PortfolioLevel7Name,PortfolioLevel7Label,PortfolioLevel8Key,PortfolioLevel8Name,PortfolioLevel8Label,PortfolioLevel9Key,PortfolioLevel9Name,PortfolioLevel9Label 
7,100001,Non-Perishable,Category,200001,Condiment,Sub Category,300007,Pepper,Product,400007,Pepper,Product,500007,Pepper,Product,600007,Pepper,Product,700007,Pepper,Product,800007,Pepper,Product,900007,Pepper,Product 
8,100001,Non-Perishable,Category,200001,Condiment,Sub Category,300008,Salt,Product,400008,Salt,Product,500008,Salt,Product,600008,Salt,Product,700008,Salt,Product,800008,Salt,Product,900008,Salt,Product 
5,100001,Non-Perishable,Category,200002,Soup,Sub Category,300005,Chicken,Product,400005,Chicken,Product,500005,Chicken,Product,600005,Chicken,Product,700005,Chicken,Product,800005,Chicken,Product,900005,Chicken,Product 
6,100001,Non-Perishable,Category,200002,Soup,Sub Category,300006,Vegetable,Product,400006,Vegetable,Product,500006,Vegetable,Product,600006,Vegetable,Product,700006,Vegetable,Product,800006,Vegetable,Product,900006,Vegetable,Product 
1,100002,Perishable,Category,200003,Dairy,Sub Category,300001,Cheese,Product,400001,Cheese,Product,500001,Cheese,Product,600001,Cheese,Product,700001,Cheese,Product,800001,Cheese,Product,900001,Cheese,Product 
2,100002,Perishable,Category,200003,Dairy,Sub Category,300002,Milk,Product,400002,Milk,Product,500002,Milk,Product,600002,Milk,Product,700002,Milk,Product,800002,Milk,Product,900002,Milk,Product 
3,100002,Perishable,Category,200004,Fruit,Sub Category,300003,Apple,Product,400003,Apple,Product,500003,Apple,Product,600003,Apple,Product,700003,Apple,Product,800003,Apple,Product,900003,Apple,Product 
4,100002,Perishable,Category,200004,Fruit,Sub Category,300004,Orange,Product,400004,Orange,Product,500004,Orange,Product,600004,Orange,Product,700004,Orange,Product,800004,Orange,Product,900004,Orange,Product 

答えて

2

をロードされている階層のハードコードされた属性とレベル識別子は関係なく単純なMDXのCALCSを意味していないどのような種類です。

:我々のデータソースは、(各列がレベルである)このように定義することができます

Europe 
     Monaco (no country) 
    Spain 
     Madrid 
    France 
     Paris 

のは、(例のために)国せずに都市として例示のためモナコでのジオ寸法を見てみましょう

Continent,Country,City 
Europe,Spain,Madrid 
Europe,France,Paris 
Europe,,Monaco 

モナコの国は空です。

今、あなたのマルチレベルの階層を作成し、ぼろぼろバージョン(モナコの親は、ヨーロッパで)見ることができます:

icCube Ragged Dimension

+0

OK、そうヌル/空の両親を。モナコのレベル序数は何ですか? IsLeaf()は機能しますか?問題は、固定スキーマを持つ計算エンジンとしてキューブを使用することです。 「親と同じなら無視する」ということは、3つのハードコードされたレベルを持つスキーマにロードすることができ、レベル4+が存在しないかのようにキューブが動作することです(たとえば、IsLeaf()はレベル3 )。また、フロントエンド/レポートでレベル1〜9のラベルを持つ属性があるため、データヘッダーがHierarchyLevel [1-9]として表示されないようになっているので、それがどのようにブランキングで動作するかはわかりません両親... – jkmelbs

+0

レベル序数は都市の1つになり、leaf()は動作します。 icCubeでは、元のテーブルにjavascriptビューを作成して、これを「親と同じ場合は無視する」という動作をシミュレートすることができます...問題を完全に理解しているかどうかわかりません – ic3

+0

ロジックはisleaf()私は既知の/ハードコードされた「トップ」レベル(例:あなたの例では大陸)からのインデックスでレベルを参照できる必要があります。私のsrcデータを上記のように使用すると、ポートフォリオレベル1は必要ですが、6を空白にする必要があるため、それは難しいでしょう。だから、MDXキューブの計算では、レベル7は実際にはレベル1であることがわかります.JavaScriptを使用するとどういう意味ですか?変換として?何がテーブルのように見えるでしょうか?私は私の例のデータでポートフォリオレベル4〜9のアトリビュートを空白にしてみましたが、iccubeは 'レベルにメンバーはありません'というエラーを投げました – jkmelbs