Quantcast
Channel: SQL Server Analysis Services Forum
Viewing all 2472 articles
Browse latest View live

SSAS fill missing gaps

$
0
0

Lets say I have a fact table like this:

ID  Date      Amount
1   Jan2012    100
1   Feb2012    110
1   April2012  150

and a dimension dimDate that contains all months in 2012.

When browsing my cube I see exactly what's above, but I would like to see one row to all dates on the dimDate dimension but, whats more important, I would like to see the March2012 row with the value 110 (last available value)

Is it something that can be done on the cube? I know it can be done on the DW by inserting a row for april or maybe with a left join query but I want to know if it can be done on the cube


Best practices for scheduled cube processing (SSAS 2008 Standard Ed.)

$
0
0

Hi there,

I have setup a simple SSIS package that processes the cube and deployed it to SQL Server 2008 Standard on a 30 minute schedule. I'm wondering what the best practices are in this case. These are my (fairly obvious) goals:

 

  • avoid all missing attribute key issues (ie ensure dimension processed before facts)
  • minimise cube processing time (do incremental updates where possible, do not process cube structure once cube is deployed to production)
  • maximise availability of latest data (process as often as possible)
  • minimise downtime for users (ie complete all cube processing in single transaction)
Currently my SSIS package consists of two processing tasks - process all dimensions (process full single transaction), then process cube (process full single transaction). Will this result in cube downtime between the two processing tasks? 

Can I use settings less than 'process full' for either of the tasks? I tried 'process update' on the dimensions but that gave me an error about rigid relationships.

Any other tips? 


 

Thanks,

Alex

 

SSAS Cube running from thrid party tool ( MDX ) ?

$
0
0

Team , I have a solution where SSAS cubes are getting processed via a third party tool .While browsing the cube from application tool ..i found these pieces in SQL Trace

<TOLAPGridSerializer>
  <AxesLayout>
    <TSerializedLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <RowHierarchies>
        <string>[xyz].[xyz]</string>
        <string>[fgh].[fgh - abc]</string>
      </RowHierarchies>
      <ColumnHierarchies />
      <PageHierarchies />
      <DetailsHierarchies />
      <Measures>
        <TSerializedMeasure>
          <ActiveModes>
            <string>Value</string>
          </ActiveModes>
          <Intelligences />
          <IntelligenceParents />
          <UniqueName>[Measures].[abc]</UniqueName>
          <DefaultFormat>#,#</DefaultFormat>
        </TSerializedMeasure>
      </Measures>
      <OpenendNodes />
      <OpenendActions />
      <ValueSortedColumn>1</ValueSortedColumn>
      <ValueSortingDirection>sdDescending</ValueSortingDirection>
    </TSerializedLayout>
  </AxesLayout>
</TOLAPGridSerializer>

Can some one please advise what does this reffers to ?


Rajkumar Yelugu

Compare dimension to values and highlight closest match.

$
0
0

Hi,

I need to highlight the closest values of the Weighted Average to the dimension values, possibly hide the rest. Tried in scope and as a calculate member. any help would be appreciated.

WAverage is a calculated member [Measures].[SumTotalsale] / [Measures].[SumQuantity]

Row Labels WAverage
04 - <250K 275.22
240.01 275.22
241.98 275.22
243.96 275.22
245.94 275.22
247.92 275.22
249.90 275.22
251.88 275.22
253.86 275.22
255.84 275.22
257.82 275.22
259.80 275.22
261.78 275.22
263.75 275.22
265.73 275.22
267.71 275.22
269.69 275.22
271.67 275.22
273.65 275.22<-- should be highlighted
275.63 275.22
277.61 275.22
279.59 275.22
281.57 275.22
283.55 275.22


Extracting data from SSAS cube into a table using SSIS

$
0
0
Hi,

I was trying to extract data from an SSAS cube into a relational table, basically create a fact table out of the cube, where I'd have the dimension's natural keys and the measure values.

I tried using the Microsoft OLE DB Provider for Analysis Services 9.0 to connect to the cube, and using the SQL Command option I was able to query the dimension tables (select * from [$Date].[$Date]) and push the data into a relational table. However for the cube data, I was only able to query the measure group and the cube dimension values separately. Apparently the 'tables' in which the measure group data and the cube dimension data is different, and I'm not able to find a relationship between them. Also for the cube dimension data I see one table for each cube-dimension combination. Am I taking the right approach?

I also tried using Linked Server to my OLAP database, and then use MDX to get data, but the problem remained that I wasnt able to write a MDX that would just give me rows of data with all the dimension keys and measures flattened out in a table.

Is there any other approach to get data from the cubes into a relational table?

Thanks

