I'm trying to create and process a cube using the Decesion Support Objects (DSO). The situation is this: Cube Design: Fact table: Client. Used for distinct counts. Number of clients being our measure. Dimension: Ethnicity. The ethnicity is also stored in the client table but as a code. The code translates into a human readable text in the "EthnicityTypes" table. What I'd like to have happen: I'd like to have an ethnicity dimension that shows the text as opposed to the code. Approach so far: dimension = (DSO.Dimension)database.Dimensions.AddNew("EthnicityDesc", DSO.SubClassTypes.sbclsRegular); dimension.DataSource = dataSource; dimension.FromClause="cmClient, cmComboBoxItem"; dimension.JoinClause="cmClient.Ethnicity = cmComboBoxItem.item AND cmComboBoxItem.combobox='ethnicity' AND cmComboBoxItem='CMCLN'"; /* The cmComboBoxItem table contains lots of different values used to translate codes to text. The filter here combobox='ethnicity' and 'CMCLN' are used to make sure that we're just joining to ethnicity codes. */ lvl = (DSO.Level)dimension.Levels.AddNew("EthnicityDesc", DSO.SubClassTypes.sbclsRegular); lvl.MemberKeyColumn=""cmComboBoxItem"."item"";//Code lvl.MemberNameColumn=""cmComboBoxItem"."itemDesc"";//Text Description lvl.ColumnSize = 10; lvl.ColumnType = 130; lvl.EstimatedSize=1; dimension.Update(); Error Message: A table was detected in the schema that is not joined to any other table. Any help is greatly appreciated... been beating my head on the wall here.