BUG: Changing Partition's Underlying Fact Table Inadvertently Changes Column Name (240103)



The information in this article applies to:

  • Microsoft SQL Server OLAP Services 7.0

This article was previously published under Q240103
BUG #: 513 (plato7x)

SYMPTOMS

Changing a partition's underlying fact table may change a column name if the column name is the same name as the original fact table name. Processing the partition fails and the following error appears:
ODBC error: Invalid column name <new fact table name>

WORKAROUND

Avoid having a measure column name that has the same name as the fact table.

Changing the fact table for the cube to the new fact table may also fix the problem.

STATUS

Microsoft has confirmed that this is a problem in SQL Server OLAP Services version 7.0.

MORE INFORMATION

If you have a fact table named store_sales that has a column named store_sales on which you have measure defined, while processing it sends something like following to the relational db:
SELECT "customer"."customer_id", "product"."product_name", "store"."store_country", "store"."store_state", "store"."store_city", "store"."store_name", "store_sales"."store_sales" FROM "store_sales", "customer", "product", "store" WHERE ("store_sales"."customer_id"="customer"."customer_id") AND ("store_sales"."product_id"="product"."product_id") AND ("store_sales"."store_id"="store"."store_id")
				
If you change the underlying fact table to be sales_fact_1997, the following query is sent to the relational db:
SELECT "customer"."customer_id", "product"."product_name", "store"."store_country", "store"."store_state", "store"."store_city", "store"."store_name", "sales_fact_1997"."sales_fact_1997" FROM "sales_fact_1997", "customer", "product", "store" WHERE ("sales_fact_1997"."customer_id"="customer"."customer_id") AND ("sales_fact_1997"."product_id"="product"."product_id") AND ("sales_fact_1997"."store_id"="store"."store_id")
				
which fails with:
ODBC error: Invalid column name 'sales_fact_1997'
Notice that "store_sales"."store_sales" is changed to "sales_fact_1997"."sales_fact_1997" instead of "sales_fact_1997"."store_sales"

After you change the underlying fact table for a partition, the cube's fact table remains unchanged.

Modification Type:MajorLast Reviewed:10/16/2003
Keywords:kbBug kbpending KB240103