User Multi Select on Excel and opening balances

$
0
0

Hi

I've got a calculated member that provides and opening asset. If the user selects member on the month level, then that is what he gets, if he's on the year level then it returns January's opening asset - this is great.

e.g.

CREATE MEMBER CURRENTCUBE.[Measures].[Forecasted Opening Assets]
AS
IIF(
        [Budget Date].[Year-Quarter-Month-Day Hierarchy].CurrentMember.Level
						IS 
			[Budget Date].[Year-Quarter-Month-Day Hierarchy].[Calendar Year]
		,
            (
                [Measures].[Forecasted Opening Assets Persisted]
                , [Budget Date].[Year-Quarter-Month-Day Hierarchy].CurrentMember.FirstChild.FirstChild
            )
        , [Measures].[Forecasted Opening Assets Persisted]
    )

My problem is this:

If the user multi selects June to December, I want to return the opening balance for June.

I just don't know how to check if the user has returned a set, obviously current member is not going to help.

Any thoughts ?

Regards,

Jason


MCITP BI Developer - MCTS SQL Server (http://bichopsuey.wordpress.com/)

A duplicate attribute key has been found when processing

$
0
0
Hi

When I process one of my dimensions it fails and I get the following error:

Errors in the OLAP storage engine: A duplicate attribute key has been found when processing: Table: 'Customers', Column: 'DisplayName', Value: 'Stephen Grant'. The attribute is 'Display Name'.

I don't know if this is significant, but the attribute to which it is making reference was added through BIDS 2008 (the cube was originally created with BIDS 2005). 

There are no duplicates of 'Stephen Grant' in the DisplayName column. Not that it should matter if there were as this attribute has a cardinality of Many, with an rigid attribute relationship directly to the dimension's key attribute. The Key column for the Display Name attribute simply refers back to the same (DisplayName) column in the table.

If I delete this record, or even just update the DisplayName field from 'Stephen Grant' to something else, the dimension processes just fine. I can't work out what it is about this record that is stopping the dimension from being able to process.

Can anyone help me figure out what's going on?

Julia.

P.S. I am using SSAS 2008 on Windows Server 2008

cube's browser shows no data unless show empty cells is chosen - but excel pivot tables is doing just fine without it...!

$
0
0

Hey

Cube's browser (vs2008 - sql server 2008 r2) demands the show empty cells to be chosen in order

to show UN empty data...This may be explained by the fact that all cube's data is calculated

in scopes on the fly. Maybe browser is going ahead of cube when opening it for browsing and it is still empty then...(??)

If so - why then excel (2007) pivot tables is doing just fine without choosing the show empty cells...??

TIA for your thoughts!

Rea


Drillthrough action mdx condition newbie question

$
0
0

I am in the middle of learning SASS, and MDX has turned out to be a huge nut for me to crack.

I want to implement a drillthrough action which is shown only when the Calendar year is 2005. (Just for the practice)

Yet even this supposedly simple task is proving quite the difficult thing for me to do.

My MDX condition is as follows:

IIF([Date].[Calendar].[Calendar Year].CURRENTMEMBER IS [Date].[Calendar].[Calendar Year].&[2005], TRUE, FALSE)

I am using the adventureworks database as my basis for these practices.

My Code doesnt set off any errors, so I guess that the names are correctly written, but with this and similar attempts I simply get no drillthrough action made available in the cube browser.

Assistance anyone?

//////////////////////////////////////////////////////////////////////////////////////

I think i may have found the answer myself.

Seems that I was not meant to include the [Calendar Year] member in the when searching for CURRENTMEMBER:

Ergo: IIF([Date].[Calendar].CURRENTMEMBER IS [Date].[Calendar].[Calendar Year].&[2005],TRUE,FALSE)

Can anyone explain the reason for this? Because I am rather confused.

//////////////////////////////////////////////////////////////////////////////////////

scope

$
0
0

Hi,

I'm learning MDX and I can't scope statement work. What I did, I entered here

http://msdn.microsoft.com/en-us/library/ms145989.aspx

pasted the example from that article to my SSMS and tried to run it on Adventure Works. I got the error

Executing the query ...
No cube specified. A cube must be specified for this command to work.
Execution complete

Why?


Cheers,
Rafal




Rafal

Calculated member treats NULL's as zeros.

$
0
0

Hi there,

I'm trying to make a calculated member to display the result of dividing one value by another which shows the variance percentage between the [Measure Volume Actual] and [Measure Volume Plan] values.  I'm making the following tests:

1.  If the [Measure Volume Actual] or [Measure Volume Plan] are NULL then I'd like nothing to be displayed, i.e. NULL.

2.  If the [Measure Volume Plan] is 0 then I would like 100 % displayed.

ELSE

3.  (([Measure Volume Actual] - [Measure Volume Plan]) / [Measure Volume Plan]) * 100.

So I thought I'd write the following expression (FYI my measures are based on values in the measure dimensio hence the check to see what the [Measure Code] is):

CASE WHEN ([Measures].[Measure Volume Plan], [Measure].[Measure Code].[AT01]) IS NULL OR
          ([Measures].[Measure Volume Actual], [Measure].[Measure Code].[AT01]) IS NULL
       THEN NULL
     WHEN ([Measures].[Measure Volume Plan], [Measure].[Measure Code].[AT01]) = 0
       THEN 100.00
     ELSE ((([Measures].[Measure Volume Actual], [Measure].[Measure Code].[AT01]) -
            ([Measures].[Measure Volume Plan], [Measure].[Measure Code].[AT01])) /
           ([Measures].[Measure Volume Plan], [Measure].[Measure Code].[AT01])) * 100 END

I'm not too familiar with MDX so wrote this as a CASE statement which seems to work fine.  However NULL values appear to be ignored so the first clause in the CASE statement is skipped and the second clause in the CASE statement is triggered.  Hence my values are 100 %.

However this does not make sense as if I don't know the actual or plan values then I can't calculate a variance %.  If neither of them are NULL but the plan value is 0 then I know the variance % will be 100 % and this avoids the divide by zero error.

After looking around most people talk about the NullProcessing option in the base measure.  The base measures in my cube are [Measure Volume Plan] and [Measure Volume Actual].  I tried changing the NullProcessing option for both of these physical measures to Preserve however this didn't appear to do anything.  If anyone has any thoughts I'd love to know how to do this correctly.

Kind regards,

Chris

SSAS Dimension Sorting While Browsing In Excel

$
0
0

Hello,

I would like to use a defined sorting for dimension name. For example If I have Dimensions by name A,B,C than I would like to see these dimensions while browsing cube in the order of B,C,A.

Just to mention I am looking for Dimension sorting while browsing, Not Dimension attributes sorting.

Is there a way we can achieve this?

Regards,

Palash

Percentage Calculation

$
0
0

Hi All,

I am using the following MDX to get the Pecentage Sales, which works for all the dimensions. But if I use this measure for two dimensions at the same time, it doesn't work. For example, if I use this calculated measure with Customer Attribute from Customer dimension, it wokrs fine but if I drag another attribute called Product form Product dimension, the percentage shows wierd numbers. Please advise.

CASE WHEN IsEmpty([Measures].[Sales]) THEN 0 ELSE IIF(IsEmpty(Axis(1).Item(0).Item(0).Dimension.CurrentMember.Parent),1,                          [Measures].[Sales]/(Axis(1).Item(0).Item(0).Dimension.CurrentMember.Parent,Measures.Sales)) 
End

insert column into every dimension attribute programatically

$
0
0

I have just found out that I need to insert a new column (called Franchise) into every dimension attribute (key columns collection). I reckon that there are about 1000 changes to make.

Does anyone know of a programatic method of doing this. Or maybe there is a way to update the XML, that describes the dimension, by opening it in an editor and using find/replace. I did look, but couldn't see any likely candidates. Maybe, dimension attributes are not defined in the dimension XML

Thanks in advance,
Frank

MDX Queries

$
0
0
Hi, I am very new to SSAS and i need help populating a drop down list box using an MDX query. eg i would like the member properties to appear in the box. 

FREEZE : pb with filter in Excel/SSRS

$
0
0

Hi all,

 

I have a freeze statement in the calculation of the cube. This freezes a highest level of an hierarchy : FREEZE([Group].[group hierachy].[Top level].&[1]);

Then I am using a scope statement in order to filter data :

SCOPE([Group].[group hierachy].[Second level]);

THIS = AGGREGATE ([Group].[group hierarchy].CurrentMember.Children);

END SCOPE;

When I do a report either on Excel or SSRS, it's working at first but when I filter on a value of the second level, the result is changing for the level "Top Level" but I want that the freeze always apllys even if the user does a filter.

How can I do that ?

Regards

Connecting to SSAS via IIS using msmdpump.dll

$
0
0

Has anyone actually got the msmdpump.dll to work as it should?

Basically I'm trying to connect from server A (my webserver) to server B (my SSAS server), on server A I have installed/configured the msmdpump.dll within a virtual directory as detailed in the microsoft website documentation. I am wanting to use windows authentication so a user can just connect through the pump as themselves and connect to the SSAS box via an application that is yet to be written.

Note that this is on a Win2003 64bit box with IIS6 with a virtual directory of http://mywebservername/OLAP/msmdpump.dll and this virtual directory has the correct permissions for reading, its using the OLAP pool that I created according to the documentation and I've installed xml6 parser and the OLE analysis services driver thing and the SQL native client all successfully. The virtual directory is set to ONLY do windows authentication and nothing else and the msmdpump.dll is set to 'allowed' status in the extensions bit of IIS. Oh yes and the application mapping for the msmdpump.dll is set correctly with the '.dll' extension and the pump dll file location.

Trying to test connect via SSMS to the URL http://mywebservername/OLAP/msmdpump.dll will give the error...

 

      'unsupported data format : (Microsoft.AnalysisServices.AdomdClient)'

 

And if you browse to the URL via IE (with the show friendly error messages off) you get some XML back...

 

< soap:Envelope xmlns:soap =" http://schemas.xmlsoap.org/soap/envelope/ " >

    < soap:Body >
     < soap:Fault xmlns =" http://schemas.xmlsoap.org/soap/envelope/ " >
       < faultcode > XMLAnalysisError.0xc10e0002 </ faultcode >
      < faultstring > Parser: The syntax for 'GET' is incorrect. </ faultstring >
      < detail >
        < Error ErrorCode =" 3238920194 " Description =" Parser: The syntax for 'GET' is incorrect. " Source =" Unknown " HelpFile =" " />
    </ detail >
  </ soap:Fault >
 </ soap:Body >
</ soap:Envelope >


Right so far, now the interesting bit - change the authentication mode to 'anonymous' and set the user as myself (I have permissions on the directory and the SSAS server) and all works fine you can connect in SSMS via the same URL without changing anything.

I'm pulling my hair out trying to get this to work via Windows Authentication so I'm throwing it to the floor if anyone can solve this, I'll be impressed if you can as I cannot see any other way to make this work.

I've also read about the Kerberos delegation but my understanding was that this method (i.e. using this pump thingy) was so I didn't have to configure Kerberos delegation and mess about with spn's etc... please correct me if I'm wrong. The strange thing is that some messages on this subject seem to say if you see the XML message that I've pasted above then its working, so maybe I'm missing something just under my nose...

Hope you can help! :)


