Showing posts with label cubes. Show all posts
Showing posts with label cubes. Show all posts

Sunday, March 11, 2012

Cubes Migration problem

Hello,
I have 3 cubes with 3 shared dimensions (dates, ids, factors) in SQL Server 2000 environment. After the cubes migration to SSAS 2005
using Analysis Services Migration Wizard I got individual dimensions for
each cube : dates, dates1, dates2, ids,ids1, ids2, factors, factors1,
factors2. This makes the problem for my cubes MDX queries and based on it applications.
The question is how to preserve shared dimensions during cubes migration? And another qustion: is it possible to have in the database dimensions with the same name

(like dates and dates)?

Thanks,
GB

Migration is not going to create a best possible stucture for your cube. It operates in generic manner trying to cover all possible cube designs.

After you've migrated you need to go over your cube design and improve it. You should try to re-structure your cubes so you have a single version of database dimension ( you probably dont neet dates1, dates2, ids1, ids2 ...).

You should also take a look if possible to create a single cube with several measure groups. Looks like this might be the case. If you have multiple dimensions shared between several cubes, chances you can model the situation by creating multiple measure groups.

Take a look at sample Adventure Works project, see the stucture of Adventure Works cube. This should give you clues for having better cube design.

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

Thursday, March 8, 2012

Cubes web client

I am planning to develop a web based client for AS 2005 cubes. I am looking for some sample code/apps for jump start. I you know one please can you let me know the URL. I googled but all I found some articles

Thank you - Ashok

The CellSetGrid is open source ASP.NET based OLAP browser: http://www.sqlserveranalysisservices.com/cellsetgrid/CellSetGridIntro.htm

Cubes process forever

So everything has been working fine for 2 months now. Last night some updates got installed. SQL service pack 2 being one of them and some standard windows updates. The server is still running Windows server 2003 service pack 1. I now can't process my cubes or deploy them. It's the only thing that has changed so I am taking it as an assumption. Is there any other reason for cubes to suddenly just sit in the processing state forever?

This is a big problem for me and I am hoping that installing Service pack 2 for the windows server will sort it out but if it doesn't I am pretty much lost. So if you have any ideas please let me know.

Thanks in advance guys

Regards

RyanN

Do you make full process? how meny partitions has your database in all cubes together?

I had a similar problem as your one.

It was solved through increasing of <ThreadPool><Process><MaxThreads>

|||

I can't answer your question but I have a similar problem. My processing doesn't take forever, but at least much longer with SP2 (see thread http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1472639&SiteID=1). I was thinking that maybe SP2 use (much) more memory than SP1, and therefore slows down my processing (or in fact all steps in our ETL process). I gonna set up perfmon to monitor memory, cpu and disks.

Vladimir: Was this after you installed SP2? Does <ThreadPool><Process><MaxThreads> apply to SQL Server Standard aswell?

|||

Thanks, this is one partition. If I create a new cube it deploys and processes perfectly, maybe there is something wrong with the cube database, I don't actually know. But I am sure there is a solution out there. I will definitely post it once I have found it.

Thanks for your help guys. I am definitely exploring all the suggestions posted to me.

|||Well for those of you who want to know. I uninstalled and re-installed, went onto sp1 with all the hotfixes and it works perfectly now. I am going to set up a test environment and try duplicate the scenario and see what went wrong where. It doesn't seem to be too common, so I will se what went wrong|||

Hi RyanN,

Something I did was to replace the named queries in the DSV, with index queries ("materialized queries") at the database level. This helps because the DB "precalculates" and actual stores / caches the views resultset, meaning that when the DSV references that indexed query, that there's no "heavy lifting" for the DB to do, so processing is quicker. However, if the named query in your DSV is already pretty basic, and the tables it's referencing are appropriately linked, this approach probably won't buy you much benefit.

HTH

Greg Withers

|||

Sorry - my preceding reply to RyanN should have said

"and if the tables are appropriately indexed"

|||

Hi HappyCow

Sure, the problem came with SP2 on x86. But on x64 it was on SP1 too.

I can't answer you regardin Std. edition. I use the Enterprise only.

|||Nope, can't believe that installing a new service should make me have to change the design of my cubes and cause me work at all. If anything it should make things more optimal. I am going to duplicate the steps I took and how the cubes reacted. This should never have happened.

Cubes process forever

So everything has been working fine for 2 months now. Last night some updates got installed. SQL service pack 2 being one of them and some standard windows updates. The server is still running Windows server 2003 service pack 1. I now can't process my cubes or deploy them. It's the only thing that has changed so I am taking it as an assumption. Is there any other reason for cubes to suddenly just sit in the processing state forever?

This is a big problem for me and I am hoping that installing Service pack 2 for the windows server will sort it out but if it doesn't I am pretty much lost. So if you have any ideas please let me know.

Thanks in advance guys

Regards

RyanN

Do you make full process? how meny partitions has your database in all cubes together?

I had a similar problem as your one.

It was solved through increasing of <ThreadPool><Process><MaxThreads>

|||

I can't answer your question but I have a similar problem. My processing doesn't take forever, but at least much longer with SP2 (see thread http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1472639&SiteID=1). I was thinking that maybe SP2 use (much) more memory than SP1, and therefore slows down my processing (or in fact all steps in our ETL process). I gonna set up perfmon to monitor memory, cpu and disks.

Vladimir: Was this after you installed SP2? Does <ThreadPool><Process><MaxThreads> apply to SQL Server Standard aswell?

|||

Thanks, this is one partition. If I create a new cube it deploys and processes perfectly, maybe there is something wrong with the cube database, I don't actually know. But I am sure there is a solution out there. I will definitely post it once I have found it.

