=Sum(ReportItems!FinalCost.Value, Group_1) In Group Footer Problem
Dec 18, 2006
Hi,
Im currently writing a report in SSRS which requires to take data in the fields, manipulate and perform functions on it then display it within its own textbox. For example the field Cost is manipulated so that a column will show the cost depreciated after 5 years.
Cost Final Cost
500 250
1000 634
700 500
Footer: Totals 1384
My problem is that within each group (as the data is grouped by its type) I need to have a sum of the Final Cost data. As this is NOT a field I cannot use =Sum(Fields!FinalCost.Value, "group_1") but rather I need to use =Sum(ReportItems!FinalCost.Value, "group_1"). I know that SSRS does not allow this, but after trying to find an answer going extensively through google and many forums, I am not able to find a solution on how to sum up the Final Cost column.
If anyone has any ideas on how to resolve this issue I will be greatly thankful,
I am having a problem viewing my footer on all pages of my report. I have created a page footer that reads ="The " & ReportItems("textbox213").Value I am getting the value on the first page only and then only getting "The" on the rest. My "PrintOnFirstPage" and "PrintOnLastPage" are both marked True in the Page Footer properties. I am completely confused. This is not the only textbox in my footer I have two others both which print on all pages, but neither of them use the ReportItems.
MDC1 DrgDesc1 Chronic 50 Other 25 Total cases for DrgDesc1= 75
DrgDesc2 Chronic 20 Other 33 Total cases for DrgDesc2 = 53
etc....
I have everything working up to the Total cases for each DrgDesc. I tried adding a group footer to the Cases row, however this sub-totals for Chronic and Other rather than summing them together. Example is below.
MDC1 DrgDesc1 Chronic 50 50 Other 25 25 DrgDesc2 Chronic 20 20 Other 33 33
I want to display a concatinated value of strings (DB field) having a "/" in between, for each group separately in the group footer.I tried using custome code.I was calling that code in detail.In detail it was showing correctly i.e running concatenated value for each record.But when i used the same global variable in group footer it's taking previous group's concatenated value and first groop footer shows a blank string.I guess its because groop footer thing is getting executed before the detail part.so can you please give me any solution for this.
I have a report that is being called via stored proc, and i want to group by contract. when report gets generated i get multiple contracts info. but will be grouped/sorted by contract.
please how can i have a group header and also a group footer to show a summary of each contract information with some calculated fields in it.
i may get 100 records related to 10 contracts , 10 rows for each contract.
as soon as the first contract info is shown on the report it has to show a summary related to the first contract in the group footer, and then continue populating the second contract info and so on.
Please i am totally new to reporting and help would be appreciated. thank you all.
I am new to SSRS 2005 and so far the only way I can figure out how to edit groups in a table is to right click on the group header or footer and select Edit Group. But how would you edit the group if you chose to not have a header or footer? And how would you delete the group for that matter? I'm looking for something like the Crystal Reports Group Expert.
I am using RS 2005 with SP2. I am trying to print a table Group footer on a brand spanking new page. I have checked the "Page Break at Start" of the Group, However in the Report view the footer starts printing directly below the end of the group, and not on a new page. I have also tried to add a rectangle to the group footer and selected Page Breaks before rectangle but the group footer still doesnt print on a page of its own. I would appreciate any suggestions.
I've read a bunch of threads and can't seem to find an exact problem as what I'm having.
I believe my problem is simple enough to understand, but might not be that simple to solve. I'm hoping otherwise.
My report shows columns:
CustomerNumber CustomerName SummedInvoiceAmounts (summed from SQL query) Region
The problem is that we have the same CustomerNumber with multiple CustomerNames:
CustomerNumber CustomerName Sum Region ABC advancedballoon 1000 East ABC AdvancedBall. 1000 East
As you can see they are the same company but in our Accounting system they show up mulitple times (about 20 companies like this). This is from clerks adding in multiple ways or misspelling, etc. Can't fix, but have to work around.
Anyhow, I have my detail row that shows two lines for the companies like this and one line for the companies that are correct. I have this report I have added two groups "Region", "CustomerNumber".
If I put all the detail Fields down in the CustomerNumber footer and hide the detail row the report looks fine to the eye. When adding a Sum down in the Region footer field though; it pulls in the added amount and makes the total wrong.
I tried running value, but it's basically the same as the sum for what I need and it doesn't work. Is there a simple way to do this using the reporting tool? In Crystal this was very easy, but I haven't figured this out yet. Any help would be greatly appreciated. Thanks.
I have a sum , which is filtered within its table group, and then i have a fields in the footer. How would i aggregate these too together and use the result in another row within the footer.
[rsInvalidAggregateScope] The Value expression for the textbox €˜textbox129€™ has a scope parameter that is not valid for an aggregate function. The scope parameter must be set to a string constant that is equal to either the name of a containing group, the name of a containing data region, or the name of a data set.
I ran into this a few weeks ago and found that several others had as well, but no one had yet found an answer. I found the answer (at least one of the answers) this weekend and wanted to share it. I had recently added a subreport to a group footer in a table and started getting an error. Depending on the data, the error wasn't always present. I didn't have a problem when I moved the subreport to any other area in the report.
Here is the error I was getting:
An error occurred during local report processing
An internal error occurred on the report server. See the error log for more details.
It was a local report (rdlc), so naturally, there was no error log <g>. I added an event handler for ReportError and collected this information:
7/23/2006 5:18:22 PM OS: Microsoft Windows NT 5.1.2600 Service Pack 2
*** EXCEPTION *** Message: Exception has been thrown by the target of an invocation. Source: mscorlib Stack Trace: at System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner) at System.RuntimeMethodHandle.InvokeMethodFast(Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner) at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks) at System.Delegate.DynamicInvokeImpl(Object[] args) at System.Windows.Forms.Control.InvokeMarshaledCallbackDo(ThreadMethodEntry tme) at System.Windows.Forms.Control.InvokeMarshaledCallbackHelper(Object obj) at System.Threading.ExecutionContext.runTryCode(Object userData) at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData) at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Windows.Forms.Control.InvokeMarshaledCallback(ThreadMethodEntry tme) at System.Windows.Forms.Control.InvokeMarshaledCallbacks() at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.ScrollableControl.WndProc(Message& m) at System.Windows.Forms.ContainerControl.WndProc(Message& m) at System.Windows.Forms.UserControl.WndProc(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg) at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData) at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context) at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context) at System.Windows.Forms.Application.Run(Form mainForm) at SX.MainProgram.Main() in C:Documents and SettingsMYeagerMy DocumentsVisual Studio 2005ProjectsSXSXMainProgram.cs:line 22
*** INNER EXCEPTION *** Message: Reporting Service Exception Source: SX Stack Trace: at SX.ReportSalesForm.reportViewer1_ReportError(Object sender, ReportErrorEventArgs e) in C:Documents and SettingsMYeagerMy DocumentsVisual Studio 2005ProjectsSXSXReportFormsReportSalesForm.cs:line 84 at Microsoft.Reporting.WinForms.ReportViewer.OnError(Exception e) at Microsoft.Reporting.WinForms.ReportViewer.UpdateUIState(Exception e) at Microsoft.Reporting.WinForms.ReportViewer.OnRenderingCompleteUI(ProcessThreadResult result, PostRenderArgs postRenderArgs)
*** INNER EXCEPTION *** Message: An error occurred during local report processing. Source: Microsoft.ReportViewer.WinForms Stack Trace: at Microsoft.Reporting.WinForms.LocalReport.InternalRender(String format, Boolean allowInternalRenderers, String deviceInfo, CreateAndRegisterStream createStreamCallback, Warning[]& warnings) at Microsoft.Reporting.WinForms.LocalReport.InternalRender(String format, Boolean allowInternalRenderers, String deviceInfo, String& mimeType, String& encoding, String& fileNameExtension, String[]& streams, Warning[]& warnings) at Microsoft.Reporting.WinForms.ProcessingThread.ProcessThreadMain(Object arg)
*** INNER EXCEPTION *** Message: An internal error occurred on the report server. See the error log for more details. Source: Microsoft.ReportViewer.Common Stack Trace: at Microsoft.ReportingServices.Diagnostics.Utilities.RSTraceInternal.Assert(Boolean condition, String componentName) at Microsoft.ReportingServices.ReportProcessing.Persistence.IntermediateFormatWriter.WriteVariant(Object variant, Boolean convertDBNull) at Microsoft.ReportingServices.ReportProcessing.Persistence.IntermediateFormatWriter.WriteScopeTableValues(Object value) at Microsoft.ReportingServices.ReportProcessing.Persistence.IntermediateFormatWriter.WriteScopeTableValues(Object value) at Microsoft.ReportingServices.ReportProcessing.Persistence.IntermediateFormatWriter.WriteScopeLookupTable(ScopeLookupTable scopeTable) at Microsoft.ReportingServices.ReportProcessing.Persistence.IntermediateFormatWriter.WriteSubReport(SubReport subReport) at Microsoft.ReportingServices.ReportProcessing.Persistence.IntermediateFormatWriter.WriteReportItem(ReportItem reportItem) at Microsoft.ReportingServices.ReportProcessing.Persistence.IntermediateFormatWriter.WriteReportItemList(ReportItemList reportItems) at Microsoft.ReportingServices.ReportProcessing.Persistence.IntermediateFormatWriter.WriteReportItemCollection(ReportItemCollection reportItems) at Microsoft.ReportingServices.ReportProcessing.Persistence.IntermediateFormatWriter.WriteRectangle(Rectangle rectangle) at Microsoft.ReportingServices.ReportProcessing.Persistence.IntermediateFormatWriter.WriteReportItem(ReportItem reportItem) at Microsoft.ReportingServices.ReportProcessing.Persistence.IntermediateFormatWriter.WriteReportItemList(ReportItemList reportItems) at Microsoft.ReportingServices.ReportProcessing.Persistence.IntermediateFormatWriter.WriteReportItemCollection(ReportItemCollection reportItems) at Microsoft.ReportingServices.ReportProcessing.Persistence.IntermediateFormatWriter.WriteTableRow(TableRow tableRow) at Microsoft.ReportingServices.ReportProcessing.Persistence.IntermediateFormatWriter.WriteTableRowList(TableRowList rows) at Microsoft.ReportingServices.ReportProcessing.Persistence.IntermediateFormatWriter.WriteTableGroup(TableGroup tableGroup) at Microsoft.ReportingServices.ReportProcessing.Persistence.IntermediateFormatWriter.WriteTable(Table table) at Microsoft.ReportingServices.ReportProcessing.Persistence.IntermediateFormatWriter.WriteDataRegion(DataRegion dataRegion) at Microsoft.ReportingServices.ReportProcessing.Persistence.IntermediateFormatWriter.WriteReportItem(ReportItem reportItem) at Microsoft.ReportingServices.ReportProcessing.Persistence.IntermediateFormatWriter.WriteReportItemList(ReportItemList reportItems) at Microsoft.ReportingServices.ReportProcessing.Persistence.IntermediateFormatWriter.WriteReportItemCollection(ReportItemCollection reportItems) at Microsoft.ReportingServices.ReportProcessing.Persistence.IntermediateFormatWriter.WriteReport(Report report) at Microsoft.ReportingServices.ReportProcessing.Persistence.IntermediateFormatWriter.WriteReportSnapshot(ReportSnapshot reportSnapshot) at Microsoft.ReportingServices.ReportProcessing.ChunkManager.SnapshotChunkManager.SaveReportSnapshot(ReportSnapshot reportSnapshot) at Microsoft.ReportingServices.ReportProcessing.ProcessingResult.Save() at Microsoft.Reporting.LocalService.Render(PreviewItemContext itemContext, Boolean allowInternalRenderers, ParameterInfoCollection reportParameters, IEnumerable dataSources, DatasourceCredentialsCollection credentials, CreateAndRegisterStream createStreamCallback, ReportRuntimeSetup runtimeSetup, ProcessingMessageList& warnings) at Microsoft.Reporting.WinForms.LocalReport.InternalRender(String format, Boolean allowInternalRenderers, String deviceInfo, CreateAndRegisterStream createStreamCallback, Warning[]& warnings)
This wasn't exactly enlightening, an exception in an ASSERT in the reporting services dll, but since I knew that results varied with different data, I tracked it down that way.
THE SOLUTION:
The problem occurs when data for group expression is null. If there is no subreport in the group footer, this isn't an issue, but if there is, you get the error. For instance, if your data comes from a SQL statement with a LEFT OUTER JOIN (as mine did), and the group expression uses a column that contains nulls as a result of the LEFT OUTER, this exception will be thrown. This one was VERY DIFFICULT to track down, but it's easily reproducable. It has nothing to do with what (if anything is) on the subreport, what the data the subreport uses looks like, whether there are parameters or not. It's purely having nulls in the data used by the group expression for the main report. I found that if I changed my SELECT from mytable.mycolumn to ISNULL(mytable.mycolumn, 0) the error went away.
I accidentally unclicked the check-boxes for group-header and group footer - I meant to leave the group header in. Now, I can't get to the group to edit it! Is there any way I can get back to it?
I have a report (bills of lading for shipments) that uses a table to organize the data coming in and groups by customer. Each customer grouping has a header, body and footer in the table. A print run might generate 100 bills of lading, each between 1 and 4 pages long.
I have marked the group to force a new page when each new group occurs.
As it is the report runs beautifully EXCEPT that the footer prints wherever it happens to end up -- midway down the final page of the bill and looks quite goofy.
What I really need (and my client is really surprised that SSRS won't me) is to print the group footer at the bottom of the final page of each bill of lading.
Bills of lading may be several pages per customer, so until the group footer is hit, I don't want any footer info at all. As I said, it all works fine except for the final page of each bill, where the group footer occurs whereever it has ended up.
Jim
12/4/07
This post didn't get much of a response. So perhaps I should amend it -- If what I am trying to do is impossible, what would be the preferred way?
I am having a problem trying to do some conditional formatting on the text color.
This textbox is in the Group Footer so i essentially want change the color to red if the SUM of one field in the group is less than the SUM of another field in the same group.
I am doing this: =Iif(Sum(Fields!YTDChargeHours)< Sum(Fields!YTDForecast), "Red", "Black")
but i am getting this error:
[rsRuntimeErrorInExpression] The Color expression for the textbox €˜YTDChargeHours€™ contains an error: Operation is not valid due to the current state of the object.
How can I calculate a subtotal for a Report Item? I have a textbox(lets call it "PlusMinus") in the detail section of my table, which is a calculated textbox of two others (lets call them "Budget" and "Spent"). So, PlusMinus = (Budget - Spent). What I would like to do is get a subtotal for PlusMinus. I have tried several ways, using Sum() or RunningValue, even tried to write code, but I can't seem to get it right. Any ideas??
I have a group in my report that contains an empty footer row to get a better visibility. Because the row has a frame it should be hidden if its the last row on the page. How can I manage that?
I want to do is display the sum of textboxes in a group so I can have a subtotal for every group.
I tried these things:
Sum(ReportItems!txtbudget.Value).
I can't use Fields collection because the textbox value is from custom code so there are no Fields.
I searched for options on this and one option was supposed to be adding a field to the dataset. I tried this and I get "An error occured on the report server" when building the report before I even reference the field in the report.
I even wrote code to do the sum and passed in the ReportItem. I then get the error about the grouping scope.
I want the payroll sum to be the subtotal of each column. The budget values along with some other columns are from custom code that makes database calls (which was a workaround for another problem).
Object Object Title Budget Current Spent YTD Spent
I can add two reportitem controls, ie reportitems!begbal.value + reportitems!deposits.value, without a problem. However, when I add the 3rd reportitem control to the expression, ie + reportitems!withdrawals.value, some really funky arithmetic occurs. All of these controls I am referring to are in the same group footer.
I currently have an Ungrouped Dataset being displayed in a Table. One of the columns include AMOUNT. This is an example of what my report looks like atm: ================== **Report Name**
No Name Amount
Signed By XXXX ==================
I would like to display a SUBTOTAL of the Amounts for each page and, on the final page, a TOTAL of the Amounts. Yes the Last Page's SubTotal and Total will be the same. Looking like: ===============================
pg1 **Report Name**
No Name Amount Sub Total Amount Signed By XXXX
(lastpage) **Report Name**
No Name Amount
(<-----no huge spaces between Table/Subtotal) Sub Total Amount
Total Amount
Signed By XXXX
=================================
Issues: I've found a way to get a Page's SubTotal, but the way I found requires this to be put in a field on the Page Footer Section. This means that on the final page, the SubTotal will be at the top of the Page Footer and not neccessarily directly beneath the table.
So: 1. Is there a way to move the Page Footer so that its printed DIRECTLY under neath the Page Body instead of at the bottom of the Page? 2. If not, is there a way to have the SubTotal of each Page and a Final Page Total in the Page Body section. Cheers.
I've added a hidden field to my report so I can show the value in the page header using ReportItems. However it only works for the first page - the value is blank on subsequent pages. Does the hidden field need to appear on all pages of the report? Would I need to make it a hidden field in a repeated list or table?
I am trying to create a report which uses a table. I have typed manually each cell.
In the subtotal lines, on rows, I have used ReportItems expression. On rows it is working. However, on column, the similar ReportItems expression, instead of adding the values, it is concatenating. Could you please help?
I followed the instructions and the textbox named Color did indeed display alternate colors on the odd rows. However, when I tried to propogate the color to the whole row using the expression =ReportItems!color.Value for the value of the backgroundcolor property, it was ignored.
So I tried some custom code: Public Function GetColor() Dim retValue as String retValue = Me.ReportItems!Color.Value return retValue End Function
The syntax parser didn't like ReportItems either. I first tried it without the Me object and I got a message about requiring an object so I tried Me.
May I know how can I make a simple calculation in reporting services using below formula:-
Column B C D E
Row Group January February
Amt Calc Amt Calc
3 a 100 =B3/B3 50 =D3/D3
4 b 200 =B4/B3 10 =D4/D3
5 c 100 =B5/B3 30 =D5/D3
6 d 150 =B6/B3 80 =D6/D3
I have build above table in reporting services. Row a, b, c, d are all belong to the same reportitems. However, I need to make a division using B3 as a based, where group = a.
I tried to make an expression with logic but it doesn't work:
Calc = reportitems!Amt.value / reportitems!Amt.value where reportitems!Group.Value='a'
I have a sum on a reportitems cell in my header: =Sum(ReportItems!textbox1.Value)
When I run the report, it looks excellent. My issue is when I export it. When I export to Excel, it looks just like it did. When I export to PDF, it gives me a total per page, not for the report.
Does ReportItem behave differently when rendered between excel and PDF? Or is it because I am putting a SUM on a ReportItems cell?
I'm trying to get a data value to appear in the report footer on each page of my report. Using the technique described in various text books etc. I have placed a hidden text box in the report body, and the footer references this text box value.
The report is 4 pages long when I print preview it. The hidden field was initially placed near the top of the report body, so it is there on page 1 in print preview and the footer works on page 1. Pages 2,3,4 (where the hidden field ain't) just gets #Error in the footer.
If I simply move the hidden field further down in the report body so that now its on page 2 in print preview, then guess what - the footer now works on page 2 but errors everywhere else!
Why are ReportItems not known across the whole report? This is maddening. Does anyone know how to make a simple hidden text box value, that is referenced by the page footer, work so that every instance of the page footer shows the correct value?
A report I maintain has an extensive footer that appears on each page, populated with information I've stashed into invisible cells in the table's header. This works great, except in rare circumstances where the report includes a page that doesn't display the table at all--in which case the report errors when it attempts to print ("Object reference not set to an instance of an object").
Due to the requirements of the report, I cannot guarantee that the table will appear on every page, every time. Is there a way I can safely refer to the reportItems collection, in case of Nulls? I'll be okay with blank values in the footer in the cases where the page has no reportItems to work with, but I can't have the report blow up when printing.