dbTalk Databases Forums  

ProcessAdd on a dimension

microsoft.public.sqlserver.olap microsoft.public.sqlserver.olap


Discuss ProcessAdd on a dimension in the microsoft.public.sqlserver.olap forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
SmartGuy
 
Posts: n/a

Default ProcessAdd on a dimension - 02-22-2006 , 03:30 PM






ProcessAdd seems to work fine using the SSIS data flow component. However on
a larger dataset (59,000 rows) it ALWAYS fails with the following message:

File system error: The record ID is incorrect. Physical file: . Logical
file: . Errors in the OLAP storage engine: An error occurred while the
'CUSIP' attribute of the 'Position' dimension from the 'ODRiskDB' database
was being processed.

Any idea why? If I delete the attribute in question from the cube, it moves
to another attribute.

Thanks,
SmartGuy

Reply With Quote
  #2  
Old   
Edward Melomed [MSFT]
 
Posts: n/a

Default Re: ProcessAdd on a dimension - 02-23-2006 , 12:22 PM






There are quite a few components involved in operation.
Suggest you try troubleshoot them separately.

First take out of equation the pipeline processing.
Try saving result of your transform into a SQL Server table and perform
ProcessAdd based on the table.
If you are still getting error, try and see which record in the table
causing processing to fail...

Edward.
--
This posting is provided "AS IS" with no warranties, and confers no rights


"SmartGuy" <SmartGuy (AT) discussions (DOT) microsoft.com> wrote

Quote:
ProcessAdd seems to work fine using the SSIS data flow component. However
on
a larger dataset (59,000 rows) it ALWAYS fails with the following message:

File system error: The record ID is incorrect. Physical file: . Logical
file: . Errors in the OLAP storage engine: An error occurred while the
'CUSIP' attribute of the 'Position' dimension from the 'ODRiskDB' database
was being processed.

Any idea why? If I delete the attribute in question from the cube, it
moves
to another attribute.

Thanks,
SmartGuy



Reply With Quote
  #3  
Old   
SmartGuy
 
Posts: n/a

Default Re: ProcessAdd on a dimension - 02-23-2006 , 01:03 PM



How do you do a ProcessAdd on a dimension with a table as the source?
--
SmartGuy


"Edward Melomed [MSFT]" wrote:

Quote:
There are quite a few components involved in operation.
Suggest you try troubleshoot them separately.

First take out of equation the pipeline processing.
Try saving result of your transform into a SQL Server table and perform
ProcessAdd based on the table.
If you are still getting error, try and see which record in the table
causing processing to fail...

Edward.
--
This posting is provided "AS IS" with no warranties, and confers no rights


"SmartGuy" <SmartGuy (AT) discussions (DOT) microsoft.com> wrote in message
news:C2D48F6E-201E-4740-AD65-FBC1173C25E4 (AT) microsoft (DOT) com...
ProcessAdd seems to work fine using the SSIS data flow component. However
on
a larger dataset (59,000 rows) it ALWAYS fails with the following message:

File system error: The record ID is incorrect. Physical file: . Logical
file: . Errors in the OLAP storage engine: An error occurred while the
'CUSIP' attribute of the 'Position' dimension from the 'ODRiskDB' database
was being processed.

Any idea why? If I delete the attribute in question from the cube, it
moves
to another attribute.

Thanks,
SmartGuy




Reply With Quote
  #4  
Old   
Edward Melomed [MSFT]
 
Posts: n/a

Default Re: ProcessAdd on a dimension - 02-23-2006 , 01:17 PM



Something like:

<Batch xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
<Parallel>
<Process xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Object>
<DatabaseID>FoodMart</DatabaseID>
<DimensionID>MyDimension</DimensionID>
</Object>
<Type>ProcessAdd</Type>
</Process>
</Parallel>
<Bindings>
<Binding>
<DatabaseID>FoodMart</DatabaseID>
<DimensionID>MyDimension</DimensionID>
<Source xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="TableBinding">
<DataSourceID>My Datasource ID</DataSourceID>
<DbSchemaName>dbo</DbSchemaName>
<DbTableName>MyTable</DbTableName>
</Source>
</Binding>
</Bindings>
</Batch>