Thanks for your help guys. I am definitely exploring all the suggestions posted to me.

|||Well for those of you who want to know. I uninstalled and re-installed, went onto sp1 with all the hotfixes and it works perfectly now. I am going to set up a test environment and try duplicate the scenario and see what went wrong where. It doesn't seem to be too common, so I will se what went wrong|||

Hi RyanN,

Something I did was to replace the named queries in the DSV, with index queries ("materialized queries") at the database level. This helps because the DB "precalculates" and actual stores / caches the views resultset, meaning that when the DSV references that indexed query, that there's no "heavy lifting" for the DB to do, so processing is quicker. However, if the named query in your DSV is already pretty basic, and the tables it's referencing are appropriately linked, this approach probably won't buy you much benefit.

HTH

Greg Withers

|||

Sorry - my preceding reply to RyanN should have said

"and if the tables are appropriately indexed"

|||

Hi HappyCow

Sure, the problem came with SP2 on x86. But on x64 it was on SP1 too.

I can't answer you regardin Std. edition. I use the Enterprise only.

|||Nope, can't believe that installing a new service should make me have to change the design of my cubes and cause me work at all. If anything it should make things more optimal. I am going to duplicate the steps I took and how the cubes reacted. This should never have happened.

Cubes process error

Hi all!

After processing my cubes I have this error: Server error : Process error [object doesn't exist] 'Partner' ; ?

Someone can help me?
Thanks!

Try to do this - go to Business Intelligence development studio, open your data source view and then on the diagram do right mouse click choose option "Refresh...". This will tell you what changes are between what you have in SSAS and what is really in database. It looks like one of your dimensions or measure groups is referencing table that does not more exists in source database.

Vidas Matelis

My Blog: http://www.ssas-info.com/content/blogcategory/14/36/

Cubes not available after processing

The problem is that the cube is not available for queries. But process structure has been made, a full process of the dimensions and of the measure groups.

This is what I did do:
I did Import the SSAS Project from my live server to my local machine (laptop). I did some changings in the project in the dimensions and measure groups and deployed the solution to the server. After this I did a process structure. I logged into Analysis Server, opened a mdx script and the cube was available. Then I did a FULL Process of all the dimensions to be sure that everything is allright with them. Then I did reprocess all my Measure Groups.

Now the cube is not available. This happend the second time now. I process the cube by using ascmd.exe executing xmla commands.
After I do a process structure again it works. I can see the cube and the measure data is available after processing the measure groups.

I cannot explain this behaviour. Can you?

Best regards,
Stefoon

What happens is that when you do a full process of a dimension. The structures of any related cubes become "unprocessed". Processing a measure group under the cube does not implicitly re-process the structure of the cube.

After you do a full process of a dimension you will need to reprocess the structure again.

|||

Hi,

I think you are right. I did forget about the fact that the full process destroys the maps auf the dimensions for the cube construct.

Best regards,

Stefoon

Cubes missing from Excel picklist

Hi there,

Does anyone know what I can do when a list of cubes is not returned, even though there are cubes there? There is one database that contains a cube that does not show up in Excel, but I can browse data in Management Studio. I can see other cubes fine. Here are the results of XML to list cubes.

<return xmlns="urnTongue Tiedchemas-microsoft-com:xml-analysis">
<root xmlns="urnTongue Tiedchemas-microsoft-com:xml-analysis:rowset" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsdTongue Tiedchema targetNamespace="urnTongue Tiedchemas-microsoft-com:xml-analysis:rowset" xmlnsTongue Tiedql="urnTongue Tiedchemas-microsoft-com:xml-sql" elementFormDefault="qualified">
<xsd:element name="root">
<xsd:complexType>
<xsdTongue Tiedequence minOccurs="0" maxOccurs="unbounded">
<xsd:element name="row" type="row" />
</xsdTongue Tiedequence>
</xsd:complexType>
</xsd:element>
<xsdTongue TiedimpleType name="uuid">
<xsd:restriction base="xsdTongue Tiedtring">
<xsdStick out tongueattern value="[0-9a-zA-Z]{8}-[0-9a-zA-Z]{4}-[0-9a-zA-Z]{4}-[0-9a-zA-Z]{4}-[0-9a-zA-Z]{12}" />
</xsd:restriction>
</xsdTongue TiedimpleType>
<xsd:complexType name="xmlDocument">
<xsdTongue Tiedequence>
<xsd:any />
</xsdTongue Tiedequence>
</xsd:complexType>
<xsd:complexType name="row">
<xsdTongue Tiedequence>
<xsd:element sql:field="CATALOG_NAME" name="CATALOG_NAME" type="xsdTongue Tiedtring" />
<xsd:element sql:field="SCHEMA_NAME" name="SCHEMA_NAME" type="xsdTongue Tiedtring" minOccurs="0" />
<xsd:element sql:field="CUBE_NAME" name="CUBE_NAME" type="xsdTongue Tiedtring" minOccurs="0" />
<xsd:element sql:field="CUBE_TYPE" name="CUBE_TYPE" type="xsdTongue Tiedtring" minOccurs="0" />
<xsd:element sql:field="CUBE_GUID" name="CUBE_GUID" type="uuid" minOccurs="0" />
<xsd:element sql:field="CREATED_ON" name="CREATED_ON" type="xsdBig SmileateTime" minOccurs="0" />
<xsd:element sql:field="LAST_SCHEMA_UPDATE" name="LAST_SCHEMA_UPDATE" type="xsdBig SmileateTime" minOccurs="0" />
<xsd:element sql:field="SCHEMA_UPDATED_BY" name="SCHEMA_UPDATED_BY" type="xsdTongue Tiedtring" minOccurs="0" />
<xsd:element sql:field="LAST_DATA_UPDATE" name="LAST_DATA_UPDATE" type="xsdBig SmileateTime" minOccurs="0" />
<xsd:element sql:field="DATA_UPDATED_BY" name="DATA_UPDATED_BY" type="xsdTongue Tiedtring" minOccurs="0" />
<xsd:element sql:field="DESCRIPTION" name="DESCRIPTION" type="xsdTongue Tiedtring" minOccurs="0" />
<xsd:element sql:field="IS_DRILLTHROUGH_ENABLED" name="IS_DRILLTHROUGH_ENABLED" type="xsd:boolean" minOccurs="0" />
<xsd:element sql:field="IS_LINKABLE" name="IS_LINKABLE" type="xsd:boolean" minOccurs="0" />
<xsd:element sql:field="IS_WRITE_ENABLED" name="IS_WRITE_ENABLED" type="xsd:boolean" minOccurs="0" />
<xsd:element sql:field="IS_SQL_ENABLED" name="IS_SQL_ENABLED" type="xsd:boolean" minOccurs="0" />
<xsd:element sql:field="CUBE_CAPTION" name="CUBE_CAPTION" type="xsdTongue Tiedtring" minOccurs="0" />
<xsd:element sql:field="BASE_CUBE_NAME" name="BASE_CUBE_NAME" type="xsdTongue Tiedtring" minOccurs="0" />
<xsd:element sql:field="CUBE_SOURCE" name="CUBE_SOURCE" type="xsd:unsignedShort" minOccurs="0" />
</xsdTongue Tiedequence>
</xsd:complexType>
</xsdTongue Tiedchema>
</root>
</return>

Any help is much appreciated!

This is just an empty result set. What was the query that you ran to get this?|||I resolved the issue.

Cubes Migration problem

Hello,
I have 3 cubes with 3 shared dimensions (dates, ids, factors) in SQL Server 2000 environment. After the cubes migration to SSAS 2005
using Analysis Services Migration Wizard I got individual dimensions for
each cube : dates, dates1, dates2, ids,ids1, ids2, factors, factors1,
factors2. This makes the problem for my cubes MDX queries and based on it applications.
The question is how to preserve shared dimensions during cubes migration? And another qustion: is it possible to have in the database dimensions with the same name

(like dates and dates)?

Thanks,
GB

Migration is not going to create a best possible stucture for your cube. It operates in generic manner trying to cover all possible cube designs.

After you've migrated you need to go over your cube design and improve it. You should try to re-structure your cubes so you have a single version of database dimension ( you probably dont neet dates1, dates2, ids1, ids2 ...).

You should also take a look if possible to create a single cube with several measure groups. Looks like this might be the case. If you have multiple dimensions shared between several cubes, chances you can model the situation by creating multiple measure groups.

Take a look at sample Adventure Works project, see the stucture of Adventure Works cube. This should give you clues for having better cube design.

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

Cubes in Report manager?

Can OLAP cubes be stored on report manager aswel as reporting services reports?
Many thanks
GregNot sure what you mean. Cubes can be data sources for reporting services.
You can have a shared data connection stored in reporting services, and that
data source can be analysis services. Is that what you're asking?
--
Cheers,
'(' Jeff A. Stucker
\
Business Intelligence
www.criadvantage.com
---
"Greg" <Greg@.discussions.microsoft.com> wrote in message
news:B38B7CC1-7390-4807-8A76-E928B2046044@.microsoft.com...
> Can OLAP cubes be stored on report manager aswel as reporting services
> reports?
> Many thanks
>
> Greg|||He might be asking about local cubes. You could store the .cub file in RS
but the server wouldn't know anything special about it. I don't think the AS
engine would be able to load it either.
--
Brian Welcker
Group Program Manager
Microsoft SQL Server
This posting is provided "AS IS" with no warranties, and confers no rights.
"Jeff A. Stucker" <jeff@.mobilize.net> wrote in message
news:u5rQ3%23F5EHA.1408@.TK2MSFTNGP10.phx.gbl...
> Not sure what you mean. Cubes can be data sources for reporting services.
> You can have a shared data connection stored in reporting services, and
> that data source can be analysis services. Is that what you're asking?
> --
> Cheers,
> '(' Jeff A. Stucker
> \
> Business Intelligence
> www.criadvantage.com
> ---
> "Greg" <Greg@.discussions.microsoft.com> wrote in message
> news:B38B7CC1-7390-4807-8A76-E928B2046044@.microsoft.com...
>> Can OLAP cubes be stored on report manager aswel as reporting services
>> reports?
>> Many thanks
>>
>> Greg
>

Cubes Generation error. different between MOLAP, ROLAP

I am using one cubes for my sales analysis.
When I try to redesign storage and Process the cube from MOLAP to ROLAP, it
create error with something related to fail to create index.
I didn't change the cube design.
What information I need to be careful ?
Hi Kam.
This error is usally related to Real-Time OLAP. Are you trying to re-design
the storage mode of your cube as a Real-Time? This feature requires special
settings in the relational database.
You may find more information here
http://msdn.microsoft.com/library/de...eties_0o4z.asp
Hope that helps.
"Kam" wrote:

> I am using one cubes for my sales analysis.
> When I try to redesign storage and Process the cube from MOLAP to ROLAP, it
> create error with something related to fail to create index.
> I didn't change the cube design.
> What information I need to be careful ?

Cubes Generation error. different between MOLAP, ROLAP

I am using one cubes for my sales analysis.
When I try to redesign storage and Process the cube from MOLAP to ROLAP, it
create error with something related to fail to create index.
I didn't change the cube design.
What information I need to be careful ?Hi Kam.
This error is usally related to Real-Time OLAP. Are you trying to re-design
the storage mode of your cube as a Real-Time? This feature requires special
settings in the relational database.
You may find more information here
http://msdn.microsoft.com/library/d...ieties_0o4z.asp
Hope that helps.
"Kam" wrote:

> I am using one cubes for my sales analysis.
> When I try to redesign storage and Process the cube from MOLAP to ROLAP, i
t
> create error with something related to fail to create index.
> I didn't change the cube design.
> What information I need to be careful ?

cubes error

Hi,

I want to know, if i can use (work) with the Analysis service tutorial of adventurewoks database in MS XP Pro

i use the SQL server 2005 enterprice edition .

When i deploy my analysis service tutorial, i can't connect to my server?(lesson reviewing cubes and demension, in SQL book online)

I checked my firewall,Protocols, restarted my SQL browser and SQL server,checked my windows authentication and i can't connect to my server.

Help help help.

Not sure if you can install SQL Server Enterprise edition on the XP. But I think you can install Developer edition there.

Try and open Adventure works sample project and try deploying it to the Analysis Server. If you were able to successfully deploy the project, you should be able to browse it as well.

Hope that helps.

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

Cubes and dimensions disappear random

Hi,

Since today cubes and dimensions disappear random at our customers site. Without any pointable reason the cubes and dimensions will be deleted from the cubes and dimensions folder within the analysis services database. We have double checked no one removes the cubes or dimensions. After restoring the backup file the database will run for several minutes/hours and then for some reason the cubes and dimensions disappear. We are running sql 2005 standard with SP 1. Anyone knows how we can trace the events or track what happened? We have restored the as database multiple times (untill now 5 times) and the problem still keeps returning. No settings have changed and we are running the AS database for about one week from now. I have checked available diskspace etc. but all seems to be ok.

[edit] Is it possible that the cause of this could be that we restore an AS database to two different AS databases. For example, we want to restore an AS database to a new database called PROD_AS_DB and a new database called TEST_AS_DB. For both restores we use the same backup file.

[edit] After some testing it appears that the cube and dimension in the TEST_AS_DB disappear when we process the dimensions and cubes in the PROD_AS_DB also vice versa. So we think that restoring a single backup file to multiple AS databases doensn't result in the desired situation.

Anyone familliar with this and knows what to do?

Marc

Hi,

This could not be the reason in your case, but anyway it is possible,

let us say you restored the database from a backup file,

and before that you had the BI studio displaying the older database contents before restoration,

Now after the restore, if you save the BI studio project , it overwrites the restored database. so possibly some others are having a older copy of the db as a ssas project , which they are saving on back to the database after the restore?

Regards

|||

Thanks for the reply. But the scenario is as followed:

- Empty SSAS server
- Restore from file cube.abf to database PROD_AS_DB
- Restore from file cube.abf to database TEST_AS_DB

Process database PROD_AS_DB. Then process TEST_AS_DB. In our case dimensions and cubes disappeared in the PROD or TEST database depend on which database was beying processed. You say this is not possible but if that's true, what the hell is happens?

Thanks for your response.

Marc

|||

Hi,

How are you processing the databases?

is it an xmla query?

Regards

|||

We process the database through the GUI. First we select all the dimensions and process them. When finished we select all the cubes and process them.

Thanks for the reply.

Marc

|||

Hi.

If the strange behaviour of your SSAS is repeatable, turn on Profiler. All things that happen on the server will be logged. Then You can explore that log.

|||

Well vladimir,

I took your answer for granted but today it happenned again.

At our customers site SSAS is running with two databases, one database called DB_PROD other database called DB_TEST. I was restoring the DB_TEST database from the same backup file which I used for the database DB_PROD. This is what happenned:

By restoring the backup file to the DB_TEST database the cubes and dimensions in the DB_PROD disappeared. Also all the roles lost their settings.

I am only able to restore securily too two different databases if I deploy the cube on our development machine to two different databases, then I have to make two backups from the cube deployed. Then I transfer the files too the machine of our customer and there I can restore the backup files too the DB_PROD en DB_TEST SSAS database.

I really think this is a bug in SSAS. Atleast in SP1, I didn't test it with SP2.

Marc

|||

That is good idea. I remember similar situation fixed in SP2.

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

Cubes and dimensions disappear random

Hi,

Since today cubes and dimensions disappear random at our customers site. Without any pointable reason the cubes and dimensions will be deleted from the cubes and dimensions folder within the analysis services database. We have double checked no one removes the cubes or dimensions. After restoring the backup file the database will run for several minutes/hours and then for some reason the cubes and dimensions disappear. We are running sql 2005 standard with SP 1. Anyone knows how we can trace the events or track what happened? We have restored the as database multiple times (untill now 5 times) and the problem still keeps returning. No settings have changed and we are running the AS database for about one week from now. I have checked available diskspace etc. but all seems to be ok.

[edit] Is it possible that the cause of this could be that we restore an AS database to two different AS databases. For example, we want to restore an AS database to a new database called PROD_AS_DB and a new database called TEST_AS_DB. For both restores we use the same backup file.

[edit] After some testing it appears that the cube and dimension in the TEST_AS_DB disappear when we process the dimensions and cubes in the PROD_AS_DB also vice versa. So we think that restoring a single backup file to multiple AS databases doensn't result in the desired situation.

Anyone familliar with this and knows what to do?

Marc

Hi,

This could not be the reason in your case, but anyway it is possible,

let us say you restored the database from a backup file,

and before that you had the BI studio displaying the older database contents before restoration,

Now after the restore, if you save the BI studio project , it overwrites the restored database. so possibly some others are having a older copy of the db as a ssas project , which they are saving on back to the database after the restore?

Regards

|||

Thanks for the reply. But the scenario is as followed:

- Empty SSAS server
- Restore from file cube.abf to database PROD_AS_DB
- Restore from file cube.abf to database TEST_AS_DB

Process database PROD_AS_DB. Then process TEST_AS_DB. In our case dimensions and cubes disappeared in the PROD or TEST database depend on which database was beying processed. You say this is not possible but if that's true, what the hell is happens?

Thanks for your response.

Marc

|||

Hi,

How are you processing the databases?

is it an xmla query?

Regards

|||

We process the database through the GUI. First we select all the dimensions and process them. When finished we select all the cubes and process them.

Thanks for the reply.

Marc

|||

Hi.

If the strange behaviour of your SSAS is repeatable, turn on Profiler. All things that happen on the server will be logged. Then You can explore that log.

|||

Well vladimir,

I took your answer for granted but today it happenned again.

At our customers site SSAS is running with two databases, one database called DB_PROD other database called DB_TEST. I was restoring the DB_TEST database from the same backup file which I used for the database DB_PROD. This is what happenned:

By restoring the backup file to the DB_TEST database the cubes and dimensions in the DB_PROD disappeared. Also all the roles lost their settings.

I am only able to restore securily too two different databases if I deploy the cube on our development machine to two different databases, then I have to make two backups from the cube deployed. Then I transfer the files too the machine of our customer and there I can restore the backup files too the DB_PROD en DB_TEST SSAS database.

I really think this is a bug in SSAS. Atleast in SP1, I didn't test it with SP2.

Marc

|||

That is good idea. I remember similar situation fixed in SP2.

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

Cubes and Cost-Forecast

Hi,

I'm experiencing trouble with the following requirement:

We have a fact-table containing data about cost-forecasts. This table includes columns for the project-name, for the date the forecast was made, the date the forecast is for and the estimated costs. This could be an example for this table:

projekt, date_of_forecast, date, costs

PR-A, 2007-06-01, 2007-07-01, 2000

PR-A, 2007-06-05, 2007-07-01, 3000

PR-A, 2007-06-10, 2007-07-01, 2500

PR-A, 2007-06-10, 2007-07-15, 2000

For instance, the last row says: We estimated on 2007-06-10 that the costs for Project PR-A will be 2000 at 2007-07-15.

The customer wants a cube wich allows an answer to the following question:

Wich cost did we expect for [Projekt] .... at [date] on [date_of_forecast] ?

So, it's not possible to just sum up all the measures, but I have to look up the last cost behind [date_of_forecast] and [date] ...

How to accomplish the using SQL Server 2005 STANDARD-EDITION ?

Do I need two Time-Dimensions or just one?

Is there a way to create a Cube-Skript for this requirement?

Thanks and best whishes

Manfred

Dear Friend,

You must have a Time dimension and a Project Dimension and you FactTable that could be as you wrote...

Look for the follow post in my blog that could help you... (see the MDX query... I think you can apply to your case, but only seing more carefully)

http://pedrocgd.blogspot.com/2007/07/ssas-slowly-changing-values.html

I hope this helped you!

regards!

|||

Hi,

I've tried this. But SSAS seems to get into an infinity-recursion ...

How to work around this issue?

Best Whishes,

Manfred

|||Can you post the calculation code? The usual problem with an infinite recursion is a missing measure reference somewhere.|||

Here it is:

iif ( not isEmpty([Measures].[Gewinn]),

[Measures].[Gewinn],

iif ( [Time].[Date].PrevMember IS NULL,

null,

([Measures].[Geplanter Gewinn], [Time].[Date].PrevMember)

)

)

Btw: I also use currency conversions created by the wizzard. The code for the currency comes first; then this calculation comes ...

Best wishes,

Manfred

|||

You did not include the CREATE MEASURE statement. Is this the code for the [Gewinn] measure or the [Geplanter Gewinn]. I am guessing that it is for the [Gewinn] measure as this would cause an infinite recursion. If I have guessed correctly it is simply that you have transposed the two measures from Pedro's example, try the following

Code Snippet

iif ( not isEmpty([Measures].[Geplanter Gewinn]),

[Measures].[Geplanter Gewinn],

iif ( [Time].[Date].PrevMember IS NULL,

null,

([Measures].[Gewinn], [Time].[Date].PrevMember)

)

)

In fact we should be able to simplify the whole thing, removing the "if null return null" section and ending up with the following:

Code Snippet

iif ( not isEmpty([Measures].[Geplanter Gewinn])

,([Measures].[Geplanter Gewinn])

,([Time].[Date].PrevMember)

)

Which says

1. If Geplanter Gewinn is not empty return that

2. Else return the value of this calculation for the previous time member (which is where the recursion comes in). So this calculation will keep searching back until it finds a nonEmpty value of Geplanter Gewinn.

|||

Hi,

I think, there is a missunderstanding.

[Gewinn] is the Measure in the Cube and has a value for some days.

[Geplanter Gewinn] should return the last non empty value of [Gewinn]

So, the right syntax should be:

CREATE MEMBER CURRENTCUBE.[MEASURES].[Geplanter Gewinn]

AS

iif ( not isEmpty([Measures].[Gewinn]), -- If there is a [Gewinn] for the current day

[Measures].[Gewinn], -- return it

iif ( [Time].[Date].PrevMember IS NULL,

null,

([Measures].[Geplanter Gewinn], [Time].[Date].PrevMember) -- Go back one day and retry it

)

)

But this ends up in an infinity-recursion ...

Wishes,

Manfred

|||

Dear ManfredSteyer,

The statment in my blog works perfectly... are you sure you saw it right?

Check this:

Code Snippet

'IIF(NOT IsEmpty ([Measures].[ENT_Racio]),
[Measures].[ENT_Racio]
,IIF ([DimTime].[Dia].PrevMember IS NULL, NULL, ([Measures].[CM_PRM_ENT_Racio]
,[DimTime].[Dia].PrevMember)
)
)'

