SSAS cubes - fragments

Hi,
Hoping someone can help. I have defined a logical model over the top of a set of SSAS cubes in a single SSAS database. This consists of a summary cube and detailed cubes that relate to individual products. I would like to have a "Product" dimension that will allow the user to drill between the products and for dimensions at lower levels of granularity (i.e. that are only relevant to one product) data should be sourced from the relevant detailed cubes. Unfortunately although the summary cube has a product dimension the detailed cubes don't - when I try to map the detailed cube to the product dimension using an expression I get the following error message: "Target data source does not support the Complex Expression operation."
e.g.
Product Dimension has 3 products in it: Bikes, Cars and Boats. There is a summary cube that contains all 3 products and has the Product dimension defined.
There are 3 detailed cubes for Bikes, Cars and Boats that don't have a product dimension. In my mappings for the Product Name attribute of the Product dimension I have the following:
Logical Table Source..... Mapped As
SummaryCube..... Product.Product
BikeCube... 'Bikes'
CarCube... 'Cars'
BoatCube.. 'Boats'
Hope this explains it. I get the error message whenever I'm trying to get data from the detailed level cube.
Thanks,
Rob

Hi Platt,
By default, the default account for AS services 'NT Service\MSSQLServerOLAPService' has only public permission to few databases. If you haven't change the AS services account, or haven't grant the permission for this account, then you cannot deploy
the AS project to server.
So in your scenario, ensure the service "SQL Server Analysis Services" is running with a proper Log On As user. This user should have administrator permission on Analysis Services and the proper permissions on the database engine. To avoid this
issue, you can grant the SELECT permission for the default account for AS services to data source DB. Or you can change the services account to this domain user who has the corresponding to the data source DB.
http://jetreportskb.host4kb.com/article/AA-00238
http://msdn.microsoft.com/en-in/library/ms175371.aspx
Regards,
Charlie Liao
TechNet Community Support