VS 2010 Tabular Project, SQL 2012, Connection Issues

$
0
0

All:

I am using a dedicated machine for tutorial purposes for SAL 2012, the Tabular SSAS model, and PowerView. The Hyper-V image as the following installed:

* Windows Server 2008 R2, running as a Domain Controller of a simple MyName.Local domain
* Sharepoint 2010 Enterprise
* SQL 2012 Enterprise
* MS Office 2010

Using VS 2010, I built a tabular model and everything was fine. I then shut down the Hyper-V and re-launched at a new location (under a new DHCP numbering scheme). I then added a column to one of the fact tables. I want to include that new column in the tabular model. I open the Table Properties and see the new column at the end, so I put a check mark in its title and click OK. I get the following error:

"OLE DB or ODBC error: A network related or instance-specific error has occured while establishing a connection to SQL Server. Server is not found or not accessible..."

Now the VS project is on the same box as the SQL instance, and it can connect to it to see the new column name, but then cannot refresh the data. What is going on? I have ALL SQL related services running under Domain Administrator (I know, not best practices but this is a tutorial box only), and have even tried a Hosts entry for the IP address. It worked once but then quit with no changes made.

Any ideas?


Todd C - MSCTS SQL Server 2005, MCITP BI Dev 2008 Please mark posts as answered where appropriate.

ssas datapump in 2003 server

$
0
0

Hi,

I have set up the ssas pump in xp successfully.But when i am trying the same with the 2003 server (64),it is giving me error.

When i am accessing the url http://localhost/olap/msmdpump.dll it is returning %1 is not a valid Win32 application.

When i am trying to connect using SSMS,it gives me the following

"Cannot connect to http://localhost/olap/msmdpump.dll.

The connection either timed out or was lost. (Microsoft.AnalysisServices.AdomdClient)

The remote server returned an error: (500) Internal Server Error. (System)"

Could any one plz guide me on this..

I ma using anonymous access with my windows id information

Currently both ssas server and pump server in the same machine-2003

I want to access this ssas though this pump from a website which hosted in another website...

Please let me know the correct steps for this scenario...

Is it possible to create a cluster for SQL server analysis services alone without DB engine with SQL server setup file of failover cluster manager option

$
0
0

Hi ,

We can create an SQL cluster (clustered DBA engine) – no question about it.

Is it possible to create a cluster for SQL server analysis services alone, without the DB engine, only SSAS alone ..

BR

Eben

Viewing all 2472 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>