I hope you get it!!!

Regards!

|||

Sorry, without the CREATE MEMBER clause I could not tell which was the measure in the cube. In that case it looks OK. I'm wondering if there is something else in your calculation script that might be conflicting.

Are you able to use this type of calculation in an MDX query using the "WITH MEMBER" clause?

|||

for you both:

Code Snippet

CREATE MEMBER CURRENTCUBE.[MEASURES].CM_PRM_ENT_Racio

AS 'IIF(NOT IsEmpty ([Measures].[ENT_Racio]),

[Measures].[ENT_Racio]

,IIF ([DimTime].[Dia].PrevMember IS NULL, NULL, ([Measures].[CM_PRM_ENT_Racio]

,[DimTime].[Dia].PrevMember)

)

)',

VISIBLE = 1;

Helped?

This for me works!

Regards!

|||

Hi,

I exactly used this pattern - I also looked up "MDX Solutions" (Wiley) ...

And if I use it directly within a mdx-query, it works too:

with member [Measures].[Geplanter Gewinn]

as

iif ( not isEmpty([Measures].[Gewinn]),

[Measures].[Gewinn],

iif ( [Time].[Date].PrevMember IS NULL,

null,

([Measures].[Geplanter Gewinn], [Time].[Date].PrevMember)

)

)

