SSRS Report on PowerBI Server behaving strangely - reporting-services

Recently we moved several Reports from a classic SSRS environment to a PowerBI Server. All works fine - except one error I can't solve!
The report provides an overview over occured errors. The errors are split into critical (prio 1) and moderate (prio 2) errors and informative messages (prio 3). This is the grouping structure of my Dataset as well.
Each group has a "header" / first row, which contains an expression, which displays something like Prio 1 ([number of Prio 1 Errors]), where [number of Prio 1 errors] is evaluated via LOOKUP to another Dataset. This item is used for collapsing and expanding of the group.
Now the error: in the classic report server environment everything works fine, but the PowerBI server messes up this header as soon as the collapsing / expanding is performed. When the report is called, the display is as expected something like (+)Prio 1 (53 records), bus as soon as I click the (+), it is changed to (-)#Error. However, if I undo the action, it still stays (+)#Error.
My expression on the mentioned item is =Fields!ResultRating.Value & " (" & LOOKUP(Fields!ResultRating.Value, Fields!Severity.Value, Fields!ResultCount.Value, "ds_ErrorOverview") & ")". If I remove the part between the brackets, the displayed text stays Prio 1 (), no matter if I perform collapsing or not.
Any help would be highly apreciated.

Related

SSRS Data Returned but Not Showing in Tablix

