This is a performance optimization to remove unnecessary attributes from the output levels of the intermediate branches of the Table Join Tree for CSI. This optimization does not have any impact/change on the final data produced on the visualization.
SYMPTOM:
Sample CSI Before Optimization:
Tables Accessed: Table38 [L_SUBCATEGORY]: Subcategory, LOOKUP_TABLE Table112 [REL_QUARTER_MONTH]: Quarter, Month, RELATIONSHIP_TABLE, ONE_TO_MANY Table113 [REL_YEAR_QUARTER]: Year, Quarter, RELATIONSHIP_TABLE, ONE_TO_MANY Table115 [REL_CATEGORY_SUBCATEGORY]: Category, Subcategory, RELATIONSHIP_TABLE, ONE_TO_MANY Table116 [REL_MONTH_DAY]: Month, Day, RELATIONSHIP_TABLE, ONE_TO_MANY Table148 [F_TEST_DAY_SUBCAT_COST]: Subcategory, Day, Cost, FACT_TABLE Table154 [F_TMP_YR_CATEGORY_REVENUE]: Category, Year, Revenue1, FACT_TABLE select [Subcategory]@[SUBCAT_ID], [Subcategory]@[SUBCAT_DESC], [Day]@[DAY_DATE], [[F_TEST_DAY_SUBCAT_COST].Cost] as [Cost] from Tutorial Cube with Table Join Tree: [F_TEST_DAY_SUBCAT_COST] Join [REL_CATEGORY_SUBCATEGORY] with output level Tuple([Category]@[CATEGORY_ID], [Day]@[DAY_DATE], [Subcategory]@[SUBCAT_ID]) Join [REL_MONTH_DAY] with output level Tuple([Category]@[CATEGORY_ID], [Day]@[DAY_DATE], [Month]@[MONTH_ID], [Subcategory]@[SUBCAT_ID]) Join [REL_QUARTER_MONTH] with output level Tuple([Category]@[CATEGORY_ID], [Day]@[DAY_DATE], [Month]@[MONTH_ID], [Quarter]@[QUARTER_ID], [Subcategory]@[SUBCAT_ID]) Join [REL_YEAR_QUARTER] with output level Tuple([Category]@[CATEGORY_ID], [Day]@[DAY_DATE], [Subcategory]@[SUBCAT_ID], [Year]@[YEAR_ID]) Join [F_TMP_YR_CATEGORY_REVENUE]<[[F_TMP_YR_CATEGORY_REVENUE].Revenue1] > 1000.0> with output level Tuple([Day]@[DAY_DATE], [Subcategory]@[SUBCAT_ID]) [Analytical engine calculation steps: 1. Perform cross-tabbing ]
Tables Accessed: Table38 [L_SUBCATEGORY]: Subcategory, LOOKUP_TABLE Table112 [REL_QUARTER_MONTH]: Quarter, Month, RELATIONSHIP_TABLE, ONE_TO_MANY Table113 [REL_YEAR_QUARTER]: Year, Quarter, RELATIONSHIP_TABLE, ONE_TO_MANY Table115 [REL_CATEGORY_SUBCATEGORY]: Category, Subcategory, RELATIONSHIP_TABLE, ONE_TO_MANY Table116 [REL_MONTH_DAY]: Month, Day, RELATIONSHIP_TABLE, ONE_TO_MANY Table148 [F_TEST_DAY_SUBCAT_COST]: Subcategory, Day, Cost, FACT_TABLE Table154 [F_TMP_YR_CATEGORY_REVENUE]: Category, Year, Revenue1, FACT_TABLE select [Subcategory]@[SUBCAT_ID], [Subcategory]@[SUBCAT_DESC], [Day]@[DAY_DATE], [[F_TEST_DAY_SUBCAT_COST].Cost] as [Cost] from Tutorial Cube with Table Join Tree: [F_TEST_DAY_SUBCAT_COST] Join [REL_CATEGORY_SUBCATEGORY] with output level Tuple([Category]@[CATEGORY_ID], [Day]@[DAY_DATE], [Subcategory]@[SUBCAT_ID]) Join [REL_MONTH_DAY] with output level Tuple([Category]@[CATEGORY_ID], [Day]@[DAY_DATE], [Month]@[MONTH_ID], [Subcategory]@[SUBCAT_ID]) Join [REL_QUARTER_MONTH] with output level Tuple([Category]@[CATEGORY_ID], [Day]@[DAY_DATE], [Quarter]@[QUARTER_ID], [Subcategory]@[SUBCAT_ID]) Join [REL_YEAR_QUARTER] with output level Tuple([Category]@[CATEGORY_ID], [Day]@[DAY_DATE], [Subcategory]@[SUBCAT_ID], [Year]@[YEAR_ID]) Join [F_TMP_YR_CATEGORY_REVENUE]<[[F_TMP_YR_CATEGORY_REVENUE].Revenue1] > 1000.0> with output level Tuple([Day]@[DAY_DATE], [Subcategory]@[SUBCAT_ID]) [Analytical engine calculation steps: 1. Perform cross-tabbing ]