select [Measures].[Geplanter Gewinn] on 0

from [Kostenrechnung Sample Db]

where [Time].[Date].&[2007-06-15T00:00:00]

But when I used it as calculated member or within a cube-script, I get an inifinity-recursion ...

Have you used this pattern within cube-script/ as calc. meber or "just" as mdx-query ?

Regards,

Manfred

|||

I use it in a CM...

|||

I can't see anything wrong with the implementation of this CM. I think the fact that it works inline in a query proves that there is nothing with it on it's own. There must be a circular dependancy somewhere in the calculation script.

In order to figure this out you could either set a breakpoint in the MDX Script and use the debugger. Stepping through the script until the calc does not work. If it does not work as soon as you hit it with the debugger then there must be something earlier in the script that is upsetting it, but my guess is that it might be something after it in the script. The other approach which you could either use on it's own or in conjunction with the debugger would be to comment out blocks of the script until you isolate what is causing the issue.

|||

Hi,

Now, I figured out, that there is not an inifinity-recursion but a realy time consuming recursion. But I can not imagine why this takes that long, cause it's just a proof-of-conecpt project with very few data (~ 15 rows) and a small time-dimension (Jan/2006 - Dec/2007).

Best Whishes,

Manfred

ps.: Perhaps I sould try enterprise edition ...