Similar Messages

  • SSRS Date parameter - current month from SSAS cube

    I have a SSAS cube with a date dimension called Posting Period and now I would like to have my report parameter using this date dimension to show the current month.
    So far I have worked out the following expression which are working(Fiscal year calendar going from May to May) for the year component - but I can't figure out how to get it to work on Quarter date part (and the month) so as you can see
    the Quarter and month is hardcoded in the below expression:
    ="[PostingPeriod].[Posting Period].[Year].&[" + CStr(Year(Today())-1) + "].&[Q4].&[10]”
    Any help would be appriciated.
    Tx

    Hi HCMJ,
    In your scenario, you use the expression
    ="[PostingPeriod].[Posting Period].[Year].&[" + CStr(Year(Today())-1) + "].&[Q4].&[10]”
    to set the default value of the parameter and then use it in the MDX query, right?
    If in this case, you can use the expression below
    ="[PostingPeriod].[Posting Period].[Year].&[2013].&[Q" & DatePart(DateInterval.Quarter,today()) & "].&[10]”
    to set the value on Quarter date part.
    And it returns:
    If I have anything misunderstood, please point it out and elaborate the meaning of "but I can't figure out how to get it to work on Quarter date part (and the month) so as you can see the Quarter and month is hardcoded
    ", so that we can make further analysis.
    Regards,
    Charlie Liao
    TechNet Community Support

  • SSRS Expression Current month in a Fiscal calendar dimension from a SSAS cube

    How to create an expression for a default SSRS parameter to a SSAS cube when using i Fiscal Year calendar - and where I want to show current Calendar month and year (for example February 2014) 
    This is an example of my Time dimension for February 2014:
    [Time].[FiscalYMD].[Fiscal_Year].&[2013].&[10]
    The fiscal calendar goes from May - May - which means that April 2014
    would look like this:
    [Time].[FiscalYMD].[Fiscal_Year].&[2013].&[12]
    and May 2014 would look like this:
    [Time].[FiscalYMD].[Fiscal_Year].&[2014].&[01]
    Please advise

    Hi HCMJ,
    To represent the fiscal calendar, you shift the current date by 4 months back. Then you can do:
    ="[Time].[FiscalYMD].[Fiscal_Year].&[" & Year( DateAdd( "m", -4, Today() ) ) & "].&[" & Month( DateAdd( "m", -4, Today() ) ) & "]"
    It just gets the year and month of '4 months ago'. I have not tested it, but I guess it should work.
    Regards
    Andrew Borg Cardona

  • Date parameter in report whose source is SSAS cube shows all dates in DimDate?

    My cube consists of a FactTable that has a foreign key to [DimDate], through column [DateKey]. My DateKey has dates from
    20010101 to 20201231. My fact table only has data from today (20141017). 
    In SSRS, I add the dimension Dim Date, Date Key as parameter. When I run the report, everything runs great, the only problem being that the date dropdown shows all the
    DateKeys from [DimDate] (20010101 to 20201231).
    How can I only show in the dropdown parameter only the DateKeys that have actual data? In this case, the parameter would only only display 20141017.
    Thanks.
    VM

    Thanks, but I don't think you read the whole question. 
    I'm using as datasource an SSAS cube. The query that populates the parameter looks like this:
    WITH MEMBER [Measures].[ParameterCaption] AS [Dim Date].[Date Key].CURRENTMEMBER.MEMBER_CAPTION MEMBER
    [Measures].[ParameterValue] AS [Dim Date].[Date Key].CURRENTMEMBER.UNIQUENAME MEMBER
    [Measures].[ParameterLevel] AS [Dim Date].[Date Key].CURRENTMEMBER.LEVEL.ORDINAL
    SELECT {[Measures].[ParameterCaption], [Measures].[ParameterValue], [Measures].[ParameterLevel]} ON COLUMNS ,
    [Dim Date].[Date Key].ALLMEMBERS ON ROWS FROM [Sales cube]
    VM

  • Using FORMAT_STRING from SSAS cube - not working consistently

    Here's the deal.  
    I've got an SSAS cube and I am scoping the format of the measures based on dimension members. 
    Like this.
    scope(( [Account].[Level 5].&[I000900000] )); 
    format_string(This) = "(#,0,);#,0,";   
    end scope; 
    I'm then calling this format in the SSRS report using typical SSRS trickery and hacks.  
    Well. When I run the report for one date (this is a GL financial cube), this works perfectly.  When I run the report for a different date, it all of a sudden doesn't work.  When I view the data in excel through a pivot table, everything is fine.
    It's driving me crazy.  Has anyone else experienced something like this.

    Hi Baracus,
    Thank you for your question. 
    I am trying to involve someone more familiar with this topic for a further look at this issue. Sometime delay might be expected from the job transferring. Your patience is greatly appreciated. 
    Thank you for your understanding and support.
    Regards,
    Charlie Liao
    TechNet Community Support

  • Dimension Security causing SSAS cube to slow down

    Hi,
    Experiencing problems with with the SSAS cube once its processed. Sometimes takes around 20 mins for the excel to load once you drag down any dimension.The cube has got no calc scripts/named sets etc.It has around 17 dimensions and one dimension(Employer)
    has got 46 attributes and another (member)17.Others are pretty small.The Employer dimension is used twice as role playing and the both employer/member have got dimension security applied to it.There are about 6 roles have been set up to restrict access to
    members in these dimensions.
    The SQL profiler shows multiple "Query Dimension" (mostly for Employer dimension)followed by a lot of "Calculate Non Empty Current"s  .Suspect that the delay is due to the dimension security expression evaluation.This only happens
    during first access of the cube within a role and it's relatively quick when I'm accessing via a role which doesn't have dimension security applied to it.Is there anyway to automatically trigger this process right after the cube has been processed so that
    it doesn't cause agony to the first user?

    You could build a cache warmer that connects with EffectiveUserName=YourDomain\user1 on the connection string and loop through each user. But what is your dimension security expression? Maybe we can speed it up.
    http://artisconsulting.com/Blogs/GregGalloway

  • SSRS Parameter Drop downs are greyed out after changes to SSAS cube

    Hi
    I am facing a weird problem. I have 3 SSRS reports that are based on an SSAS cube. Few days back I deployed some changes to cube and everything works ok on dev environment. When I deployed the same changes to production, SSRS reports don't work. I don’t
    get any error or anything when I click open the report but all the parameter boxes are greyed out. If I restore SSAS database from dev to production then SSRS reports work fine and I can select parameter drop downs. What could possibly wrong here. I have no
    idea to what to troubleshoot here.
    Thanks
    Nik

    Hi Nik,
    Are you using render the report from a report snapshot? In contrast with reports that run on demand, it is not possible to specify a different parameter value for a report snapshot when the report is open. So the parameter textbox is grayed out. If the users
    want to view the report with different parameter, we can select “Always run this report with the most recent data” option in “Processing Options properties” page.
    Besides, if the issue is not in this scenario, we can try to edit the report with Report Builder to check whether the report is ok. Such as delete the parameters, then recreate them to check again.
    If there are any misunderstanding, please elaborate the issue for further investigation.
    Thanks,
    Katherine Xiong
    Katherine Xiong
    TechNet Community Support

  • SSRS Report date parameter values using SSAS Cube as datasource

    Hey Guys, 
    i m building an SSRS report using SSAS cube as the data source. The report contains shared data-sets which provide the required data. below is the set up.
    Sql server version : Sql server 2008R2
    Report builder 3.0 
    I have, Report A, powered by Dataset D, running on Cube C. The dataset has 3 parameters out of which one of them is a date parameter- P1. I have it set up such that on the report there is  another parameter - P2 which contains the type as Date ( to
    ensure the user is exposed to a date picker), the input from this, P2 is then manipulated to required format before fed into the dataset parameter P1 (hidden). I have two questions regarding this parameter.
    Currently, when the user pick's a date (P2) which has no values, the report errors out as it doesn't find that corresponding member on the cube. Can it be made such that if the member doesn't exists, a simple error message like "date not found"
    pops up as opposed to report failing?
    Secondly, can i manipulate the date picker (P2) exposed to the user such that the unavailable dates are grey'ed out on the date parameter (P2)? 
    Please let me know if there is any more info required on each of the questions.
    Thanks
    Srikanth

    Hello Katherine,
    below are the errors which pop up with the 'Constrained' function in place and without. The MDX query is what follows.
    Without: 
    An Error has occurred during report processing. (rsProcessingAborted). The Execution Failed for the shared data set “Dataset1”.(rsDataSetExecutionError). Query Execution failed for dataset ‘DataSet1’. (rsErrorExecutingCommand). The dimension ‘[10 Sep 2014]’
    was not found in the cube when the string, [10 Sep 2014], was parsed.
    With Constrained flag:
    An Error has occurred during report processing. (rsProcessingAborted). The Execution Failed for the shared data set “Dataset1”.(rsDataSetExecutionError). Query Execution failed for dataset ‘DataSet1’. (rsErrorExecutingCommand). Query(1,1476) The restrictions
    imposed by the CONSTRAINED flag in the STRTOSET function were violated.
    SELECT
    NON EMPTY
    [Measures].[A]
    ,[Measures].[B]
    ,[Measures].[C]
    ,[Measures].[D]
    ,[Measures].[E]
    } ON COLUMNS
    ,NON EMPTY
    [DimA].[LevelA].[LevelA].ALLMEMBERS*
    [DimB].[LevelB].[LevelB].ALLMEMBERS*
    [Date].[Date].[Date].ALLMEMBERS
    DIMENSION PROPERTIES
    MEMBER_CAPTION
    ,MEMBER_UNIQUE_NAME
    ON ROWS
    FROM
    SELECT
    StrToSet (@FilterA ,CONSTRAINED) ON COLUMNS
    FROM
    SELECT
    StrToSet(@Date, CONSTRAINED) ON COLUMNS
    FROM [Cube1]
    WHERE
    [DimC].[Level1].&[Member1]
    ,[DimC].[Level2].&[Member1]
    ,[DimC].[Level3].&[Member1]
    ,[DimC].[Level4].&[Member1]
    Thanks
    Srikanth

  • Slow parameter from SSAS cube

    Hi,
    I've got a SSRS report which use a SSAS cube as source. In the report there are 5 parameters which are build in the Report builder 3.0 using the designer.  The report server is a SQL server 2008 R2 with the latest updates.
    The issue that I am having is when running the report if I would like to choose another value from one of my parameters then I open the parameters (drop-downbox)and select another value in the box - then it's like the drop-down box hangs for 3-4
    seconds when I click out of the box before the value is appearing in the report, when I use the Report builder Tool. If I do the same in IE then the reports render for 10-15 seconds each time a new value is choosen.
    Any Idea how to improve this?
    The Parameter consist of only 5-6 values and it performs very fast if I execute the Query in the designer
    I've attached the Query as it looks like for the parameter(hidden dataset):
    WITH MEMBER [Measures].[ParameterCaption] AS [Company].[Company Name].CURRENTMEMBER.MEMBER_CAPTION MEMBER [Measures].[ParameterValue] AS [Company].[Company Name].CURRENTMEMBER.UNIQUENAME MEMBER [Measures].[ParameterLevel] AS [Company].[Company Name].CURRENTMEMBER.LEVEL.ORDINAL
    SELECT {[Measures].[ParameterCaption], [Measures].[ParameterValue], [Measures].[ParameterLevel]} ON COLUMNS , [Company].[Company Name].ALLMEMBERS ON ROWS FROM ( SELECT ( STRTOSET(@ReportingCurrencyReportingCurrency, CONSTRAINED) ) ON COLUMNS FROM [SALES])
    (the issue is the same for all my parameters)

    Hi HCMJ,
    In your scenario, you said that "the reports render for 10-15 seconds each time a new value is choosen".
    Report server performance is affected by a combination of factors that include hardware, number of concurrent users accessing reports, the amount of data in a report, and output format.
    To find out how long it takes to process a report and which process phase take more time, we can review the report server execution log. We can use the report execution log to find out how often a report is requested, what formats are used the most, and
    how many milliseconds of processing time is spent on each processing phase.
    In addtional, i'd suggest you enable SQL Sever profiler to monitor the queries fired by the report, once you find some queries took a very long time to run, consider creating the smaller cube partition or optimzing the query by adding index or
    partition to improve the query performance.
    Regards,
    Charlie Liao
    TechNet Community Support

  • Cache and performance issue in browsing SSAS cube using Excel for first time

    Hello Group Members,
    I am facing a cache and performance issue for the first time, when I try to open a SSAS cube connection using Excel (using Data tab  -> From Other Sources --> From Analysis Services) after daily cube refresh. In end users
    system (8 GB RAM), for the first time, it takes 10 minutes to open the cube. From next run onwards, its open up quickly within 10 secs.
    We have daily ETL process running in high end servers. The configuration of dedicated SSAS cube server is 8 core, 64GB RAM. In total we have 4 cubes - out of which for 3 is full cube refresh and 1 is incremental refresh. We have seen after
    daily cube refresh, it takes 10 odd minutes to open the cube in end users system. From next time onwards, it opens up really fast with 10 secs. After cube refresh, in server systems (16 GB RAM), it takes 2 odd minutes to open the cube.
    Is there, any way we could reduce the time taken for first attempt ?
    Best Regards, Arka Mitra.

    Thanks Richard and Charlie,
    We have implemented the solution/suggestions in our DEV environment and we have seen a definite improvement. We are waiting this to be deployed in UAT environment to note down the actual performance and time improvement while browsing the cube for the
    first time after daily cube refresh.
    Guys,
    This is what we have done:
    We have 4 cube databases and each cube db has 1-8 cubes.
    1. We are doing daily cube refresh using SQL jobs as follows:
    <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" xmlns:ddl2="http://schemas.microsoft.com/analysisservices/2003/engine/2" xmlns:ddl2_2="http://schemas.microsoft.com/analysisservices/2003/engine/2/2" xmlns:ddl100_100="http://schemas.microsoft.com/analysisservices/2008/engine/100/100" xmlns:ddl200="http://schemas.microsoft.com/analysisservices/2010/engine/200" xmlns:ddl200_200="http://schemas.microsoft.com/analysisservices/2010/engine/200/200">
    <Object>
    <DatabaseID>FINANCE CUBES</DatabaseID>
    </Object>
    <Type>ProcessFull</Type>
    <WriteBackTableCreation>UseExisting</WriteBackTableCreation>
    </Process>
    </Parallel>
    </Batch>
    2. Next we are creating a separate SQL job (Cache Warming - Profitability Analysis) for cube cache warming for each single cube in each cube db like:
    CREATE CACHE FOR [Profit Analysis] AS
    {[Measures].members}
    *[TIME].[FINANCIAL QUARTER].[FINANCIAL QUARTER]
    3. Finally after each cube refresh step, we are creating a new step of type T-SQL where we are calling these individual steps:
    EXEC dbo.sp_start_job N'Cache Warming - Profit Analysis';
    GO
    I will update the post after I receive the actual im[provement from UAT/ Production environment.
    Best Regards, Arka Mitra.

  • Performance issue in browsing SSAS cube using Excel for first time after cube refresh

    Hello Group Members,
    This is a continuation of my earlier blog question -
    https://social.msdn.microsoft.com/Forums/en-US/a1e424a2-f102-4165-a597-f464cf03ebb5/cache-and-performance-issue-in-browsing-ssas-cube-using-excel-for-first-time?forum=sqlanalysisservices
    As that thread is marked as answer, but my issue is not resolved, I am creating a new thread.
    I am facing a cache and performance issue for the first time when I try to open a SSAS cube connection using Excel (using Data tab  -> From Other Sources --> From Analysis Services) after daily cube refresh. In end users system (8 GB RAM but around
    4GB available RAM), for the first time, it takes 10 minutes to open the cube. From next run onwards, its open up quickly within 10 secs.
    We have daily ETL process running in high end servers. The configuration of dedicated SSAS cube server is 8 core, 64GB RAM. In total we have 4 cube DB - out of which for 3 is full cube refresh and 1 is incremental refresh. We have seen after daily cube
    refresh, it takes 10 odd minutes to open the cube in end users system. From next time onwards, it opens up really fast with 10 secs. After cube refresh, in server systems (32 GB RAM, around 4GB available RAM), it takes 2 odd minutes to open the cube.
    Is there, any way we could reduce the time taken for first attempt ?
    As mentioned in my previous thread, we have already implemented a cube wraming cache. But, there is no improvement.
    Currently, the cumulative size of the all 4 cube DB are more than 9 GB in Production and each cube DB having 4 individual cubes in average with highest cube DB size is 3.5 GB. Now, the question is how excel works with SSAS cube after
    daily cube refresh?
    Is it Excel creates a cache of the schema and data after each time cube is refreshed and in doing so it need to download the cube schema in Excel's memory? Now to download the the schema and data of each cube database from server to client, it will take
    a significant time based on the bandwidth of the network and connection.
    Is it anyway dependent to client system RAM ? Today the bigest cube DB size is 3.5 GB, tomorrow it will be 5-6 GB. Now, though client system RAM is 8 GB, the available or free RAM would be around 4 GB. So, what will happen then ?
    Best Regards, Arka Mitra.

    Could you run the following two DMV queries filling in the name of the cube you're connecting to. Then please post back the row count returned from each of them (by copying them into Excel and counting the rows).
    I want to see if this is an issue I've run across before with thousands of dimension attributes and MDSCHEMA_CUBES performance.
    select [HIERARCHY_UNIQUE_NAME]
    from $system.mdschema_hierarchies
    where CUBE_NAME = 'YourCubeName'
    select [LEVEL_UNIQUE_NAME]
    from $system.mdschema_levels
    where CUBE_NAME = 'YourCubeName'
    Also, what version of Analysis Services is it? If you connect Object Explorer in Management Studio to SSAS, what's the exact version number it says on the top server node?
    http://artisconsulting.com/Blogs/GregGalloway

  • Query accessing SSAS cube is taking more time in power view report

    Hi,
    My SSAS server is having 16 Core's . I have created a power view in sharepoint site, which is accessing ssas cube.
    The report is taking more time to show the result.  I traced the DAX query using SQL Server profiler. When I ran this DAX query in SSAS server directly, then its taking less time but when the same query running from sharepoint server (power view) , it
    is taking more time. Number of records in the fact table is 300M . 
    Also i tracked the %process time in performance monitor, mostly the line is below 20%. I think the CPU is not fully utilized..
    Could you please help me to improve the performance of my report.
    Regards,
    Arun

    Hi Arun,
    According to your description, you create a PowerView report in SharePoint site connect to SSAS cube, the problem is that it take long time to show the result in the report, now you want to improve report performance, right?
    In your scenario, you said that it takes more time to return the result in PowerView report than run the query directly in SSMS. For a report, its run time contain retrieval data time and render report time. So it takes more time to return the result in
    PowerView report than run the query directly in SSMS. And there are 300M records in the fact table, the performance can be caused by large data. Here is a blog which describes tracks down Power View performance problems.
    http://blogs.msdn.com/b/psssql/archive/2013/07/29/tracking-down-power-view-performance-problems.aspx
    Regards,
    Charlie Liao
    TechNet Community Support

  • Connecting to an external SSAS cube in SSDT 2012 on Windows Server 2008 R2 Core

    Good Evening,
    We are experiencing issues when executing an SSIS package from a SQL Server job. However, when we execute the package locally, it is
    successful. The package connects to an external SSAS cube using MDX. I have attached the error message below. The connection manager is OLE DB Provider for Analysis Services 11.0. We can successfully ping the external site where the cube is located from the
    server with the job.
    We are using Windows Server 2008 R2 Core. We are trying to access an external cube through HTTPS by sending a username/password in the connection string. This is sent through an OLE DB connection in SSIS. I found an article which says that "Because
    there is no Web browser, you cannot activate a Server Core installation or access the Internet through a firewall that requires users to log on." Does anyone have any additional details on this...is this a futile effort?
    Thanks - Brett

    Hi Brett,
    According to your description, you are experiencing the error when you connect to SQL Server Analysis Services database on a SSIS package, right?
    In your scenario, you said that the package can be executed successfully on your local environment, the issue only occurs on the SSAS server. So please ensure that the provider was installed on the server. Besides, here is a blog which describe how
    to configure the Analysis Services Processing Task in SQL Server 2012 Integration Services, please refer to the link below to see the details.
    http://www.mssqltips.com/sqlservertip/2994/configuring-the-analysis-services-processing-task-in-sql-server-2012-integration-services/
    Regards,
    Charlie Liao
    TechNet Community Support

  • Service Not Available error with SSAS cube

    Hi,
    We imported Microsoft Analysis Services (SSAS) Cube into RPD using XMLA.  While using the drill down feature in BI answers using presentation hierarchies, OBIEE is generating the following error
    Error Codes: OPR4ONWY:U9IM8TAC:OI2DL65P
    Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 43113] Message returned from OBIS. [nQSError: 43119] Query Failed: URL: http://<server>/<app name>/msmdpump.dll. The http return status is 503.< html><head><title>Service Not Available</title></head><body>Service Not Available</body></html>
    However, drill down feature is working fine with attribute columns. Also the report is working fine up to certain level of drill down. In the log it is evident that OBIEE is generating multiple physical queries (with clause) to pull the data from the cube.
    Is there any limit on the size of the mdx or number of mdx queries that msmdpump.dll can process?  Is there any configuration that needs to be modified while working with SSAS cubes?
    OBIEE version: 11.1.1.6.2 BP1
    Much appreciate your time.

    Hi Dhar,
    Thanks for your reply.
    Yes, your observation is correct. Changing the type of the hierarchies has some effect on the issue. I'm able to drill down to few more levels as the MDX generated by OBIEE in this less complex. But ultimately I'm facing the same issue after certain stage. I can only think of, the number of physical queries generated by OBIEE, as one of the possible reason for this. What is your opinion?
    Interestingly, I tested the same RPD in 11.1.1.6.5 and I'm unable to reproduce in the issue so far in my testing . Is it a bug in 11.1.1.6.2?! However, upgrading to 11.1.1.6.5 is not an option for us at this stage.
    Were you able to resolve the issue completely by only changing the hierarchy type? What version you have used in you project?
    Thanks.

  • Calculate percent difference of revenue dollars between company a and company b in SSAS cube

    New to the world of SSAS cubes.  Here is my scenario... I have company A that has revenue R for a given month.  I have company B that has revenue S for the same month.  I have Company C that has revenue T for the same month.  I need
    to calculate the pct difference between revenue R vs S, and R vs T, for each month.  Can this be done in a SSAS cube?  Thanks in advance.

    hi,
    Hereunder one idea that went through my mind. But there is room for improvement.
    Feel free to replace the pct formula with your own conception of it.
    I didn't clutter it with the usual nullity test that you can find in the documentation on the internet.
    No company dimension in AW so i took country instead:
    WITH
    MEMBER [Measures].[Pct vs] AS
    [Customer].[Country].currentmember.nextmember.name
    MEMBER [Measures].[Perct vs] AS
    [Customer].[Country].currentmember.nextmember.nextmember.name
    MEMBER [Measures].[Sales next member] AS
    ([Customer].[Country].currentmember, [Measures].[Internet Sales Amount]) / (
    [Customer].[Country].currentmember.nextmember,
    [Measures].[Internet Sales Amount])
    MEMBER [Measures].[Sales 2nd next member] AS
    ([Customer].[Country].currentmember, [Measures].[Internet Sales Amount]) / (
    [Customer].[Country].currentmember.nextmember.nextmember,
    [Measures].[Internet Sales Amount])
    SELECT
    [Measures].[Internet Sales Amount],
    [Measures].[Pct vs],
    [Measures].[Sales next member],
    [Measures].[Perct vs],
    [Measures].[Measures].[Sales 2nd next member]
    } ON 0,
    [Date].[Calendar].[Month].&[2007]&[1],
    [Date].[Calendar].[Month].&[2007]&[2]
    [Customer].[Country].[Country]
    } ON 1
    FROM [Adventure Works];
    Hope this will inspire you !
    Philip

Maybe you are looking for