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

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

  • Pass parameter from SSAS to Non-SSAS based report

    Hi,
    I want to pass a report from my mainreport based on a SSAS cube to my subreport which is a NON-ssas cube (relationel datasource)
    How can achieve this when my parameter is structured like this in SSAS:
    [ProjID].[ProjID].&[be]&[PRJ180127-00001]       - I only want to pass the Projectnumber(PRJ180127-00001) to my subreport
    How to achieve this ?
    I tried using Projectid.UniqueName - but this is passing the whole string [ProjID].[ProjID].&[be]&[PRJ180127-00001]  - which my other report wont accept as a parameter.

    Hi ,
    For value you can use ;
    [Dim Date].[Calendar Year].CURRENTMEMBER.MEMBER_CAPTION
    Thanks
    Please Mark This As Answer or vote for Helpful Post if this helps you to solve your question/problem.

  • 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

  • Deleting Data from SSAS CUBE

    Hello Everyone,
    I have a question, we developed a Basic Cube by building dimensions & Fact from the Source table(Everything in DSV, no Physical DIM and Fact Tables). Now everything goes well.  The Source table will only have CUrrent day data.
    My Question is: Need to delete  particular day data from the cube without disturbing the Existing Data.
    Eg: When I process the data on 31st of March, cube will have only 31st. But when I process 1st , 2nd data CUbe should have 31st +2nd data. 1st Dated data should be deleted from cube,when ever I process the data I just need month end data need to be stored
    with current day data. all the other stuff should be deleted from the cube.
    if I process the Cube on 1st of May, I should only have 31st March, April 30th and May 1st data.
    Hope the Question is clear, please let me know.
    Any help/suggestions would be appreciated.
    Thanks In Advance.
    Thanks, Please Help People When they need..!!! Mark as answered if your problem is solved.

    Hi BKomm,
    I Guess the only way to handle this scenario is by using partitions.
    Create partitions for every last day of months + One additional partition for  current_date.
    your where clause for current_date partition should be somewhat like this
      Where Date = current_date And Date <> Last_Day_of_current_Month
    so that it does not duplicate data for the last day of current month.
    Saurabh Kamath
    Hello Kamat, I was looking for something else inorder to delete the existing data from a cube. But your Approach is far better than making it complex, it did not strike to my mind. Thanks will implement practically and check.
    Thanks Again.
    Thanks, Please Help People When they need..!!! Mark as answered if your problem is solved.

  • Ssrs report from ssas cube , driving me nuts now...

    hi folks:
     This is driving me nuts and I know it's gonna be some small stupid settings.  The question is pretty simple, I want to users to be able to pick up a week from date hierarchy. If I specify a static week, mdx query will run and report shows with
    correct data and format. 
    Now, in the dataset I've created using query designer, I've dragged data hierarchy into the filter and check the parameter box and also put a default value as well.   Technically, when I run this report, I am supposed to see a dropdown list with all
    the available dates but I did not see any dropdownlist and report still runs with default value. 
     Why is this happening? 
    Thanks
     Hui
    --Currently using Reporting Service 2000; Visual Studio .NET 2003; Visual Source Safe SSIS 2008 SSAS 2008, SVN --

    Hi Hui,
    Just as Gnanadurai said, a report auto runs when all parameters has their own default values. This scenario can also be occurred when there are no available values for the parameters. So if you want to see a drop-down list with all available dates when the
    report runs, we should specify some available values for the parameter. For example, we can specify the available values come from a dataset field. Then the values in the field would be displayed in the drop-down list, we can select some of them to filter
    the report.
    Reference:
    Adding Parameters to Select Multiple Values in a List (SSRS)
    Hope this helps.
    Thanks,
    Katherine Xiong
    If you have any feedback on our support, please click
    here.
    Katherine Xiong
    TechNet Community Support

  • Report Action from SSAS to Report(SSAS or SSRS)

    Hello,
    I am struggling to pass a parameter from SSAS cube to SSAS or SSRS report from Report Action window.
    I am trying like below
    condition:[PRODUCT DIM].[PRODUCT].currentmember.Level is [PRODUCT DIM].[PRODUCT].[PRODUCT]
    parameter:UrlEscapeFragment([PRODUCT DIM].[PRODUCT].CurrentMember.MemberValue)
    or
    UrlEscapeFragment([PRODUCT DIM].[PRODUCT].CurrentMember.UniqueName)
    or
    UrlEscapeFragment(MEMBERTOSTR([PRODUCT DIM].[PRODUCT].CurrentMember))
    My problem is,it is opening up the detail report but not passing the parameter value,i tried detail report by keeping
    dropdown list or empty box i.e user has to enter value in detail report.Problem is SSAS is picking the right value from
    my excel but it is not highlighting the value in detail report.It is been two days i am struggling with this,any help is greatly appreciated!!
    thanks
    krishna

    Hi,
    In the BW universe connection we are hardcoding the BW System, Client, SID etc. So in DEV universe we'll have some values for these fields and while moving these to QA we need to change these parameters. Is this done in Mappings under LCM.
    >>those capabilities are available in the Lifecycle Manager - suggest you download the software and product documentation to learn more about it.
    One more question is, Can we change the universe connection by creating a connection to point to QA and using that in universe using UNIVERSE DESIGNER. If we do so, i suppose we need to refresh the universe to see whether there is any change that can happne to the query. Is this recommended?
    >> if you are unsure if the queries / sources are identical then you would have to refresh
    Ingo

  • Interacting with the ssas cube from a web application

    Hi All,
    I have a requirement in which we are using a web application to show the reports designed in ssrs. As of now we are hitting the Database and getting the reports. But now we have developed a cube and we want to display the reports from ssas Cube.
    My issue lies here.  How to populate the filter drop down lists from ssas Cube ( how to read the mdx format ).  Is there any way or work around to do it in ASP.Net..
    To be more clear the report output will be from ssrs dashboard. Filters should be populated from cube.
    Thanks in advance
    Regards
    Balaji - BI Developer

    Hello,
    You can use .NET AdoMd Client to connect to SSAS and to run MDX queries agains a cube; see
    ADOMD.NET Client Programming and
    Microsoft.AnalysisServices.AdomdClient Namespace
    Olaf Helper
    [ Blog] [ Xing] [ MVP]

  • 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

  • Greater than Equal to Functionality when retirivng data from SSAS 2008 cube using SSRS 2012 report not working

    I have an SSRS 2012 report and SSAS Cube in 2008. My report criterion requires filtering on measures. So Created measures as dimensions . The report requires >= functionality on the measures. But in the Query designer of 
    the report there is =, IN, Within Range ,Excluding range , MDX as the operators.
    To achieve my goal. I have “From” and “To” as parameters on the numeric dimension. The “To” parameter I have set as internal and setting
     the default value of  “TO” .By writing another Dataset query that returns the “MAX” 
    value and the MAX value returned is a member of the measure converted to dim I confirmed.. So this whole works as >=.The user enters only the “FROM” parameter and the “TO” is set internally. The user can enter any value in the “From” parameter. Any
    value that is not even a member.It is a textbox. I cannot use a list of values from the “From” parameter.
    But whenever I run the report after entering all the selection criteria
     I keep getting
    Error “the restrictions imposed by the constrained flag in the strtomember functions were violated”
    I know this means that Max value in the “TO” section is not a member .
    I did try
    : StrToMember("[Fact RCS CV BLAST].[APPRLIMIT ACH].
    &[" & @ToFactRCSCVBLASTAPPRLIMITACH &
    "]", CONSTRAINED) )
     But I get “syntax for the “&” is incorrect”
    If I use Drop down for the “From” and “To” parameters then it works fine. But that’s not what Business Users need.
    Please let me know what the options to make this work. I did use parameters that filter the
     Dataset returned it works fine but there is a performance impact.

    Hi,
    I think if you use the following method you will be able to compare the members.
    CDbl(StrToMember("[Fact RCS CV BLAST].[APPRLIMIT ACH].&[" + @ToFactRCSCVBLASTAPPRLIMITACH + "]").Member_Name)
    As you mentioned that you converted your measures as dimensions, you are having an integer value as the member name. In that case use VBA functions with MDX to do the datatype conversion.
    Take a look into the following MDX written against Adventure Works;
    WITH CALCULATED MEMBER [Measures].[Member Name] AS
    CInt
    Right
    CStr
    [Date].[Calendar Year].CURRENTMEMBER.MEMBER_NAME
    ), 4
    SELECT {[Measures].[Sales Amount], [Measures].[Member Name]} ON COLUMNS,
    FILTER
    [Date].[Calendar Year].[Calendar Year].MEMBERS,
    CInt(Right(CStr([Date].[Calendar Year].CURRENTMEMBER.MEMBER_NAME), 4)) >= 2005 AND
    CInt(Right(CStr([Date].[Calendar Year].CURRENTMEMBER.MEMBER_NAME), 4)) <=2008
    } ON ROWS
    FROM [Adventure Works]
    I am filtering the Years by using the member names by extracting the Integer portion of the member name and applying data type conversion functions in VBA. So I 
    Keep in mind that you have to get rid of the CONSTRAINED clause if your business users can enter anything on the SSRS text box. 

  • 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

  • Help understand MSDN solution from SSRS dropdown and SSAS cube?

    Basically, my problem is that the dropdown in my SSRS report is displaying every single day in my Date Dimension, so it's showing everything from 20000101 to 20201231. I would only like to display the dates that are included in my fact table; right now,
    my fact table only has two days.
    I looked at the following post, and it has the correct solution by Vinuthan: 
    https://social.msdn.microsoft.com/Forums/sqlserver/en-US/161e54c6-f258-4963-8d18-58addf7f2280/correct-time-dimension-settings-to-hide-extra-years-in-drop-list?forum=sqlanalysisservices
    Basically, the solution is the following:
    This should be moved to the reporting layer/done at the place where drop down is populated. For example,
    If i have a report that shows analysis based on certain measure values, then in that report...the mdx used to generate that parameter value should be tweaked by adding NONEMPTY([].[].members, measurevalue)
    The problem is that I don't know how to create this MDX query. Both [DimDate] and [Fact] have [DateKey]:
    [Fact].[DateKey] is a foreign key to [DimDate].[DateKey].
    Any help is appreciated.
    VM

    Hi VM,
    it depends what you use as source database. If it is SQL relational database.
    get values for your parameter using select statement from dim date using inner join to your fact table
    it could look like this
    SELECT ParameterValue = DateInt
    FROM DimDate d
    INNER JOIN FactTable f ON d.DateKey = f.DateKey
    ORDER BY DateINT
    If you use as source MDX query from olap cube you would use function NONEMPTY and your select could look similar to this one
    SELECT
       {} ON COLUMNS,
    NONEMPTY(
    {[DimDate].[DateInt].[DateInt]},[Measures].MeasureName)
    ON ROWS
    FROM CUBE
    Jiri Neoral

  • How to get Cube and Dimension ID from SSAS Database programatically

    Hi All,
    I am processing one SSAS cube from SSIS package and processing the cubes dynamically .For this am putting the Cube ID ,Cube name, Dimension ID, Dimension Name in a table and generating the XML programmatically.
     I can right click the properties of the dimension and cube and will get the ID information. But is there any way we can get the ID information programmatically .So that On the fly I will get the information and create the XML without storing
    the these information in table.
    We are using 2008 R2
    Thanks in advance
    Roshan

    Hi,
    Here is the C# code you want. Try it and see.
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Xml;
    using AMO = Microsoft.AnalysisServices;
    namespace ConsoleApplication4
    class Program
    static void Main(string[] args)
    AMO.Server oServer = new AMO.Server();
    oServer.Connect(@"Provider=MSOLAP.5;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=AdventureWorksDW;Data Source=DEVWKS6\MSSQLSERVERMDX");
    foreach (AMO.Database db in oServer.Databases)
    foreach (AMO.Cube cube in db.Cubes)
    Console.WriteLine(System.String.Format("Cube Name : {0} Cube ID : {1}", cube.Name, cube.ID));
    foreach (AMO.CubeDimension dim in cube.Dimensions)
    Console.WriteLine(System.String.Format("Dimension Name : {0} Dimension ID : {1}", dim.Name, dim.ID));
    System.Console.WriteLine("");
    System.Console.WriteLine("");
    oServer.Disconnect(true);
    oServer.Dispose();
    System.Console.ReadLine();
    If you know your target SSAS Database Name, then you could use LINQ to narrow your search. Take a look into the following Code.
    AMO.Database db = oServer.Databases.Cast<AMO.Database>().Where<AMO.Database>(SSASdb => SSASdb.Name == "AdventureWorksDW").FirstOrDefault();
    foreach (AMO.Cube cube in db.Cubes)
    Console.WriteLine(System.String.Format("Cube Name : {0} Cube ID : {1}", cube.Name, cube.ID));
    foreach (AMO.CubeDimension dim in cube.Dimensions)
    Console.WriteLine(System.String.Format("Dimension Name : {0} Dimension ID : {1}", dim.Name, dim.ID));
    System.Console.WriteLine("");
    Best Regards...
    Chandima Lakmal Fonseka

Maybe you are looking for