|||

Yeah, sometimes depending in the projectsm could take lot of time! :-(

mark your answer to resolved!

Kind Regards!

Cubes and Cost-Forecast

Hi,

I'm experiencing trouble with the following requirement:

We have a fact-table containing data about cost-forecasts. This table includes columns for the project-name, for the date the forecast was made, the date the forecast is for and the estimated costs. This could be an example for this table:

projekt, date_of_forecast, date, costs

PR-A, 2007-06-01, 2007-07-01, 2000

PR-A, 2007-06-05, 2007-07-01, 3000

PR-A, 2007-06-10, 2007-07-01, 2500

PR-A, 2007-06-10, 2007-07-15, 2000

For instance, the last row says: We estimated on 2007-06-10 that the costs for Project PR-A will be 2000 at 2007-07-15.

The customer wants a cube wich allows an answer to the following question:

Wich cost did we expect for [Projekt] .... at [date] on [date_of_forecast] ?

So, it's not possible to just sum up all the measures, but I have to look up the last cost behind [date_of_forecast] and [date] ...

How to accomplish the using SQL Server 2005 STANDARD-EDITION ?

Do I need two Time-Dimensions or just one?

Is there a way to create a Cube-Skript for this requirement?

Thanks and best whishes

Manfred

Dear Friend,

You must have a Time dimension and a Project Dimension and you FactTable that could be as you wrote...

Look for the follow post in my blog that could help you... (see the MDX query... I think you can apply to your case, but only seing more carefully)

http://pedrocgd.blogspot.com/2007/07/ssas-slowly-changing-values.html

I hope this helped you!

regards!

|||

Hi,

I've tried this. But SSAS seems to get into an infinity-recursion ...

How to work around this issue?

Best Whishes,

Manfred

|||Can you post the calculation code? The usual problem with an infinite recursion is a missing measure reference somewhere.|||

Here it is:

iif ( not isEmpty([Measures].[Gewinn]),

[Measures].[Gewinn],

iif ( [Time].[Date].PrevMember IS NULL,

null,

([Measures].[Geplanter Gewinn], [Time].[Date].PrevMember)

)

)

Btw: I also use currency conversions created by the wizzard. The code for the currency comes first; then this calculation comes ...

Best wishes,

Manfred

|||

You did not include the CREATE MEASURE statement. Is this the code for the [Gewinn] measure or the [Geplanter Gewinn]. I am guessing that it is for the [Gewinn] measure as this would cause an infinite recursion. If I have guessed correctly it is simply that you have transposed the two measures from Pedro's example, try the following

Code Snippet

iif ( not isEmpty([Measures].[Geplanter Gewinn]),

[Measures].[Geplanter Gewinn],

iif ( [Time].[Date].PrevMember IS NULL,

null,

([Measures].[Gewinn], [Time].[Date].PrevMember)

)

)

In fact we should be able to simplify the whole thing, removing the "if null return null" section and ending up with the following:

Code Snippet

iif ( not isEmpty([Measures].[Geplanter Gewinn])

,([Measures].[Geplanter Gewinn])

,([Time].[Date].PrevMember)

)

Which says

1. If Geplanter Gewinn is not empty return that

2. Else return the value of this calculation for the previous time member (which is where the recursion comes in). So this calculation will keep searching back until it finds a nonEmpty value of Geplanter Gewinn.

|||

Hi,

I think, there is a missunderstanding.

[Gewinn] is the Measure in the Cube and has a value for some days.

[Geplanter Gewinn] should return the last non empty value of [Gewinn]

So, the right syntax should be:

CREATE MEMBER CURRENTCUBE.[MEASURES].[Geplanter Gewinn]

AS

iif ( not isEmpty([Measures].[Gewinn]), -- If there is a [Gewinn] for the current day

[Measures].[Gewinn], -- return it

iif ( [Time].[Date].PrevMember IS NULL,

null,

([Measures].[Geplanter Gewinn], [Time].[Date].PrevMember) -- Go back one day and retry it

)

)

But this ends up in an infinity-recursion ...

Wishes,

Manfred

|||

Dear ManfredSteyer,

The statment in my blog works perfectly... are you sure you saw it right?

Check this:

Code Snippet

'IIF(NOT IsEmpty ([Measures].[ENT_Racio]),
[Measures].[ENT_Racio]
,IIF ([DimTime].[Dia].PrevMember IS NULL, NULL, ([Measures].[CM_PRM_ENT_Racio]
,[DimTime].[Dia].PrevMember)
)
)'

