Using SSRS (well at least an .rdl report) on CRM Dynamics Online. Online so no SQL only Fetch XML. I thought the 5,000 record limit applied (I'm sure it used to) but I just ran a report with a single entity non-aggregate query and got back 22,000 + records. There is no count, page or top specified in the query. Has it always been this way or has something changed?
Related
Requirement: We are trying to build PowerBI report using SSAS Cube as a source.
Currently we already have the same report in SSRS which is using the same cube as source.
so we are upgrading to Power BI as per the user's need and the SSRS report will be decommissioned after successful implementation of this.
The SSAS cube also has some complex calculations (calculations tab of the Cube) which are used in the SSRS report.
There are many columns which have been hidden too but are called into the SSRS Dataset.
The current SSRS report dataset has an MDX query(including some of the hidden columns) which serves as the Main query for report (Matrix type report with row groups and column groups), along with other smaller datasets which supply values to parameters
The MDX query in the SSRS report has around 6 parameters(which user can choose the values from the SSRS parameters prompts)
We are trying to find all the possible ways so that we can build the report in PowerBI
Our findings and what we have tried so far :
1)We have tried live connection after unhiding the columns (only those ones which are called in the MDX query) but we could not perform any transformations or calculations due to Live connection limitation. We thought about creating possible calculations with in the Cube level but don't know if it would actually give us the desired results correctly which would match with existing SSRS report as a comparison.
2)We tried Import mode using the same MDX query which is used in SSRS report by supplying values to the parameters(for example we passed [Report ID].[Report ID].&['a specific City name'] replaced with [Report ID].[Report ID].Children, so that we get data for all the cities instead of just 1 city) but the results are coming out incorrect.
Please if someone can provide us a valid approach on the architecture part, it would be really helpful as it will help us to get started.
Please let me know if something is not clear, so I can add more to this
I've been struggling with this one fetchxml report for Dynamics CRM online.
The report is using aggregate to detect duplications based on certain fields. So, even though it is an aggregate report, the data set will return a lot of rows. Then I found out that the number of rows returned for aggregate fetchxml is limited to 5000.
I understand that normal fetchxml report will return records more than 5000 but for aggregate report, this doesn't seem to be the case. In the resultset, the 'morerecords' attribute shows as '0' too.
Is there any workaround for this (except to use normal fetchxml to get raw data and handle duplicate check somehow in SSRS because there are charts involved..). Or am I forced to report this to Microsoft so that they can write it off as "By design".
The Fetch Aggregate Limit is actually by default 50,000 rows. It specifies the maximum number of records that can be aggregated. 5,000 is the Query Result Limit which defines the maximum size of a page of data that can be retrieved using the organization service.
On CRM Online you are not allowed to relax these limits, but on OnPremise deployments you can. The deployment service supports an UpdateAdvancedSettingsRequest for this purpose. (More details on MSDN.)
A nice overview of CRM 2011 Timeouts and Limits can be found on TechNet. Most of the information given there also applies to later versions of Dynamics CRM.
I have a bear of a problem here. The user wants a report that shows the earnings, deductions and liabilities (EDL) code of each employee or null/blank if an EDL code doesn't apply to that employee. I needed one row for each employee name and columns for each possible EDL code combination. I got that answer fixed from my previous question here:
Struggling with a dynamic pivot on multiple columns with one being concatenated
I ran into a problem where there are a potential 270 column headings (EDL code combination with "subj", "elig" or "amt" appended) but not every employee will have a value for every column and security settings lock me out of seeing 1 of the 3 payroll groups. This made my report very limited in that when I ran it I could only show on the Crystal Report the data for what columns I had at the time I created the Crystal Report. Well, the user who requested this report has access to payroll group 1 and if even one of those employees had an EDL code that I didn't have in my data when I created the Crystal Reports file then the report wasn't useful to the user. We figured a way for her to get the info she needed by her logging into SQL Server and executing the stored procedure and she did what she needed to do with the data.
Fast forwarding to today I have to create this as a report in SSRS or give detailed instructions on how she can do this in the future if need be since my contract is coming to an end. I'm not familiar with SSRS but I thought maybe that would meet her needs over Crystal Reports. However, I'm running into the same problem. When I add the stored procedure as a dataset (adding it in as text to execute, not clicking the stored procedure radio button) I only see the EDL codes from that particular query not all potential combinations. I need a way to maybe dynamically add columns to the SSRS report, does such a thing exist?
Issue I get for one of my shared data sets only on certain parameters. If the parameter returns nothing for that dataset then I seem to come across this problem, there is a tablix in this report that uses the shared dataset and if I remove the tablix but keep the shared dataset I still get the error on the report preview.
The dataset uses a MDX query (SSAS) to get its data, if I run the query from the query designer it returns 2 rows but the dates in the rows are outwith the scope of my report so the report would return 0 and I assume thats my issue.
Anyone got any ideas/tips?
Uses SQL Server 2008 R2
Thanks
Managed to get round this issue by having an embedded data set rather than a shared one.
Gets around the issue, very annoying though!
I have a report working well where I extract the number of logins per user. Each login takes up one row on the report.
I have date parameters and my DB goes back a year. However it seems the report will only show 40/50 rows despite a report expecting to deliver, say, 250 for the amount of times I logged in.
Is there some setting in reporting services that limits the number of rows delivered. Can't find it anywhere..
Thanks.
The answer to your question: nope, as far as I know there's no real equivalent of SQL's TOP 50 statement in SSRS itself.
Some things that come to mind that may be causing your symptoms / can be investigated:
What happens if you run the query for the dataset in SSMS? Be sure to fill in the exact parameters the report's using (if any).
Run the query as a test from SSRS designer. If you're using Visual Studio: right-click the dataset and hit "Query...", then hit the red exclamation mark and fill in any parameters if needed.
Try putting a CountDistinct call (on your dataset) in a textbox somehwere in the report, by itself.
Check the filtering and grouping on your tablixes, perhaps even by looking at the XML source code for the RDL.
Show the parameters in textboxes (oldskool printf debugging! :D) to make sure they're what you expect them to be when the report's run on the Report Server. If they're not: try deleting the report on the server and re-deploying it.
Have a look at the ExecutionLog2 View in the ReportServer database, specifically the Number of Rows returned.
As mentioned in the comments by Atilla: You may also monitor exact SQL SSRS sends to server using SQL Server Profiler.