"SmartGuy" <SmartGuy (AT) discussions (DOT) microsoft.com> wrote

Quote:
How do you do a ProcessAdd on a dimension with a table as the source?
--
SmartGuy


"Edward Melomed [MSFT]" wrote:

There are quite a few components involved in operation.
Suggest you try troubleshoot them separately.

First take out of equation the pipeline processing.
Try saving result of your transform into a SQL Server table and perform
ProcessAdd based on the table.
If you are still getting error, try and see which record in the table
causing processing to fail...

Edward.
--
This posting is provided "AS IS" with no warranties, and confers no
rights


"SmartGuy" <SmartGuy (AT) discussions (DOT) microsoft.com> wrote in message
news:C2D48F6E-201E-4740-AD65-FBC1173C25E4 (AT) microsoft (DOT) com...
ProcessAdd seems to work fine using the SSIS data flow component.
However
on
a larger dataset (59,000 rows) it ALWAYS fails with the following
message:

File system error: The record ID is incorrect. Physical file: . Logical
file: . Errors in the OLAP storage engine: An error occurred while the
'CUSIP' attribute of the 'Position' dimension from the 'ODRiskDB'
database
was being processed.

Any idea why? If I delete the attribute in question from the cube, it
moves
to another attribute.

Thanks,
SmartGuy






Reply With Quote
  #5  
Old   
SmartGuy
 
Posts: n/a

Default Re: ProcessAdd on a dimension - 02-23-2006 , 01:56 PM



Wow, awsome sample. How about if I wanted to add a where clause?
--
SmartGuy


"Edward Melomed [MSFT]" wrote:

Quote:
Something like:

Batch xmlns="http://schemas.microsoft.com/analysisservices/2003/engine"
Parallel
Process xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
Object
DatabaseID>FoodMart</DatabaseID
DimensionID>MyDimension</DimensionID
/Object
Type>ProcessAdd</Type
/Process
/Parallel
Bindings
Binding
DatabaseID>FoodMart</DatabaseID
DimensionID>MyDimension</DimensionID
Source xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="TableBinding"
DataSourceID>My Datasource ID</DataSourceID
DbSchemaName>dbo</DbSchemaName
DbTableName>MyTable</DbTableName
/Source
/Binding
/Bindings
/Batch



"SmartGuy" <SmartGuy (AT) discussions (DOT) microsoft.com> wrote in message
news:C2D9C69A-015F-4245-B75B-F5AD53740E65 (AT) microsoft (DOT) com...
How do you do a ProcessAdd on a dimension with a table as the source?
--
SmartGuy


"Edward Melomed [MSFT]" wrote:

There are quite a few components involved in operation.
Suggest you try troubleshoot them separately.

First take out of equation the pipeline processing.
Try saving result of your transform into a SQL Server table and perform
ProcessAdd based on the table.
If you are still getting error, try and see which record in the table
causing processing to fail...

Edward.
--
This posting is provided "AS IS" with no warranties, and confers no
rights


"SmartGuy" <SmartGuy (AT) discussions (DOT) microsoft.com> wrote in message
news:C2D48F6E-201E-4740-AD65-FBC1173C25E4 (AT) microsoft (DOT) com...
ProcessAdd seems to work fine using the SSIS data flow component.
However
on
a larger dataset (59,000 rows) it ALWAYS fails with the following
message:

File system error: The record ID is incorrect. Physical file: . Logical
file: . Errors in the OLAP storage engine: An error occurred while the
'CUSIP' attribute of the 'Position' dimension from the 'ODRiskDB'
database
was being processed.

Any idea why? If I delete the attribute in question from the cube, it
moves
to another attribute.

Thanks,
SmartGuy







Reply With Quote
  #6  
Old   
Edward Melomed [MSFT]
 
Posts: n/a

Default Re: ProcessAdd on a dimension - 02-23-2006 , 02:58 PM



Use what is called Query Binding.

The source section will look as:

<Source xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="QueryBinding">
<DataSourceID>My Datasource ID</DataSourceID>
<QueryDefinition>Select * from MyTable where ProductID =
MyProduct</QueryDefinition>
</Source>

Edward.
--
This posting is provided "AS IS" with no warranties, and confers no rights