I hope you get it!!!

Regards!

|||

Sorry, without the CREATE MEMBER clause I could not tell which was the measure in the cube. In that case it looks OK. I'm wondering if there is something else in your calculation script that might be conflicting.

Are you able to use this type of calculation in an MDX query using the "WITH MEMBER" clause?

|||

for you both:

Code Snippet

CREATE MEMBER CURRENTCUBE.[MEASURES].CM_PRM_ENT_Racio

AS 'IIF(NOT IsEmpty ([Measures].[ENT_Racio]),

[Measures].[ENT_Racio]

,IIF ([DimTime].[Dia].PrevMember IS NULL, NULL, ([Measures].[CM_PRM_ENT_Racio]

,[DimTime].[Dia].PrevMember)

)

)',

VISIBLE = 1;

Helped?

This for me works!

Regards!

|||

Hi,

I exactly used this pattern - I also looked up "MDX Solutions" (Wiley) ...

And if I use it directly within a mdx-query, it works too:

with member [Measures].[Geplanter Gewinn]

as

iif ( not isEmpty([Measures].[Gewinn]),

[Measures].[Gewinn],

iif ( [Time].[Date].PrevMember IS NULL,

null,

([Measures].[Geplanter Gewinn], [Time].[Date].PrevMember)

)

)

