I would really appreciate if you could give us your input for following design, I am having hard time to visualize the cube design.
I have a fact table and dimension tables as follows with rows.
CREATE TABLE [dbo].[Fact_ProductOwnership](
[OrgID] [int] NULL,
[SegmentID] [int] NULL,
[SubSegmentID] [int] NULL,
[ProductID] [int] NOT NULL
) ON [PRIMARY]
Segment table rows
CREATE TABLE [dbo].[Segment](
[ID] [int] NULL,
[SegmentName] [varchar](20) NULL
) ON [PRIMARY]
ID SegmentName
1 Enterprize
2 Small Business
SubgSegment table and Rows
CREATE TABLE [dbo].[SubSegment](
[ID] [int] NULL,
[SubSegmentName] [varchar](20) NULL
) ON [PRIMARY]
ID SubSegmentName
1 Enterprize
2 Small Business
Product table and Rows
CREATE TABLE [dbo].[Products](
[ID] [int] IDENTITY(1,1) NOT NULL,
[ProductDesc] [varchar](20) NULL
) ON [PRIMARY]
ID ProductDesc
1 Access_Yes
2 Access_No
3 Excel_Yes
4 Excel_No
5 SqlServer_Yes
6 SqlServer_No
What I would like achieve from above design is to get the list orgs for the following scenarios
1) Show the companies who owns Access_Yes & Excel_No
Above should display 2 orgs (1 and 2 qualify for this scenario)
2) Show the companies who owns SqlServer_yes & SqlServer_Ye
Above query should display 0 orgs(no org qualifies)
Could you please suggest me thtat is my above design wrong or is it too hard to ahieve from cube? Is there any alogorithm this can solve above problem ?
I would really appreciate if you could answer to above problem ?
You can design your cube with dimensions for Org and Product (and optionally Segment and SubSegment) and then create a row count measure. Then you would query for Orgs and use NONEMPTYCROSSJOIN to filter by products.
Something like:
SELECT NONEMPTYCROSSJOIN(NONEMPTYCROSSJOIN([Org].Members, {[Product].[Access_Yes]}, 1) {[Product].[Excel_No], 1) ON COLUMNS,
{} ON ROWS
FROM [MyCube]
No comments:
Post a Comment