"SmartGuy" <SmartGuy (AT) discussions (DOT) microsoft.com> wrote

Quote:
Wow, awsome sample. How about if I wanted to add a where clause?
--
SmartGuy


"Edward Melomed [MSFT]" wrote:

Something like:

Batch xmlns="http://schemas.microsoft.com/analysisservices/2003/engine"
Parallel
Process xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
Object
DatabaseID>FoodMart</DatabaseID
DimensionID>MyDimension</DimensionID
/Object
Type>ProcessAdd</Type
/Process
/Parallel
Bindings
Binding
DatabaseID>FoodMart</DatabaseID
DimensionID>MyDimension</DimensionID
Source xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="TableBinding"
DataSourceID>My Datasource ID</DataSourceID
DbSchemaName>dbo</DbSchemaName
DbTableName>MyTable</DbTableName
/Source
/Binding
/Bindings
/Batch



"SmartGuy" <SmartGuy (AT) discussions (DOT) microsoft.com> wrote in message
news:C2D9C69A-015F-4245-B75B-F5AD53740E65 (AT) microsoft (DOT) com...
How do you do a ProcessAdd on a dimension with a table as the source?
--
SmartGuy


"Edward Melomed [MSFT]" wrote:

There are quite a few components involved in operation.
Suggest you try troubleshoot them separately.

First take out of equation the pipeline processing.
Try saving result of your transform into a SQL Server table and
perform
ProcessAdd based on the table.
If you are still getting error, try and see which record in the table
causing processing to fail...

Edward.
--
This posting is provided "AS IS" with no warranties, and confers no
rights


"SmartGuy" <SmartGuy (AT) discussions (DOT) microsoft.com> wrote in message
news:C2D48F6E-201E-4740-AD65-FBC1173C25E4 (AT) microsoft (DOT) com...
ProcessAdd seems to work fine using the SSIS data flow component.
However
on
a larger dataset (59,000 rows) it ALWAYS fails with the following
message:

File system error: The record ID is incorrect. Physical file: .
Logical
file: . Errors in the OLAP storage engine: An error occurred while
the
'CUSIP' attribute of the 'Position' dimension from the 'ODRiskDB'
database
was being processed.

Any idea why? If I delete the attribute in question from the cube,
it
moves
to another attribute.

Thanks,
SmartGuy









Reply With Quote
  #7  
Old   
SmartGuy
 
Posts: n/a

Default Re: ProcessAdd on a dimension - 02-23-2006 , 03:51 PM



I can't get that to work. I thought the bindings only worked for measure
processAdd, and that the dimension processAdd you had to create a datasource
view like this:

<Process xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
<Object>
<DatabaseID>ODRiskDB</DatabaseID>
<DimensionID>Position</DimensionID>
</Object>
<Type>ProcessAdd</Type>
<DataSourceView>
<ID>ODRTemp</ID>
<Name>ODRTemp</Name>
<DataSourceID>ODRTemp</DataSourceID>
<Schema>
<xs:schema id="ODRisk" xmlns=""
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"
xmlns:msprop="urn:schemas-microsoft-com:xml-msprop">
<xs:element name="ODRisk" msprop:QueryDefinition="select * from test">
</xs:element>
</xs:schema>
</Schema>
</DataSourceView>
</Process>

--
SmartGuy


"Edward Melomed [MSFT]" wrote:

Quote:
Use what is called Query Binding.

The source section will look as:

Source xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="QueryBinding"
DataSourceID>My Datasource ID</DataSourceID
QueryDefinition>Select * from MyTable where ProductID =
MyProduct</QueryDefinition
/Source

Edward.
--
This posting is provided "AS IS" with no warranties, and confers no rights



"SmartGuy" <SmartGuy (AT) discussions (DOT) microsoft.com> wrote in message
news:A9F047E4-BE7E-4DA0-B9E4-710B0A23BFFD (AT) microsoft (DOT) com...
Wow, awsome sample. How about if I wanted to add a where clause?
--
SmartGuy


"Edward Melomed [MSFT]" wrote:

Something like:

Batch xmlns="http://schemas.microsoft.com/analysisservices/2003/engine"
Parallel
Process xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
Object
DatabaseID>FoodMart</DatabaseID
DimensionID>MyDimension</DimensionID
/Object
Type>ProcessAdd</Type
/Process
/Parallel
Bindings
Binding
DatabaseID>FoodMart</DatabaseID
DimensionID>MyDimension</DimensionID
Source xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="TableBinding"
DataSourceID>My Datasource ID</DataSourceID
DbSchemaName>dbo</DbSchemaName
DbTableName>MyTable</DbTableName
/Source
/Binding
/Bindings
/Batch



"SmartGuy" <SmartGuy (AT) discussions (DOT) microsoft.com> wrote in message
news:C2D9C69A-015F-4245-B75B-F5AD53740E65 (AT) microsoft (DOT) com...
How do you do a ProcessAdd on a dimension with a table as the source?
--
SmartGuy


"Edward Melomed [MSFT]" wrote:

There are quite a few components involved in operation.
Suggest you try troubleshoot them separately.

First take out of equation the pipeline processing.
Try saving result of your transform into a SQL Server table and
perform
ProcessAdd based on the table.
If you are still getting error, try and see which record in the table
causing processing to fail...

Edward.
--
This posting is provided "AS IS" with no warranties, and confers no
rights


"SmartGuy" <SmartGuy (AT) discussions (DOT) microsoft.com> wrote in message
news:C2D48F6E-201E-4740-AD65-FBC1173C25E4 (AT) microsoft (DOT) com...
ProcessAdd seems to work fine using the SSIS data flow component.
However
on
a larger dataset (59,000 rows) it ALWAYS fails with the following
message:

File system error: The record ID is incorrect. Physical file: .
Logical
file: . Errors in the OLAP storage engine: An error occurred while
the
'CUSIP' attribute of the 'Position' dimension from the 'ODRiskDB'
database
was being processed.

Any idea why? If I delete the attribute in question from the cube,
it
moves
to another attribute.

Thanks,
SmartGuy










Reply With Quote
  #8  
Old   
Edward Melomed [MSFT]
 
Posts: n/a

Default Re: ProcessAdd on a dimension - 02-23-2006 , 04:50 PM



I need to double check that. You might be right.
Here is another source information for you:
http://msdn.microsoft.com/library/de...asprocarch.asp

Edward.
--
This posting is provided "AS IS" with no warranties, and confers no rights


"SmartGuy" <SmartGuy (AT) discussions (DOT) microsoft.com> wrote

Quote:
I can't get that to work. I thought the bindings only worked for measure
processAdd, and that the dimension processAdd you had to create a
datasource
view like this:

Process
xmlns="http://schemas.microsoft.com/analysisservices/2003/engine"
Object
DatabaseID>ODRiskDB</DatabaseID
DimensionID>Position</DimensionID
/Object
Type>ProcessAdd</Type
DataSourceView
ID>ODRTemp</ID
Name>ODRTemp</Name
DataSourceID>ODRTemp</DataSourceID
Schema
xs:schema id="ODRisk" xmlns=""
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"
xmlns:msprop="urn:schemas-microsoft-com:xml-msprop"
xs:element name="ODRisk" msprop:QueryDefinition="select * from test"
/xs:element
/xs:schema
/Schema
/DataSourceView
/Process

--
SmartGuy


"Edward Melomed [MSFT]" wrote:

Use what is called Query Binding.

The source section will look as:

Source xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="QueryBinding"
DataSourceID>My Datasource ID</DataSourceID
QueryDefinition>Select * from MyTable where ProductID =
MyProduct</QueryDefinition
/Source

Edward.
--
This posting is provided "AS IS" with no warranties, and confers no
rights



"SmartGuy" <SmartGuy (AT) discussions (DOT) microsoft.com> wrote in message
news:A9F047E4-BE7E-4DA0-B9E4-710B0A23BFFD (AT) microsoft (DOT) com...
Wow, awsome sample. How about if I wanted to add a where clause?
--
SmartGuy


"Edward Melomed [MSFT]" wrote:

Something like:

Batch
xmlns="http://schemas.microsoft.com/analysisservices/2003/engine"
Parallel
Process xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
Object
DatabaseID>FoodMart</DatabaseID
DimensionID>MyDimension</DimensionID
/Object
Type>ProcessAdd</Type
/Process
/Parallel
Bindings
Binding
DatabaseID>FoodMart</DatabaseID
DimensionID>MyDimension</DimensionID
Source xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="TableBinding"
DataSourceID>My Datasource ID</DataSourceID
DbSchemaName>dbo</DbSchemaName
DbTableName>MyTable</DbTableName
/Source
/Binding
/Bindings
/Batch



"SmartGuy" <SmartGuy (AT) discussions (DOT) microsoft.com> wrote in message
news:C2D9C69A-015F-4245-B75B-F5AD53740E65 (AT) microsoft (DOT) com...
How do you do a ProcessAdd on a dimension with a table as the
source?
--
SmartGuy


"Edward Melomed [MSFT]" wrote:

There are quite a few components involved in operation.
Suggest you try troubleshoot them separately.

First take out of equation the pipeline processing.
Try saving result of your transform into a SQL Server table and
perform
ProcessAdd based on the table.
If you are still getting error, try and see which record in the
table
causing processing to fail...

Edward.
--
This posting is provided "AS IS" with no warranties, and confers no
rights


"SmartGuy" <SmartGuy (AT) discussions (DOT) microsoft.com> wrote in message
news:C2D48F6E-201E-4740-AD65-FBC1173C25E4 (AT) microsoft (DOT) com...
ProcessAdd seems to work fine using the SSIS data flow component.
However
on
a larger dataset (59,000 rows) it ALWAYS fails with the following
message:

File system error: The record ID is incorrect. Physical file: .
Logical
file: . Errors in the OLAP storage engine: An error occurred
while
the
'CUSIP' attribute of the 'Position' dimension from the 'ODRiskDB'
database
was being processed.

Any idea why? If I delete the attribute in question from the
cube,
it
moves
to another attribute.

Thanks,
SmartGuy












Reply With Quote
  #9  
Old   
SmartGuy
 
Posts: n/a

Default Re: ProcessAdd on a dimension - 02-24-2006 , 11:50 AM



I've looked at that - thank you for suggesting it. The problem seems to be
that no one has any practical XMLA experience, and there is no solid
documentation with examples on how to use highly touted features such as
ProcessAdd. So the bottom line is that we can't get ProcessAdd working and
MS support can't help.

Very frustrating.
--
SmartGuy


"Edward Melomed [MSFT]" wrote:

Quote:
I need to double check that. You might be right.
Here is another source information for you:
http://msdn.microsoft.com/library/de...asprocarch.asp

Edward.
--
This posting is provided "AS IS" with no warranties, and confers no rights


"SmartGuy" <SmartGuy (AT) discussions (DOT) microsoft.com> wrote in message
news:F1B09626-AAD1-470D-A8E6-58BCB15B0515 (AT) microsoft (DOT) com...
I can't get that to work. I thought the bindings only worked for measure
processAdd, and that the dimension processAdd you had to create a
datasource
view like this:

Process
xmlns="http://schemas.microsoft.com/analysisservices/2003/engine"
Object
DatabaseID>ODRiskDB</DatabaseID
DimensionID>Position</DimensionID
/Object
Type>ProcessAdd</Type
DataSourceView
ID>ODRTemp</ID
Name>ODRTemp</Name
DataSourceID>ODRTemp</DataSourceID
Schema
xs:schema id="ODRisk" xmlns=""
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"
xmlns:msprop="urn:schemas-microsoft-com:xml-msprop"
xs:element name="ODRisk" msprop:QueryDefinition="select * from test"
/xs:element
/xs:schema
/Schema
/DataSourceView
/Process

--
SmartGuy


"Edward Melomed [MSFT]" wrote:

Use what is called Query Binding.

The source section will look as:

Source xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="QueryBinding"
DataSourceID>My Datasource ID</DataSourceID
QueryDefinition>Select * from MyTable where ProductID =
MyProduct</QueryDefinition
/Source

Edward.
--
This posting is provided "AS IS" with no warranties, and confers no
rights