select [Measures].[Geplanter Gewinn] on 0

from [Kostenrechnung Sample Db]

where [Time].[Date].&[2007-06-15T00:00:00]

But when I used it as calculated member or within a cube-script, I get an inifinity-recursion ...

Have you used this pattern within cube-script/ as calc. meber or "just" as mdx-query ?

Regards,

Manfred

|||

I use it in a CM...

|||

I can't see anything wrong with the implementation of this CM. I think the fact that it works inline in a query proves that there is nothing with it on it's own. There must be a circular dependancy somewhere in the calculation script.

In order to figure this out you could either set a breakpoint in the MDX Script and use the debugger. Stepping through the script until the calc does not work. If it does not work as soon as you hit it with the debugger then there must be something earlier in the script that is upsetting it, but my guess is that it might be something after it in the script. The other approach which you could either use on it's own or in conjunction with the debugger would be to comment out blocks of the script until you isolate what is causing the issue.

|||

Hi,

Now, I figured out, that there is not an inifinity-recursion but a realy time consuming recursion. But I can not imagine why this takes that long, cause it's just a proof-of-conecpt project with very few data (~ 15 rows) and a small time-dimension (Jan/2006 - Dec/2007).

Best Whishes,

Manfred

ps.: Perhaps I sould try enterprise edition ...

|||