SQL Server 2019
Report is being built in Visual Studio 2019, and is not yet deployed to SSRS.
Scenario - Report calls a stored procedure passing in 3 parameters (Rep ID, Year, Month) then displays the "first row" value from several columns of the data returned in a page header section, then displays the rest of the columns' data in a tablix.
Issue - it works fine when I request for all (wildcard % feeding into a LIKE statement) Reps for any given month/year combo. It breaks when I request for a specific Rep ID.
Here's what I've found:
it passes the correct Rep ID value in the query as viewed via Profiler,
the statement grabbed from Profiler works fine in SSMS directly
the number of rows returned via SSMS direct is 347, the number of rows returned as seen in Profiler is 355 (odd (to me), but not the driving concern at the moment as there's also a rowcount diff in the "all" query that is displaying fine; assuming some sort of overhead)
the "first row" values from the returned data are showing fine on the report preview screen
it's the rest of the columns' data that is not showing up in the tablix on the report preview screen when I select a specific Rep ID vs. using All
I also tried hard-coding the values within the stored procedure, and the same number of rows are returned, with the same result of "first row" values being used but the tablix not displaying the rest of the data
I do have a "no rows" message, but we know it's seeing the rows or it couldn't get the "first row" values so that's rather moot
What sorts of things do I need to look at to get this working?
Thanks in advance!
2020-10-21 EDIT: for what it's worth, I've now also tried
recreating the report without the top-level grouping (REP) since a single-Rep version does not need that level, no change
adding to the report (so, it's seeing the exact same data) a matrix vs. a tablix, matrix displays both the all-rep and single-rep data fine, I just can't make that give me the same format, arrangement, and sub-total lines, etc. as the tablix (not surprising since they're different beasts) though I'm trying my best there in case I can't get the tablix to behave
profiler-ssms-reportpreview-image
I found the issue. It was hiding the grid on 1 Rep row instead of hiding it at 0 rows as expected.
<Visibility>
<Hidden>=RunningValue(Fields!dataRepName.Value, CountDistinct, Nothing) = 1</Hidden>
</Visibility>

SSRS 2008 Error Exporting to Word - Body is too complex

I have a simple report that has been in production for several years but now is throwing an error when trying to export it to Word (no other reports get this error when exporting to Word, just this one).
The error is:
An error occurred during local report processing. The Body is too complex to export to Word. Please group the ReportItems together into rectangles to simplify.
Nothing has changed anywhere, and I cannot find an answer to this anywhere. The report has only 1 table on it, with 10 columns, and the rest is text boxes (it is a print of an order, so the order header info is at the top, and a table containing all the items on the order is below). Can anyone here help?

Adding a Question Mark in Page Number in the Table in SQL Reporting Service

I have created a report in sql reporting service and used a table. If the total page is bigger than 1 then it shows like 1 from 2?. When i passed to second page then it displays 2 from 3?
My question is that why it adds question mark end of the next page number? My customer is not happy with that. How I can fix it?
It is also weird because the second number must show total page number but it also changes
PS: I use sql server 2008 r2
Put a header or footer on your report. Add a textbox. Set the textbox value to the Built-in field for OverallPageNumber.
=Globals!OverallTotalPages
This will force SSRS to calculate the total number of pages in the report instead of just using its default "on demand" processing of one page at a time.
You can then set that text box visibility property to hidden if you don't want to actually show it on the report, or set it to something like
="Page " & Globals!OverallPageNumber & " of " & Globals!OverallTotalPages

SSRS Object reference not set to an instance of an object

I'm working on a complex SSRS report that contains a number of subreport, with a total of five levels of nested sub-reports. This is a lot, but necessary due to the complicated nature of the top level report.
I've encountered an odd error with the last subreport I've added:
Warning 1 [rsErrorExecutingSubreport] An error occurred while executing the subreport 'ThingRateQuotaWrapper' (Instance: T0R0S0S1T0R0x0S0): Object reference not set to an instance of an object. C:\Users\mmxxxxxxx\Documents\Visual Studio 2012\ThingsReporting\ThingsReporting\Thing 2014 Consolidated Report.rdl 0 0
The problem here is that when I run the second level report (one of the reports contained in the top level "consolidated" report), everything works fine. But in the top level report, I get this unepected error.
The specific subreport mentioned is four levels down from the top report, so I would expected the second level report to fail if there was an issue, however as just mentioned that works perfectly.
In addition, the RDL and line number mentioned in the error message tells me nothing useful.
I've tried everything I can think of to solve this problem, including deleting, saving, re-inserting and configuring all the subreports from the ThingRateQuotaWrapper upwards. At this point I can think of nothing else to try that makes any sense.
How can a report fail because of a sub report four levels down, when other reports in between work correctly?
Anyone got any ideas or tips? I'm using SQL Server 2012 Business Intelligence and Visual Studio Premium 2012.
I've solved this problem, however I don't entirely understand the solution so I welcome any comments which might expand on it.
My approach was to look through each expression in the set of reports and subreports that make up my consolidated report, looking for any that might fail for any reason. I discovered that the visibility expression for the tablix row which contains the ThingRateQuotaWrapper subreport had the dreaded red squiggly line beneath it.
I believe the cause of the field warning is that the visibility expressed used a dataset other than the primary dataset of the tablix. I reworked the tablix dataset to contain the required column to determine visibility of the subreport, then updated the visibility expression to use the new column in the primary dataset. This fixed the problem.
This issue still impact SSRS in Visual Studio 2017 when renaming a sub-report.
Delete all the object in the \bin\ folder and VS will rebuild it without the error.
In my case, sub report's name had been changed (params and everything were correct) just name had been changed. Lead to this error.
This tends to happen when you change the names on reports. I accomplished this by deleting the .data files in my project directory as this stores the cached data of your reports. Then restart visual studios and the problem should be resolved.
In short:
Delete .DATA files in directory
Restart Visual Studios
Hope this helps.
Thanks
Gavin
To anyone coming to this old thread, I had the exact same error message with the following configuration:
Main report (top parent level report) calls 5 sub report hierarchy deep
The sub report is crashing only when generating from the Main report. Everything is fine when calling from each sub report level (all!) including the sub report itself
Pre-requisite explanation
The business wants me to show either a Bar chart OR a textbox on a dedicated condition.
To avoid empty spaces produced by a ReportItem (my subReport outputing a bar chart) that is hidden, I usually put them inside a Tablix and manage the Row visibility. Like that, no empty spaces is generated !
Old structure causing issue
I have one tablix with two rows :
The first one contains my sub report outputting a bar chart
The second one contains a simple TextBox
The tablix's dataset is a dataset containing the Textbox's text value (and that's the key of the problem !)
New structure fixing the issue
I have now 2 tablix :
One tablix with a dummy dataset ("SELECT 1 as 'Dummy') associated to the tablix. This tablix calls the bar chart's sub report
A second tablix with the same dataset as before (containing the Textbox's text value)
UPDATE 29.06.2022
The solution described above worked without RowVisibility condition. As soon as I've added my expression it fails again :
=IIF(RowNumber("myDataSetName")=0, True, False)
Solution: replace by this condition instead :
=IIF(Count(Fields!MyFieldName.Value) = 0, True, False)
This produces the same : When there the SQL query returns no row, I want to hide it.
It's very strange that SSRS doesn't tell my expression is wrong somehow, and last but not least, it's very weird that the expression works in all report levels except from the Main report. Either an expression is wrong or not.
Looks like a bug in SSRS (SQL Server 2017...maybe it's fixed in SQL Server 2019)

SSRS 2008r2: rsRunTimeErrorInExpression: cannot find textbox stated in warning

I am using Sql Server Reporting Services 2008 R2. When "previewing" my current report, I see everything appearing as it should. The displayed query values are correct in my table, which reads straight from the single dataset.
However, I see this as a warning:
Warning 1 [rsRuntimeErrorInExpression] The Value expression for the textrun ‘Textbox20.Paragraphs[0].TextRuns[0]’ contains an error: Input string was not in a correct format. E:\SSRS_Projects\Custom Reports\Attendance\Attendance\MIA_1B_Math_Absence_Detail.rdl 0 0
The puzzling thing is that I have no objects named "Textbox20."
I tried browsing thorough the object list on the "Properties" panel
and didn't see it.
I did a Ctrl+F search for "Textbox20" and couldn't find anything.
I'm not sure what else I can describe at this point.
Does anyone know how I can isolate the cause of this warning?
Thank you
If I understand correctly, the warning message was caused by the incorrect previous expression, however, the warning message persists although the values displays correctly in the report after you modified the expression. Besides, the warning message came out even though you create a new report and use the right expression.This is a known issue in Report Designer. When there is a warning message generated in the "Error List" pane of the Report Designer, the warning message still pops up after we correct the previous error. Actually, it always pops up whenever we preview any report in the same project. To avoid the issue, we only need to close the project and reopen the project. That way, the previous error lists will be cleared and the warning message won't pop out unless there is still an error in the report design.And your table's columns and rows are here text box.so please select the table column and see the property name.
Try Using this code
=IIF(IsNumeric(Fields!Data.Value),CSTR(FormatNumber(IIF(IsNumeric(Fields!Data.Value),Fields!Data.Value,0),2)),Fields!Data.Value)