"SmartGuy" <SmartGuy (AT) discussions (DOT) microsoft.com> wrote in message
news:A9F047E4-BE7E-4DA0-B9E4-710B0A23BFFD (AT) microsoft (DOT) com...
Wow, awsome sample. How about if I wanted to add a where clause?
--
SmartGuy


"Edward Melomed [MSFT]" wrote:

Something like:

Batch
xmlns="http://schemas.microsoft.com/analysisservices/2003/engine"
Parallel
Process xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
Object
DatabaseID>FoodMart</DatabaseID
DimensionID>MyDimension</DimensionID
/Object
Type>ProcessAdd</Type
/Process
/Parallel
Bindings
Binding
DatabaseID>FoodMart</DatabaseID
DimensionID>MyDimension</DimensionID
Source xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="TableBinding"
DataSourceID>My Datasource ID</DataSourceID
DbSchemaName>dbo</DbSchemaName
DbTableName>MyTable</DbTableName
/Source
/Binding
/Bindings
/Batch



"SmartGuy" <SmartGuy (AT) discussions (DOT) microsoft.com> wrote in message
news:C2D9C69A-015F-4245-B75B-F5AD53740E65 (AT) microsoft (DOT) com...
How do you do a ProcessAdd on a dimension with a table as the
source?
--
SmartGuy


"Edward Melomed [MSFT]" wrote:

There are quite a few components involved in operation.
Suggest you try troubleshoot them separately.

First take out of equation the pipeline processing.
Try saving result of your transform into a SQL Server table and
perform
ProcessAdd based on the table.
If you are still getting error, try and see which record in the
table
causing processing to fail...

Edward.
--
This posting is provided "AS IS" with no warranties, and confers no
rights


"SmartGuy" <SmartGuy (AT) discussions (DOT) microsoft.com> wrote in message
news:C2D48F6E-201E-4740-AD65-FBC1173C25E4 (AT) microsoft (DOT) com...
ProcessAdd seems to work fine using the SSIS data flow component.
However
on
a larger dataset (59,000 rows) it ALWAYS fails with the following
message:

File system error: The record ID is incorrect. Physical file: .
Logical
file: . Errors in the OLAP storage engine: An error occurred
while
the
'CUSIP' attribute of the 'Position' dimension from the 'ODRiskDB'
database
was being processed.

Any idea why? If I delete the attribute in question from the
cube,
it
moves
to another attribute.

Thanks,
SmartGuy













Reply With Quote
  #10  
Old   
Edward Melomed [MSFT]
 
Posts: n/a

Default Re: ProcessAdd on a dimension - 02-24-2006 , 01:04 PM



You are right there are several things here. Analysis Services 2005 is new
product and there is a not enough expertise exists in the community.
Hopefully you should see several books coming out to help better
understanding the product.
You should also understand: providing bindings for ProcessAdd for dimension
is not simple problem. Everything is considerably easy if you have dimension
build based on the single table. In that case you would think TableBinding
should be enough. But there is more generic case of dimension based on
several tables and in that case you need to provide list of tables and
relationships between them- which is exactly why you're having a DSV. In
case of multiple dimensions there is no choice but to use DSV binding if you
would like to re-specify the source for dimension in processing command.

Now, looking back at your problem. There are several things.
1. To test whenever ProcessAdd works for your dimension you can.
a. Process your dimension using the DSV you've built
b. Modify the DSV to replace dimension tables with named queries
pointing only to the data.
c. Process your dimension using ProcessAdd and see if new members are
added.

2. Pipeline processing. If you made #1 to work and you are seeing new data
coming correctly into dimension that means pipeline processing mechanism is
not functioning correctly. You should report the problem to the product
support. There is product support for Analysis Services.

3. If you would like workout through issues with using DSVBinding during
ProcessAdd command. Feel free to post here a sample of your dimension and
DSVBinding you trying to use.


Edward.
--
This posting is provided "AS IS" with no warranties, and confers no rights



"SmartGuy" <SmartGuy (AT) discussions (DOT) microsoft.com> wrote

Quote:
I've looked at that - thank you for suggesting it. The problem seems to
be
that no one has any practical XMLA experience, and there is no solid
documentation with examples on how to use highly touted features such as
ProcessAdd. So the bottom line is that we can't get ProcessAdd working
and
MS support can't help.