Yeah, sometimes depending in the projectsm could take lot of time! :-(

mark your answer to resolved!

Kind Regards!

Cubes and .Net applications

What are the pros and cons of accessing the data in a cube through a visual studio 2005 .net application?Are you referring to a .NET 2.0 application (since Visual Studio 2005 is a development environment) - if so, that's rather an abstract question? Could you provide more specifics of the application usage scenarios you have in mind?|||Yes, I am referring to a .NET 2.0 application. Normally, our .NET application uses a webservice to runs sqls to retrieve data for reports in the application. I would like to know what is involved in retrieving data from the cube using a webservice. Is it more involved? Are there any benefits or risks to using a cube to retrieve data for a report in a .NET application versus just using DB2 databases? We currently retrieve our data from DB2 databases.

Cubes

Hi,
I have two Data Sources from two different servers.. Using that i have
created two cubes namely HostCube and Applications Cube..Now i need to
link the two cubes based on host name.. Host name is present in Host
cube and Site name is present in Application cube.. I need to link
these both and get the keywords, referal page, number of applications
running and number of visits.

Am not able to link two cubes and get the result.. I tried using
Virtual Cubes, but it just takes dimensions from both the cubes and
gives the result.. Can anyone help me out in this please.
Thanks in advance..

I would guess you are trying to use AS 2000 to solve the problem.

You should be way better off using AS 2005 that allows you to use data from 2 different datasources in a single cube.

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

|||

Hi Edward,

Thanks alot for your reply..

Yes am using AS 2000.. Now i have copied table and all the tables are in one database..

Here I have a basic question... Can we use dimensions with conditions in Analysis service.. I have three dimensions and i need output for particular condition..
For example: I have Site Dimension, Host Dimension and Tracking Details Dimensions.. Here From Host Dimension I need to take Host Name and compare it with SiteName in Site Dimension and from this i need to take site type and siteid and comapre this site id with siteid in Tracking Details Dimension and get keywords and referer excluding for status=180..

Am totally lost.. Can you help me out in this.. Thanks in advance..

|||

Looks to me the problem you are trying to solve should be solved on the client side. Try installing eval version of ProClarity and see if cross drill ( or drill across) functionality gets you you what you need.

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

Wednesday, March 7, 2012

Cube won't process in SSIS, but will process thru Mgmt Studio?

Hello,

SSAS newbie here. I have an AS database called "AS_Sales" with numerous cubes, including one called "CP Sales". It has one measure group (also called "CP Sales") that is partitioned by fiscal quarter.

I can right-click the cube in management studio and hit "Process" and it indicates that everything completes successfully. However, I set up an Analysis Services task in SSIS to do the same thing, and I receive errors.

SSIS package consists of two AS tasks -- Refresh Dimensions & Reprocess Cube. The task fails during the dimension reprocessing, with the following error messages:

Information: 0x40016041 at AS_Sales_Cubes_Refresh: The package is attempting to configure from the XML file "E:\SSIS\Config\AS_Sales_Cubes_Refresh.dtsConfig".

SSIS package "AS_Sales_Cubes_Refresh.dtsx" starting.

Error: 0xC11F000E at Rebuild Dimension Structure, Analysis Services Execute DDL Task: Errors in the OLAP storage engine: An error occurred while processing the 'FY2001_QTR4' partition of the 'CP Sales' measure group for the 'CP Sales' cube from the AS_Sales database.

Error: 0xC11F000E at Rebuild Dimension Structure, Analysis Services Execute DDL Task: Errors in the OLAP storage engine: An error occurred while processing the 'FY2003_QTR3' partition of the 'CP Sales' measure group for the 'CP Sales' cube from the AS_Sales database.

Error: 0xC11F000E at Rebuild Dimension Structure, Analysis Services Execute DDL Task: Errors in the OLAP storage engine: An error occurred while processing the 'FY2005_QTR2' partition of the 'CP Sales' measure group for the 'CP Sales' cube from the AS_Sales database.

Error: 0xC11F000E at Rebuild Dimension Structure, Analysis Services Execute DDL Task: Errors in the OLAP storage engine: An error occurred while processing the 'FY2007_QTR3' partition of the 'CP Sales' measure group for the 'CP Sales' cube from the AS_Sales database.

Error: 0xC1060000 at Rebuild Dimension Structure, Analysis Services Execute DDL Task: OLE DB error: OLE DB or ODBC error: Operation canceled; HY008.

Error: 0xC11F000E at Rebuild Dimension Structure, Analysis Services Execute DDL Task: Errors in the OLAP storage engine: An error occurred while processing the 'FY2005_QTR4' partition of the 'CP Sales' measure group for the 'CP Sales' cube from the AS_Sales database.

Error: 0xC1060000 at Rebuild Dimension Structure, Analysis Services Execute DDL Task: OLE DB error: OLE DB or ODBC error: Operation canceled; HY008.

Error: 0xC11F000E at Rebuild Dimension Structure, Analysis Services Execute DDL Task: Errors in the OLAP storage engine: An error occurred while processing the 'FY2006_QTR1' partition of the 'CP Sales' measure group for the 'CP Sales' cube from the AS_Sales database.

Task failed: Rebuild Dimension Structure

SSIS package "AS_Sales_Cubes_Refresh.dtsx" finished: Failure.

It only seems to be failing for a handful of the partitions, which makes the problem all that more confusing. Does anyone have any ideas about what I'm doing wrong?

Thanks in advance,

Jamie

if you have defined your attribute relationships as rigid you cannot use refresh for your dimensions. Try full process of each dimension and see what happens. Place the processing(full) of the dimensions before processing the cubes/measure groups.

HTH

Thomas Ivarsson

Cube throws an error while browsing

Hi,
One of cubes when browsed through proclarity showed
nothing. To debug the same, I browsed through analysis
services and the values were "#ERR". There was no
change to the structure of the cube. The cube
processing log shows that the cube was refreshed
successfully.
I then again reprocessed the cube in "Refresh" mode and
it worked fine.
Any clue of why had this happen to just one of the cube?
I was fortunate that this happenned to a smaller cube,
otherwise I would have been to a toss?
Any advice?
Thanks,
Lakshman.
if double click on #ERR, what error you see?
Wei Zhang
Microsoft OLAP Support