I've searched web and StackOverflow for a long time but it was not useful for me.
I created an SSRS Report which uses Cube as Data Source. In SSMS the cube's query is fast and about Maximum 4 seconds, but the report shows the results after 1 minute.
I used SQL Server Profiler on Cube and I understood that Serializing the Results is the most time-consuming event on my report. First of all, I didn't find any solution to decrease "serialize the result" events and then I don't know how to improve my server utilization because despite of this slow report, its resource utilization (CPU, NETWORK, MEMORY) is at most 5 percent !!
by the way, my report returns about 300 thousand rows in every execution. (ROWS_RETURNED ~ 300000)
Mdx Query
SELECT NON EMPTY{[Measures].Members} ON COLUMNS, NONEMPTY ( ( NONEMPTY((STRTOSET(@BankSelect))) * NONEMPTY ( STRTOSET(@BranchSelect) ) * NONEMPTY ( STRTOSET(@DimTimeShamsiFullDate))* NONEMPTY ( (STRTOSET(@BranchTypeSelect) )) * NONEMPTY ( (STRTOSET(@StateSelect) )) * NONEMPTY ((STRTOSET(@CitySelect)) * NONEMPTY (STRTOSET(@RowTypeSelect))) * NONEMPTY ( (STRTOSET(@MoneyStatusSelect))) * NONEMPTY ((STRTOSET(@MoneyTypeSelect))) * NONEMPTY ((STRTOSET(@MoneyUnitNameSelect)) ) )) ON ROWS FROM (SELECT ( STRTOSET(@DateInFrom)) ON COLUMNS FROM [SinapDW]) CELL PROPERTIES VALUE
Any help is appreciated :)
Thank you.
CELL PROPERTIES VALUE
). I think omitting theDIMENSION PROPERTIES
clause means you return only the MEMBER_CAPTION property for each of your dimension attributes which is the minimum you can return. I suspect it's just a large resultset so takes some time to serialize and send over the network. – GregGalloway