Very frustrating.
--
SmartGuy


"Edward Melomed [MSFT]" wrote:

I need to double check that. You might be right.
Here is another source information for you:
http://msdn.microsoft.com/library/de...asprocarch.asp

Edward.
--
This posting is provided "AS IS" with no warranties, and confers no
rights


"SmartGuy" <SmartGuy (AT) discussions (DOT) microsoft.com> wrote in message
news:F1B09626-AAD1-470D-A8E6-58BCB15B0515 (AT) microsoft (DOT) com...
I can't get that to work. I thought the bindings only worked for
measure
processAdd, and that the dimension processAdd you had to create a
datasource
view like this:

Process
xmlns="http://schemas.microsoft.com/analysisservices/2003/engine"
Object
DatabaseID>ODRiskDB</DatabaseID
DimensionID>Position</DimensionID
/Object
Type>ProcessAdd</Type
DataSourceView
ID>ODRTemp</ID
Name>ODRTemp</Name
DataSourceID>ODRTemp</DataSourceID
Schema
xs:schema id="ODRisk" xmlns=""
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"
xmlns:msprop="urn:schemas-microsoft-com:xml-msprop"
xs:element name="ODRisk" msprop:QueryDefinition="select * from test"
/xs:element
/xs:schema
/Schema
/DataSourceView
/Process

--
SmartGuy


"Edward Melomed [MSFT]" wrote:

Use what is called Query Binding.

The source section will look as:

Source xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="QueryBinding"
DataSourceID>My Datasource ID</DataSourceID
QueryDefinition>Select * from MyTable where ProductID =
MyProduct</QueryDefinition
/Source

Edward.
--
This posting is provided "AS IS" with no warranties, and confers no
rights



"SmartGuy" <SmartGuy (AT) discussions (DOT) microsoft.com> wrote in message
news:A9F047E4-BE7E-4DA0-B9E4-710B0A23BFFD (AT) microsoft (DOT) com...
Wow, awsome sample. How about if I wanted to add a where clause?
--
SmartGuy


"Edward Melomed [MSFT]" wrote:

Something like:

Batch
xmlns="http://schemas.microsoft.com/analysisservices/2003/engine"
Parallel
Process xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
Object
DatabaseID>FoodMart</DatabaseID
DimensionID>MyDimension</DimensionID
/Object
Type>ProcessAdd</Type
/Process
/Parallel
Bindings
Binding
DatabaseID>FoodMart</DatabaseID
DimensionID>MyDimension</DimensionID
Source xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="TableBinding"
DataSourceID>My Datasource ID</DataSourceID
DbSchemaName>dbo</DbSchemaName
DbTableName>MyTable</DbTableName
/Source
/Binding
/Bindings
/Batch



"SmartGuy" <SmartGuy (AT) discussions (DOT) microsoft.com> wrote in message
news:C2D9C69A-015F-4245-B75B-F5AD53740E65 (AT) microsoft (DOT) com...
How do you do a ProcessAdd on a dimension with a table as the
source?
--
SmartGuy


"Edward Melomed [MSFT]" wrote:

There are quite a few components involved in operation.
Suggest you try troubleshoot them separately.

First take out of equation the pipeline processing.
Try saving result of your transform into a SQL Server table and
perform
ProcessAdd based on the table.
If you are still getting error, try and see which record in the
table
causing processing to fail...

Edward.
--
This posting is provided "AS IS" with no warranties, and confers
no
rights


"SmartGuy" <SmartGuy (AT) discussions (DOT) microsoft.com> wrote in message
news:C2D48F6E-201E-4740-AD65-FBC1173C25E4 (AT) microsoft (DOT) com...
ProcessAdd seems to work fine using the SSIS data flow
component.
However
on
a larger dataset (59,000 rows) it ALWAYS fails with the
following
message:

File system error: The record ID is incorrect. Physical file:
.
Logical
file: . Errors in the OLAP storage engine: An error occurred
while
the
'CUSIP' attribute of the 'Position' dimension from the
'ODRiskDB'
database
was being processed.

Any idea why? If I delete the attribute in question from the
cube,
it
moves
to another attribute.

Thanks,
SmartGuy















Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.3
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.