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.
TxHi 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 -
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
krishnaHi,
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 DeveloperHello,
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 adviseHi 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.
VMThanks, 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 -
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
NikHi 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
SrikanthHello 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.
VMHi 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
RoshanHi,
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
-
Visual Studio 2013 - does not recognize asp tag in website project? ...
Hello, I inherited a web site that uses user controls to set the pages beginning and end tags in all *.aspx pages. Below is the typical structe of an .aspx page: <!DOCTYPE html> <%@ Page Language="VB" WarningLevel="1" Explicit="true" Strict="true" %>
-
Does arch have a java compiler in the repos and if so in what package?
just curious im still getting used to Arch
-
No sound (or very low sound)
I export video's from Quicktime to iTunes ... When I open de movies in iTunes I hardly have any sound?? Can anyone tell me what is the problem here??
-
Asset PO relating to sub assets
Hi all sap guru's if one asset is there sub assets up to 100 if i want raise the PO for 100 sub assets number it very difficult... user have to enter 100 sub assets at item level, and also for each and every item one prinout will come.... is the any
-
Installed up date to dreamweaver (2014.1) and now won't launch.
Installed up date to dreamweaver (2014.1) and now won't launch. looks like it is trying and won't do anything. Have uninstalled and reinstalled. Account is fine. Other software launches. Any ideas?