Please start any new threads on our new
site at https://forums.sqlteam.com. We've got lots of great SQL Server
experts to answer whatever question you can come up with.
Author |
Topic |
dbradish
Starting Member
24 Posts |
Posted - 2009-07-02 : 13:08:28
|
The referential integrity in my SQL 2008 ENT database (x86 server) will not allow orphaned child records so this is not possible. Just for kicks, however, I've run various SELECTs and found the supposed missing key every time. I've also double checked my DIM and FACT table keys, and every FACT foreign key has a parent DIM key as expected. Because my "Attribute not found" doesn't keep occurring on the same table (sometimes it thinks I'm missing a part, customer or order line), and I know my data is clean, I think this problem is internal to SSAS.In reading various blogs, I've taken the following steps:1. Successfully processed each dimension separately2. Dropped and recreated my partitions3. Built a brand new test cube with one FACT table and 3 DIM tables (all found in the original cube so I'm using the same data).The error persists. The only thing I can think of is that we recently installed SQL 2008 SP2 (prod ver 10.0.2531.0); however, my cube also receives new data every day so there is > 1 change.I'm open to suggestions.********************************Error Message 3:Errors in the OLAP storage engine: The attribute key cannot be found when processing: Table: 'dbo_FactOrderLineBooking', Column: 'olb_ditmID', Value: '41746'. The attribute is 'ditm_Id'. Errors in the OLAP storage engine: The record was skipped because the attribute key was not found. Attribute: ditm_Id of Dimension: Part from Database: JobCube, Cube: JobCube, Measure Group: Fact Bookings, Partition: Fact Order Line Booking, Record: 1306318.Server: The operation has been cancelled. Errors in the OLAP storage engine: An error occurred while processing the 'Fact Order Line Booking' partition of the 'Fact Bookings' measure group for the 'JobCube' cube from the JobCube database.Errors in the OLAP storage engine: The attribute key cannot be found when processing: Table: 'dbo_FactOrderLineBooking', Column: 'olb_ditmID', Value: '41746'. The attribute is 'ditm_Id'. Errors in the OLAP storage engine: The record was skipped because the attribute key was not found. Attribute: ditm_Id of Dimension: Part from Database: JobCube, Cube: JobCube, Measure Group: Fact Bookings, Partition: Fact Order Line Booking, Record: 1306318. Errors in the OLAP storage engine: The process operation ended because the number of errors encountered during processing reached the defined limit of allowable errors for the operation. Errors in the OLAP storage engine: An error occurred while processing the 'Fact Order Line Booking' partition of the 'Fact Bookings' measure group for the 'JobCube' cube from the JobCube database. |
|
visakh16
Very Important crosS Applying yaK Herder
52326 Posts |
Posted - 2009-07-02 : 14:11:21
|
what does this return?select *from dbo_FactOrderLineBooking finner join Part don d.ditm_Id=f.olb_ditmIDwhere f.olb_ditmID=41746 |
 |
|
visakh16
Very Important crosS Applying yaK Herder
52326 Posts |
Posted - 2009-07-02 : 14:15:58
|
also seehttp://toddmcdermid.blogspot.com/2009/01/ssas-quick-reference-attribute-key.html |
 |
|
dbradish
Starting Member
24 Posts |
Posted - 2009-07-02 : 14:32:08
|
Q1: Your SELECT returns the key that is supposed to be missing. On subsequent processes, I'll get a different table name or key value but the key can be found in my DIM table every time. Foreign key constraints are set up via table design.Add'l Notes: 1. No FACT or DIM columns allow NULL values (the -1 logic is used) and table design enforces no NULL values. 2. Only Surrogate keys are used for ID values. No exceptions. 3. The FACT table I'm testing with has < 3 million rowsTodd McDermid's Blog is excellent. I'm looking into collation.Thanks for the response! Any more thoughts? My next steps are to 1.) move to a x64 server and 2.) create another test cube from scratch including DSV but keep same warehouse tables |
 |
|
|
|
|
|
|