2
votes

Does IcCube support ragged hierarchies from a flat source? It's usually implemented with a 'HideMemberIf' property on a hierarchy level (you can set it to hide if member is the same as the parent)

The microsoft version (and what I'm currently using): https://msdn.microsoft.com/en-AU/library/ms365406.aspx

--edit 1--- here's an example of a 3 level hierarchy in the 9 level schema. Benefit is hardcoded attribute and level identifiers mean simpler MDX calcs no matter what kind of hierarchy is loaded into it

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
1

1 Answers

2
votes

It should be straight forward. Let's take for the sake of the example a Geo dimension with Monaco as a city without country (for the sake of the example)

Europe
      Monaco  (no country)
   Spain
      Madrid
   France
      Paris

Our data source can be defined like this (each column is a level) :

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

Note the country for Monaco is just empty.

You can create now your multi-level hierarchy and see the ragged version (Monaco parent is Europe):

icCube Ragged Dimension