Showing posts with label rs2000. Show all posts
Showing posts with label rs2000. Show all posts

Friday, March 30, 2012

rsInternalError General network error for new report

Running RS2000 on Windows 2003
I published a new report today (copied from an existing report, used same
data source calling different stored procedure, changed parameters, etc.).
It worked fine when run locally.
However, when published and run within Report Manager I get the following
error -
Reporting Services Error
----
An internal error occurred on the report server. See the error log for more
details. (rsInternalError) Get Online Help
General network error. Check your network documentation.
I'm not sure I've seen this error before. I've had errors before but they
usually occurred because I forgot to give adequate permissions to the stored
procedure or something like that.
I've search around but haven't figured out how to troubleshoot this problem.
I have looked at the trace logs but I'm still learning how to read them.
Here is what appear to be the relevant portion found in them -
In ReportServer__08_17_2007_06_42_51.log
w3wp!library!1058!08/17/2007-10:54:06:: i INFO: Call to RenderFirst(
'/Development/Ref Des Term Count' )
w3wp!library!1058!08/17/2007-10:54:07:: e ERROR: Throwing
Microsoft.ReportingServices.Diagnostics.Utilities.InternalCatalogException:
An internal error occurred on the report server. See the error log for more
details., ;
Info:
Microsoft.ReportingServices.Diagnostics.Utilities.InternalCatalogException:
An internal error occurred on the report server. See the error log for more
details. --> System.Data.SqlClient.SqlException: A severe error occurred on
the current command. The results, if any, should be discarded.
at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior
cmdBehavior, RunBehavior runBehavior, Boolean returnStream)
at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
at
Microsoft.ReportingServices.Library.CancelableSqlCommand.ExecuteNonQuery()
at
Microsoft.ReportingServices.Library.ChunkStorage.WriteNewSnapshotToDB(String
effectiveParams, Int32 paramsHash, DateTime createdDate, String description,
Guid snapshotDataID, Boolean isPermanentSnapshot)
at
Microsoft.ReportingServices.Library.ReportSnapshot.WriteNewSnapshotToDB(String effectiveParams, Int32 paramsHash, DateTime createdDate, String description)
at
Microsoft.ReportingServices.Library.RSService.AllocateNewSnapshot(Boolean
isPermanentSnapshot, String effectiveParams, Int32 paramsHash, DateTime
createdDate, String description)
at
Microsoft.ReportingServices.Library.RSService.RenderAsLive(CatalogItemContext
reportContext, ItemProperties properties, ParameterInfoCollection
effectiveParameters, Guid reportId, ClientRequest session, String
description, ReportSnapshot intermediateSnapshot, DataSourceInfoCollection
thisReportDataSources, Boolean cachingRequested, Warning[]& warnings,
ReportSnapshot& resultSnapshotData, DateTime& executionDateTime,
RuntimeDataSourceInfoCollection& alldataSources, UserProfileState&
usedUserProfile)
at
Microsoft.ReportingServices.Library.RSService.RenderAsLiveOrSnapshot(CatalogItemContext
reportContext, ClientRequest session, Warning[]& warnings,
ParameterInfoCollection& effectiveParameters)
at
Microsoft.ReportingServices.Library.RSService.RenderFirst(CatalogItemContext
reportContext, ClientRequest session, Warning[]& warnings,
ParameterInfoCollection& effectiveParameters, String[]& secondaryStreamNames)
-- End of inner exception stack trace --
w3wp!library!1058!08/17/2007-10:54:07:: i INFO: Initializing
EnableExecutionLogging to 'True' as specified in Server system properties.
w3wp!webserver!1058!08/17/2007-10:54:08:: e ERROR: Reporting Services error
Microsoft.ReportingServices.Diagnostics.Utilities.RSException: An internal
error occurred on the report server. See the error log for more details. -->
Microsoft.ReportingServices.Diagnostics.Utilities.InternalCatalogException:
An internal error occurred on the report server. See the error log for more
details. --> System.Data.SqlClient.SqlException: A severe error occurred on
the current command. The results, if any, should be discarded.
In ReportServerService__main_08_17_2007_05_10_24.log
<Header>
<Product>Microsoft SQL Server Reporting Services Version
8.00.1038.00</Product>
<Locale>en-US</Locale>
<TimeZone>Central Daylight Time</TimeZone>
<Path>C:\Program Files\Microsoft SQL Server\MSSQL\Reporting
Services\LogFiles\ReportServerService__main_08_17_2007_05_10_24.log</Path>
<SystemName>IW-SQL</SystemName>
<OSName>Microsoft Windows NT 5.2.3790.0</OSName>
<OSVersion>5.2.3790.0</OSVersion>
</Header>
ReportingServicesService!servicecontroller!11dc!8/17/2007-05:10:24:: i INFO:
Recycling the service from default domain
ReportingServicesService!servicecontroller!11dc!8/17/2007-05:10:27:: i INFO:
New app domain started
Other existing reports seem to be working with no problem.
Any help troubleshooting this would be greatly appreciated.
KevinWell I've found a solution. Instead of copying an existing report I just
started from scratch. I built a new one from the ground up and it worked
fine.
Apparently there was something in the report I made from the copy that it
didn't like. I thought I went through it pretty thoroughly to make sure
nothing referred to fields, parameters, etc. that didn't apply but I guess I
missed something.
For future reference I would appreciate any recommendations for catching
problems when copying a report. Maybe copying isn't recommended? It usually
seems to save time (except in this case!).
Kevin|||Rats!!! I thought I had it fixed. My report and stored procedure both have
just one parameter. I just made a simple report (data is listed in a table)
and set a default value for the report parameter and it worked.
Thinking that it was fixed, I removed the default and re-published. Now
when I select a value from the list in the prompt and run the report I get
the error.
So, is the problem something to do with my prompt? Any ideas on
troubleshooting would be appreciated. The prompt is just a simple query from
one table -
SELECT DISTINCT r.item AS PromptValue
,r.item AS PromptLabel
FROM dbname.dbo.tablename r
WHERE r.item <> ''
ORDER BY r.item
The stored procedure queries the same table and is as follows -
CREATE PROCEDURE rpt_Ref_DesTermCount
(
@.StockCode VARCHAR(30) = '%'
)
AS
SELECT r.item
,r.ref_des
,r.TermCount
FROM dbname.dbo.tablename r
WHERE r.item LIKE @.StockCode
ORDER BY r.ref_des
GO
Thanks in advance,
Kevin

Wednesday, March 21, 2012

RS2005 Designer deploy to RS2000?

Think I might already know the answer to this but ... can I deploy reports
created with VS2005/RS2005 Report Designer to a SQL2000 Reporting Services
server? If not, as it appears, can I re-install VS2003 & RS2000 on a client
machine already running VS2005, or will I need to remove and install VS2003
first?Welcome to the MSDN newsgroup.
Regarding on the two question you mentioned:
1. can I deploy reports created with VS2005/RS2005 Report Designer to a
SQL2000 Reporting Services server?
===============================This is not supported since RS 2005's report definition has added many new
items which are not supported by RS 2000. Also, generally only backward
compatibility is supported.
2. can I re-install VS2003 & RS2000 on a client machine already running
VS2005, or will I need to remove and install VS2003 first?
==========================This is supported. Vs 2003 and vs 2005 can be installed side by side on
the same machine(the same with SQL 2000 and SQL 2005). As for RS, make
sure that the report server application/also report manager for RS 2000 is
configured to use the ASP.NET 1.1 while RS 2005's are configured in a IIS
site or virutal dir that use ASP.NET 2.0. This is important.
Hope this helps.
Regards,
Steven Cheng
Microsoft Online Community Support
==================================================
When responding to posts, please "Reply to Group" via your newsreader so
that others may learn and benefit from your issue.
==================================================
This posting is provided "AS IS" with no warranties, and confers no rights.

RS2005 cluster-aware

I know RS2000 is nto cluster-aware.

what about RS2005....anyone knows ?

if yes, can we isntall RS2005 on the same cluster as SQL2005

Great question, does anyone know the answer to this? I need to know as well, I have a 64 bit itanium cluster.

RS2005 breaks my build: Version 2.0 is not a compatible version

Hi,

We've developed a RS DataExtension on RS2000, including a reference to Microsoft.ReportingServices.Interfaces.dll. Since I have installed RS 2005 on my machine, (we actually saw this issue first on our build server) the project no longer compiles. We get this error:

fatal error CS0009: Metadata file 'c:\Program Files\Microsoft SQL Server\90\SDK\Assemblies\Microsoft.ReportingServices.Interfaces.dll' could not be opened -- 'Version 2.0 is not a compatible version.'

The VS.NET 2003 project does include a '_references' directory, with the RS2000 version of the Microsoft.ReportingServices.Interfaces.dll (v8.0.1038.0) in it and the project file has a local reference like

<Reference
Name = "Microsoft.ReportingServices.Interfaces"
AssemblyName = "Microsoft.ReportingServices.Interfaces"
HintPath = "_references\Microsoft.ReportingServices.Interfaces.dll"
/>

So since installing RS 2005, it seems like the compiler is picking up the Microsoft.ReportingServices.Interfaces.dll from the GAC. On the build server (and confirmed by the installation on my dev box) RS 2005 installs this dll into the GAC. The compiler can only find this dll in the GAC, or is VS.NET doing tricky things here?

So my question is now, why ... ooooh why does the compiler pick up the wrong dll from the GAC and why ... ooooh why does it not pick up the explicit hintpath that is given in the project file.

Someone please tell me how to force the compiler to look at the correct dll/path.

If you want to build a data extension to be used with RS 2005, you have to use the .NET 2.0 C# compiler (or VS 2005) and your data extension has to reference the updated Microsoft.ReportingServices.Interfaces.dll that was installed by RS 2005.

The Interfaces.dll of RS 2005 is based on .NET 2.0 and cannot be used in a .NET 1.1 (VS 2003) project.

-- Robert

|||

Robert, yes, I understand that.

Indeed for the RS 2005 version of our Data Extension, we will use VS2005 and a reference to the RS 2005 version of the dll.

But, I'd still like to be able to compile the RS 2000 version of our Data Extension, using VS.NET 2003 and a reference to the RS 2000 version of the dll.

So problem is however that I have an existing data extension compiled against the RS 2000 version, which is being compiled using devenv (VS.NET 2003). This all worked until our sysadmin installed RS 2005 on the build server. Since RS 2005 has been installed, VS.NET 2003 always attempts to use the RS 2005 version of the dll's to compile the code, where as it should do as it states in the docs and use the RS 2000 version of the dll as specified in the references hintpath.

I have already build our data extension using csc (.NET v1.1) directly, which does seem to respect the references given to it. I suspect that the issue is more a VS.NET 2003 issue, resolving the dll reference incorrectly 1) from the GAC, 2) from the .NET 2.0 GAC, instead of taking the dll that has been copied in the project directory.

Rudi

|||

A new day, a new result.

Today the build on my machine does work.

I did install VS 2005 yesterday, maybe that 'magically' fixed the problem.

So we're installing VS 2005 on our build server aswell, hopefully that will solve the problem for us.

|||

Turned out that installing VS 2005 did NOT solve the problem.

The real solution exists in creating a *.csproj.user file with the ReferencePath set correctly. When running devenv from the command-line, it will pick up the *.csproj.user file and use the ReferencePath to locate the correct reference.

I was hoping to see (and test) the VS2003 SP1 this month, but this seems to be another 'longwait' program, it was first promised to be April 2006, then June 2006, but still not here: http://msdn.microsoft.com/vstudio/support/servicing/sp1_vs03/default.aspx

RS2005 breaks my build: Version 2.0 is not a compatible version

Hi,

We've developed a RS DataExtension on RS2000, including a reference to Microsoft.ReportingServices.Interfaces.dll. Since I have installed RS 2005 on my machine, (we actually saw this issue first on our build server) the project no longer compiles. We get this error:

fatal error CS0009: Metadata file 'c:\Program Files\Microsoft SQL Server\90\SDK\Assemblies\Microsoft.ReportingServices.Interfaces.dll' could not be opened -- 'Version 2.0 is not a compatible version.'

The VS.NET 2003 project does include a '_references' directory, with the RS2000 version of the Microsoft.ReportingServices.Interfaces.dll (v8.0.1038.0) in it and the project file has a local reference like

<Reference
Name = "Microsoft.ReportingServices.Interfaces"
AssemblyName = "Microsoft.ReportingServices.Interfaces"
HintPath = "_references\Microsoft.ReportingServices.Interfaces.dll"
/>

So since installing RS 2005, it seems like the compiler is picking up the Microsoft.ReportingServices.Interfaces.dll from the GAC. On the build server (and confirmed by the installation on my dev box) RS 2005 installs this dll into the GAC. The compiler can only find this dll in the GAC, or is VS.NET doing tricky things here?

So my question is now, why ... ooooh why does the compiler pick up the wrong dll from the GAC and why ... ooooh why does it not pick up the explicit hintpath that is given in the project file.

Someone please tell me how to force the compiler to look at the correct dll/path.

If you want to build a data extension to be used with RS 2005, you have to use the .NET 2.0 C# compiler (or VS 2005) and your data extension has to reference the updated Microsoft.ReportingServices.Interfaces.dll that was installed by RS 2005.

The Interfaces.dll of RS 2005 is based on .NET 2.0 and cannot be used in a .NET 1.1 (VS 2003) project.

-- Robert

|||

Robert, yes, I understand that.

Indeed for the RS 2005 version of our Data Extension, we will use VS2005 and a reference to the RS 2005 version of the dll.

But, I'd still like to be able to compile the RS 2000 version of our Data Extension, using VS.NET 2003 and a reference to the RS 2000 version of the dll.

So problem is however that I have an existing data extension compiled against the RS 2000 version, which is being compiled using devenv (VS.NET 2003). This all worked until our sysadmin installed RS 2005 on the build server. Since RS 2005 has been installed, VS.NET 2003 always attempts to use the RS 2005 version of the dll's to compile the code, where as it should do as it states in the docs and use the RS 2000 version of the dll as specified in the references hintpath.

I have already build our data extension using csc (.NET v1.1) directly, which does seem to respect the references given to it. I suspect that the issue is more a VS.NET 2003 issue, resolving the dll reference incorrectly 1) from the GAC, 2) from the .NET 2.0 GAC, instead of taking the dll that has been copied in the project directory.

Rudi

|||

A new day, a new result.

Today the build on my machine does work.

I did install VS 2005 yesterday, maybe that 'magically' fixed the problem.

So we're installing VS 2005 on our build server aswell, hopefully that will solve the problem for us.

|||

Turned out that installing VS 2005 did NOT solve the problem.

The real solution exists in creating a *.csproj.user file with the ReferencePath set correctly. When running devenv from the command-line, it will pick up the *.csproj.user file and use the ReferencePath to locate the correct reference.

I was hoping to see (and test) the VS2003 SP1 this month, but this seems to be another 'longwait' program, it was first promised to be April 2006, then June 2006, but still not here: http://msdn.microsoft.com/vstudio/support/servicing/sp1_vs03/default.aspx

RS2000: Subscriptions "Logon Failed"

Hi,
We get an "Logon Failed" message when running subscriptions;
ReportServer service runs using an domain account. Domain account has
run-as-a-service, logon-locally and "impersonate a client after
authentication" and the apprioriate database rights.
What is the "required privilege" (see below) the reportserver is requiring?
Regards,
Erik Tamminga
ReportingServicesService!library!968!03/08/2006-11:19:11:: e ERROR: Throwing
Microsoft.ReportingServices.Diagnostics.Utilities.LogonFailedException:
Logon failed., ;
Info:
Microsoft.ReportingServices.Diagnostics.Utilities.LogonFailedException:
Logon failed. --> System.Runtime.InteropServices.COMException (0x80070522):
A required privilege is not held by the client.
at System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(Int32
errorCode, IntPtr errorInfo)
at RSRemoteRpcClient.RemoteLogon.GetRemoteImpToken(String pUserName,
String pDomain, String pPassword, Boolean bTryRemote, IntPtr& pImpToken)
at
Microsoft.ReportingServices.Diagnostics.DatasourceRuntimeContext.MakeUserToken(String
userName, String userPwd, String domain)From here:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/rsadmin/htm/drp_deploying_v1_0lmh.asp
Hope it helps
1.. Decide which accounts to use for Report Server services. Reporting
Services requires three accounts:
2.. Report Server Windows service requires an account to log on to the
local system. Microsoft recommends that you use Local System if you are
installing on Windows 2000. For more information about this recommendation,
see Service Account.
3.. Report Server Web service requires an account to log on to the local
system. Because it is an ASP.NET application, it runs using the ASPNET
account. If you are running Windows 2000, you cannot specify a different
account to use during Setup; you must use the account that is defined for
ASP.NET. If you are running Windows Server 2003, the default is Network
Service, but you can choose to run the service as Local System.
4.. Report Server Web service requires an account to log on to the SQL
Server instance that hosts the report server database. You can specify a
domain account, a SQL Server login, or Local System. You can also use the
credentials that the Report Server Web service uses to log on to the system.
For more information, see Report Server Database Setup.
"Erik Tamminga" <agnimmate@.muimetca.ln_revese_the_previous> wrote in message
news:OcR0JGqQGHA.3896@.TK2MSFTNGP15.phx.gbl...
> Hi,
> We get an "Logon Failed" message when running subscriptions;
> ReportServer service runs using an domain account. Domain account has
> run-as-a-service, logon-locally and "impersonate a client after
> authentication" and the apprioriate database rights.
> What is the "required privilege" (see below) the reportserver is
> requiring?
> Regards,
> Erik Tamminga
> ReportingServicesService!library!968!03/08/2006-11:19:11:: e ERROR:
> Throwing
> Microsoft.ReportingServices.Diagnostics.Utilities.LogonFailedException:
> Logon failed., ;
> Info:
> Microsoft.ReportingServices.Diagnostics.Utilities.LogonFailedException:
> Logon failed. --> System.Runtime.InteropServices.COMException
> (0x80070522): A required privilege is not held by the client.
> at System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(Int32
> errorCode, IntPtr errorInfo)
> at RSRemoteRpcClient.RemoteLogon.GetRemoteImpToken(String pUserName,
> String pDomain, String pPassword, Boolean bTryRemote, IntPtr& pImpToken)
> at
> Microsoft.ReportingServices.Diagnostics.DatasourceRuntimeContext.MakeUserToken(String
> userName, String userPwd, String domain)
>|||Thanks Beth,
But; RS is able to start, login to the databases. RS WebApplication works as
expected but only the Subscriptions give me a logon failed when they're
scheduled to run. It seems to have something to do with RS not being able to
render the reports using the account used for subscriptions. Any idears on
how to fix this?
Erik
"Beth" <scratchbakery@.msn.com> wrote in message
news:%23ClUKBtQGHA.3916@.TK2MSFTNGP11.phx.gbl...
> From here:
> http://msdn.microsoft.com/library/default.asp?url=/library/en-us/rsadmin/htm/drp_deploying_v1_0lmh.asp
> Hope it helps
> 1.. Decide which accounts to use for Report Server services. Reporting
> Services requires three accounts:
> 2.. Report Server Windows service requires an account to log on to the
> local system. Microsoft recommends that you use Local System if you are
> installing on Windows 2000. For more information about this
> recommendation, see Service Account.
> 3.. Report Server Web service requires an account to log on to the local
> system. Because it is an ASP.NET application, it runs using the ASPNET
> account. If you are running Windows 2000, you cannot specify a different
> account to use during Setup; you must use the account that is defined for
> ASP.NET. If you are running Windows Server 2003, the default is Network
> Service, but you can choose to run the service as Local System.
> 4.. Report Server Web service requires an account to log on to the SQL
> Server instance that hosts the report server database. You can specify a
> domain account, a SQL Server login, or Local System. You can also use the
> credentials that the Report Server Web service uses to log on to the
> system. For more information, see Report Server Database Setup.
> "Erik Tamminga" <agnimmate@.muimetca.ln_revese_the_previous> wrote in
> message news:OcR0JGqQGHA.3896@.TK2MSFTNGP15.phx.gbl...
>> Hi,
>> We get an "Logon Failed" message when running subscriptions;
>> ReportServer service runs using an domain account. Domain account has
>> run-as-a-service, logon-locally and "impersonate a client after
>> authentication" and the apprioriate database rights.
>> What is the "required privilege" (see below) the reportserver is
>> requiring?
>> Regards,
>> Erik Tamminga
>> ReportingServicesService!library!968!03/08/2006-11:19:11:: e ERROR:
>> Throwing
>> Microsoft.ReportingServices.Diagnostics.Utilities.LogonFailedException:
>> Logon failed., ;
>> Info:
>> Microsoft.ReportingServices.Diagnostics.Utilities.LogonFailedException:
>> Logon failed. --> System.Runtime.InteropServices.COMException
>> (0x80070522): A required privilege is not held by the client.
>> at System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(Int32
>> errorCode, IntPtr errorInfo)
>> at RSRemoteRpcClient.RemoteLogon.GetRemoteImpToken(String pUserName,
>> String pDomain, String pPassword, Boolean bTryRemote, IntPtr& pImpToken)
>> at
>> Microsoft.ReportingServices.Diagnostics.DatasourceRuntimeContext.MakeUserToken(String
>> userName, String userPwd, String domain)
>|||Hi Erik,
i think for the subscription to work you need to have Credentials stored
securely in the report server. Subscription will not work for reports which
dont have this stored credentials. When you run the report it will work, but
subscription will not work. The reason is DataSources for that report does
not have stored credentials i.e it has either have windows credential or no
credential. in order that reports have subscrpiton enabled you have to check
the "Credentials stored securely in the report server" and enter the user
name and pwd. you can either enter a sql login or windows login based on the
authentication type. and finally click Apply button to store it. Then do the
subscrpion it will work.
Bava
"Erik Tamminga" wrote:
> Thanks Beth,
> But; RS is able to start, login to the databases. RS WebApplication works as
> expected but only the Subscriptions give me a logon failed when they're
> scheduled to run. It seems to have something to do with RS not being able to
> render the reports using the account used for subscriptions. Any idears on
> how to fix this?
> Erik
> "Beth" <scratchbakery@.msn.com> wrote in message
> news:%23ClUKBtQGHA.3916@.TK2MSFTNGP11.phx.gbl...
> > From here:
> > http://msdn.microsoft.com/library/default.asp?url=/library/en-us/rsadmin/htm/drp_deploying_v1_0lmh.asp
> > Hope it helps
> > 1.. Decide which accounts to use for Report Server services. Reporting
> > Services requires three accounts:
> > 2.. Report Server Windows service requires an account to log on to the
> > local system. Microsoft recommends that you use Local System if you are
> > installing on Windows 2000. For more information about this
> > recommendation, see Service Account.
> > 3.. Report Server Web service requires an account to log on to the local
> > system. Because it is an ASP.NET application, it runs using the ASPNET
> > account. If you are running Windows 2000, you cannot specify a different
> > account to use during Setup; you must use the account that is defined for
> > ASP.NET. If you are running Windows Server 2003, the default is Network
> > Service, but you can choose to run the service as Local System.
> > 4.. Report Server Web service requires an account to log on to the SQL
> > Server instance that hosts the report server database. You can specify a
> > domain account, a SQL Server login, or Local System. You can also use the
> > credentials that the Report Server Web service uses to log on to the
> > system. For more information, see Report Server Database Setup.
> > "Erik Tamminga" <agnimmate@.muimetca.ln_revese_the_previous> wrote in
> > message news:OcR0JGqQGHA.3896@.TK2MSFTNGP15.phx.gbl...
> >> Hi,
> >>
> >> We get an "Logon Failed" message when running subscriptions;
> >>
> >> ReportServer service runs using an domain account. Domain account has
> >> run-as-a-service, logon-locally and "impersonate a client after
> >> authentication" and the apprioriate database rights.
> >>
> >> What is the "required privilege" (see below) the reportserver is
> >> requiring?
> >>
> >> Regards,
> >>
> >> Erik Tamminga
> >>
> >> ReportingServicesService!library!968!03/08/2006-11:19:11:: e ERROR:
> >> Throwing
> >> Microsoft.ReportingServices.Diagnostics.Utilities.LogonFailedException:
> >> Logon failed., ;
> >> Info:
> >> Microsoft.ReportingServices.Diagnostics.Utilities.LogonFailedException:
> >> Logon failed. --> System.Runtime.InteropServices.COMException
> >> (0x80070522): A required privilege is not held by the client.
> >> at System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(Int32
> >> errorCode, IntPtr errorInfo)
> >> at RSRemoteRpcClient.RemoteLogon.GetRemoteImpToken(String pUserName,
> >> String pDomain, String pPassword, Boolean bTryRemote, IntPtr& pImpToken)
> >> at
> >> Microsoft.ReportingServices.Diagnostics.DatasourceRuntimeContext.MakeUserToken(String
> >> userName, String userPwd, String domain)
> >>
> >
> >
>
>|||Hi,
Thanks for the reply, but all of my data sources already use stored
credentials (sql-server's sa user, ..., yeah I know ...). So I still think
it has something to do with the win2000 environment and rs supplied
credentials. Have another look at the reported error, it talks about
impersonation, tokens and the windows user/password/domain combo wich are
not used by SQL authenticating data sources.
Regads,
Erik
"Bava Mani" <BavaMani@.discussions.microsoft.com> wrote in message
news:5F64E059-6709-4881-85ED-D9612700BB3B@.microsoft.com...
> Hi Erik,
> i think for the subscription to work you need to have Credentials stored
> securely in the report server. Subscription will not work for reports
> which
> dont have this stored credentials. When you run the report it will work,
> but
> subscription will not work. The reason is DataSources for that report does
> not have stored credentials i.e it has either have windows credential or
> no
> credential. in order that reports have subscrpiton enabled you have to
> check
> the "Credentials stored securely in the report server" and enter the user
> name and pwd. you can either enter a sql login or windows login based on
> the
> authentication type. and finally click Apply button to store it. Then do
> the
> subscrpion it will work.
> Bava
> "Erik Tamminga" wrote:
>> Thanks Beth,
>> But; RS is able to start, login to the databases. RS WebApplication works
>> as
>> expected but only the Subscriptions give me a logon failed when they're
>> scheduled to run. It seems to have something to do with RS not being able
>> to
>> render the reports using the account used for subscriptions. Any idears
>> on
>> how to fix this?
>> Erik
>> "Beth" <scratchbakery@.msn.com> wrote in message
>> news:%23ClUKBtQGHA.3916@.TK2MSFTNGP11.phx.gbl...
>> > From here:
>> > http://msdn.microsoft.com/library/default.asp?url=/library/en-us/rsadmin/htm/drp_deploying_v1_0lmh.asp
>> > Hope it helps
>> > 1.. Decide which accounts to use for Report Server services. Reporting
>> > Services requires three accounts:
>> > 2.. Report Server Windows service requires an account to log on to the
>> > local system. Microsoft recommends that you use Local System if you are
>> > installing on Windows 2000. For more information about this
>> > recommendation, see Service Account.
>> > 3.. Report Server Web service requires an account to log on to the
>> > local
>> > system. Because it is an ASP.NET application, it runs using the ASPNET
>> > account. If you are running Windows 2000, you cannot specify a
>> > different
>> > account to use during Setup; you must use the account that is defined
>> > for
>> > ASP.NET. If you are running Windows Server 2003, the default is Network
>> > Service, but you can choose to run the service as Local System.
>> > 4.. Report Server Web service requires an account to log on to the SQL
>> > Server instance that hosts the report server database. You can specify
>> > a
>> > domain account, a SQL Server login, or Local System. You can also use
>> > the
>> > credentials that the Report Server Web service uses to log on to the
>> > system. For more information, see Report Server Database Setup.
>> > "Erik Tamminga" <agnimmate@.muimetca.ln_revese_the_previous> wrote in
>> > message news:OcR0JGqQGHA.3896@.TK2MSFTNGP15.phx.gbl...
>> >> Hi,
>> >>
>> >> We get an "Logon Failed" message when running subscriptions;
>> >>
>> >> ReportServer service runs using an domain account. Domain account has
>> >> run-as-a-service, logon-locally and "impersonate a client after
>> >> authentication" and the apprioriate database rights.
>> >>
>> >> What is the "required privilege" (see below) the reportserver is
>> >> requiring?
>> >>
>> >> Regards,
>> >>
>> >> Erik Tamminga
>> >>
>> >> ReportingServicesService!library!968!03/08/2006-11:19:11:: e ERROR:
>> >> Throwing
>> >> Microsoft.ReportingServices.Diagnostics.Utilities.LogonFailedException:
>> >> Logon failed., ;
>> >> Info:
>> >> Microsoft.ReportingServices.Diagnostics.Utilities.LogonFailedException:
>> >> Logon failed. --> System.Runtime.InteropServices.COMException
>> >> (0x80070522): A required privilege is not held by the client.
>> >> at System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(Int32
>> >> errorCode, IntPtr errorInfo)
>> >> at RSRemoteRpcClient.RemoteLogon.GetRemoteImpToken(String pUserName,
>> >> String pDomain, String pPassword, Boolean bTryRemote, IntPtr&
>> >> pImpToken)
>> >> at
>> >> Microsoft.ReportingServices.Diagnostics.DatasourceRuntimeContext.MakeUserToken(String
>> >> userName, String userPwd, String domain)
>> >>
>> >
>> >
>>|||Hi,
Are you using any custom dataset extension or custom assemblie?
why cant you give a domain\windowuser and pwd and click the check box below
"Use as Windows credentials when connecting to the data source" in the
datasource and try running the report. see if its work.
Bava
"Erik Tamminga" wrote:
> Hi,
> Thanks for the reply, but all of my data sources already use stored
> credentials (sql-server's sa user, ..., yeah I know ...). So I still think
> it has something to do with the win2000 environment and rs supplied
> credentials. Have another look at the reported error, it talks about
> impersonation, tokens and the windows user/password/domain combo wich are
> not used by SQL authenticating data sources.
> Regads,
> Erik
> "Bava Mani" <BavaMani@.discussions.microsoft.com> wrote in message
> news:5F64E059-6709-4881-85ED-D9612700BB3B@.microsoft.com...
> > Hi Erik,
> > i think for the subscription to work you need to have Credentials stored
> > securely in the report server. Subscription will not work for reports
> > which
> > dont have this stored credentials. When you run the report it will work,
> > but
> > subscription will not work. The reason is DataSources for that report does
> > not have stored credentials i.e it has either have windows credential or
> > no
> > credential. in order that reports have subscrpiton enabled you have to
> > check
> > the "Credentials stored securely in the report server" and enter the user
> > name and pwd. you can either enter a sql login or windows login based on
> > the
> > authentication type. and finally click Apply button to store it. Then do
> > the
> > subscrpion it will work.
> >
> > Bava
> >
> > "Erik Tamminga" wrote:
> >
> >> Thanks Beth,
> >>
> >> But; RS is able to start, login to the databases. RS WebApplication works
> >> as
> >> expected but only the Subscriptions give me a logon failed when they're
> >> scheduled to run. It seems to have something to do with RS not being able
> >> to
> >> render the reports using the account used for subscriptions. Any idears
> >> on
> >> how to fix this?
> >>
> >> Erik
> >>
> >> "Beth" <scratchbakery@.msn.com> wrote in message
> >> news:%23ClUKBtQGHA.3916@.TK2MSFTNGP11.phx.gbl...
> >> > From here:
> >> > http://msdn.microsoft.com/library/default.asp?url=/library/en-us/rsadmin/htm/drp_deploying_v1_0lmh.asp
> >> > Hope it helps
> >> > 1.. Decide which accounts to use for Report Server services. Reporting
> >> > Services requires three accounts:
> >> > 2.. Report Server Windows service requires an account to log on to the
> >> > local system. Microsoft recommends that you use Local System if you are
> >> > installing on Windows 2000. For more information about this
> >> > recommendation, see Service Account.
> >> > 3.. Report Server Web service requires an account to log on to the
> >> > local
> >> > system. Because it is an ASP.NET application, it runs using the ASPNET
> >> > account. If you are running Windows 2000, you cannot specify a
> >> > different
> >> > account to use during Setup; you must use the account that is defined
> >> > for
> >> > ASP.NET. If you are running Windows Server 2003, the default is Network
> >> > Service, but you can choose to run the service as Local System.
> >> > 4.. Report Server Web service requires an account to log on to the SQL
> >> > Server instance that hosts the report server database. You can specify
> >> > a
> >> > domain account, a SQL Server login, or Local System. You can also use
> >> > the
> >> > credentials that the Report Server Web service uses to log on to the
> >> > system. For more information, see Report Server Database Setup.
> >> > "Erik Tamminga" <agnimmate@.muimetca.ln_revese_the_previous> wrote in
> >> > message news:OcR0JGqQGHA.3896@.TK2MSFTNGP15.phx.gbl...
> >> >> Hi,
> >> >>
> >> >> We get an "Logon Failed" message when running subscriptions;
> >> >>
> >> >> ReportServer service runs using an domain account. Domain account has
> >> >> run-as-a-service, logon-locally and "impersonate a client after
> >> >> authentication" and the apprioriate database rights.
> >> >>
> >> >> What is the "required privilege" (see below) the reportserver is
> >> >> requiring?
> >> >>
> >> >> Regards,
> >> >>
> >> >> Erik Tamminga
> >> >>
> >> >> ReportingServicesService!library!968!03/08/2006-11:19:11:: e ERROR:
> >> >> Throwing
> >> >> Microsoft.ReportingServices.Diagnostics.Utilities.LogonFailedException:
> >> >> Logon failed., ;
> >> >> Info:
> >> >> Microsoft.ReportingServices.Diagnostics.Utilities.LogonFailedException:
> >> >> Logon failed. --> System.Runtime.InteropServices.COMException
> >> >> (0x80070522): A required privilege is not held by the client.
> >> >> at System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(Int32
> >> >> errorCode, IntPtr errorInfo)
> >> >> at RSRemoteRpcClient.RemoteLogon.GetRemoteImpToken(String pUserName,
> >> >> String pDomain, String pPassword, Boolean bTryRemote, IntPtr&
> >> >> pImpToken)
> >> >> at
> >> >> Microsoft.ReportingServices.Diagnostics.DatasourceRuntimeContext.MakeUserToken(String
> >> >> userName, String userPwd, String domain)
> >> >>
> >> >
> >> >
> >>
> >>
> >>
>
>

RS2000: Multiple formats in one textbox?

Is it possible to apply multiple formats (such as bold some of the
text, but not all of it) within one textbox?
I guess this would essentially be like bolding a few words in an HTML
document, but not the entire line/div.
Thanks.No this is not supporte in RS 2000 or in RS 2005... I do beleive at some
point in the near future Rs will support html, at that time, you'll get the
functionality you are looking for...
Now you'll have to create multiple smaller boxes each with its own formatting.
--
Wayne Snyder MCDBA, SQL Server MVP
Mariner, Charlotte, NC
I support the Professional Association for SQL Server ( PASS) and it''s
community of SQL Professionals.
"Octavius@.gmail.com" wrote:
> Is it possible to apply multiple formats (such as bold some of the
> text, but not all of it) within one textbox?
> I guess this would essentially be like bolding a few words in an HTML
> document, but not the entire line/div.
> Thanks.
>sql

RS2000: Failure sending mail: Cannot access a closed file...

SQL Server 2000, RS2000...
I have 2 timed subscriptions to the same report. One of the
subscriptions delivers the report via Report Server Email, the other
via File share.
If I choose PDF orWeb Archive as the deliverable then then both
reports work. If I choose Excel, I get the following error message
posted on the Report Server next to Status when I look at both
subscriptions to the report.
Any idea what is happening?
Thanks,
KeithOn Feb 1, 5:29 pm, 1300...@.gmail.com wrote:
> SQL Server 2000, RS2000...
> I have 2 timed subscriptions to the same report. One of the
> subscriptions delivers the report via Report Server Email, the other
> via File share.
> If I choose PDF orWeb Archive as the deliverable then then both
> reports work. If I choose Excel, I get the following error message
> posted on the Report Server next to Status when I look at both
> subscriptions to the report.
Guess including the error might help!
Failure sending mail: Cannot access a closed file
> Any idea what is happening?
> Thanks,
> Keith

RS2000/VS2003 RS2005 Viewer control

We have reports written using Visual Studio 2003, and deployed on a server
running Reporting services 2000. This is OK and working.
Is it possible to write a web page using Visual Studio 2005, and the new
ReportViewer control (Microsoft.Reporting.WebForms.ReportViewer
) to render these reports.
I'm setting the ReportPath and ReportServerUrl but I'm getting the following
error.
Using VS2003 and the RS2000 webservice with the same values worked...
[WebException: The request failed with HTTP status 404: Not Found.]
Microsoft.SqlServer.ReportingServices2005.Execution.RSExecutionConnection.GetSecureMethods() +242
Microsoft.SqlServer.ReportingServices2005.Execution.RSExecutionConnection.IsSecureMethod(String methodname) +86
Microsoft.SqlServer.ReportingServices2005.Execution.RSExecutionConnection.SetConnectionSSLForMethod(String methodname) +33
Microsoft.SqlServer.ReportingServices2005.Execution.RSExecutionConnection.LoadReport(String Report, String HistoryID) +68
[MissingEndpointException: The attempt to connect to the report server
failed. Check your connection information and that the report server is a
compatible version.]
Microsoft.SqlServer.ReportingServices2005.Execution.MissingEndpointException.ThrowIfEndpointMissing(WebException e) +129
Microsoft.SqlServer.ReportingServices2005.Execution.RSExecutionConnection.LoadReport(String Report, String HistoryID) +147
Microsoft.Reporting.WebForms.ServerReport.GetExecutionInfo() +249
Microsoft.Reporting.WebForms.ServerReport.GetParameters() +40
Microsoft.Reporting.WebForms.ParametersArea.GetMetaDataFromReport(Boolean
useCurrentValues) +137
Microsoft.Reporting.WebForms.ReportViewer.OnPreRender(EventArgs e) +184
System.Web.UI.Control.PreRenderRecursiveInternal() +148
System.Web.UI.Control.PreRenderRecursiveInternal() +233
System.Web.UI.Control.PreRenderRecursiveInternal() +233
System.Web.UI.Page.ProcessRequestMain(Boolean
includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5036
Any help appreciated.
--
FredThe Report Viewer control requires running against RS2005.
There are Server side changes that RS2000 does not have.
--
| Thread-Topic: RS2000/VS2003 RS2005 Viewer control
| thread-index: AcWol1mSmeVTJhrpSOyD8QdgJNzP3g==| X-WBNR-Posting-Host: 62.188.58.81
| From: "=?Utf-8?B?RnJlZA==?=" <Fred@.discussions.microsoft.com>
| Subject: RS2000/VS2003 RS2005 Viewer control
| Date: Wed, 24 Aug 2005 03:34:04 -0700
| Lines: 50
| Message-ID: <2E7C722F-2A27-4176-816E-10517D4B25DC@.microsoft.com>
| MIME-Version: 1.0
| Content-Type: text/plain;
| charset="Utf-8"
| Content-Transfer-Encoding: 7bit
| X-Newsreader: Microsoft CDO for Windows 2000
| Content-Class: urn:content-classes:message
| Importance: normal
| Priority: normal
| X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.0
| Newsgroups: microsoft.public.sqlserver.reportingsvcs
| NNTP-Posting-Host: TK2MSFTNGXA03.phx.gbl 10.40.2.250
| Path: TK2MSFTNGXA01.phx.gbl!TK2MSFTNGXA03.phx.gbl
| Xref: TK2MSFTNGXA01.phx.gbl microsoft.public.sqlserver.reportingsvcs:51025
| X-Tomcat-NG: microsoft.public.sqlserver.reportingsvcs
|
| We have reports written using Visual Studio 2003, and deployed on a
server
| running Reporting services 2000. This is OK and working.
|
| Is it possible to write a web page using Visual Studio 2005, and the new
| ReportViewer control (Microsoft.Reporting.WebForms.ReportViewer
| ) to render these reports.
|
|
| I'm setting the ReportPath and ReportServerUrl but I'm getting the
following
| error.
|
| Using VS2003 and the RS2000 webservice with the same values worked...
|
|
|
| [WebException: The request failed with HTTP status 404: Not Found.]
|
|
Microsoft.SqlServer.ReportingServices2005.Execution.RSExecutionConnection.Ge
tSecureMethods() +242
|
|
Microsoft.SqlServer.ReportingServices2005.Execution.RSExecutionConnection.Is
SecureMethod(String methodname) +86
|
|
Microsoft.SqlServer.ReportingServices2005.Execution.RSExecutionConnection.Se
tConnectionSSLForMethod(String methodname) +33
|
|
Microsoft.SqlServer.ReportingServices2005.Execution.RSExecutionConnection.Lo
adReport(String Report, String HistoryID) +68
|
| [MissingEndpointException: The attempt to connect to the report server
| failed. Check your connection information and that the report server is
a
| compatible version.]
|
|
Microsoft.SqlServer.ReportingServices2005.Execution.MissingEndpointException
ThrowIfEndpointMissing(WebException e) +129
|
|
Microsoft.SqlServer.ReportingServices2005.Execution.RSExecutionConnection.Lo
adReport(String Report, String HistoryID) +147
| Microsoft.Reporting.WebForms.ServerReport.GetExecutionInfo() +249
| Microsoft.Reporting.WebForms.ServerReport.GetParameters() +40
|
Microsoft.Reporting.WebForms.ParametersArea.GetMetaDataFromReport(Boolean
| useCurrentValues) +137
| Microsoft.Reporting.WebForms.ReportViewer.OnPreRender(EventArgs e) +184
| System.Web.UI.Control.PreRenderRecursiveInternal() +148
| System.Web.UI.Control.PreRenderRecursiveInternal() +233
| System.Web.UI.Control.PreRenderRecursiveInternal() +233
| System.Web.UI.Page.ProcessRequestMain(Boolean
| includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5036
|
|
|
|
| Any help appreciated.
|
| --
| Fred
|

RS2000 which OS?

Hello,

Can I install reporting services in a XP Pro, or windows 2000. We have SQL Server 2000 installed on XP Pro, I was trying to install RS2000 and I got a message it sais OS should be a server. Does that mean RS2000 can only be installed on a server? Can I install RS2000 on a windows 2000 machine?

Thanks,

Your understanding is correct. You can't install linensed reporting services on windows XP prof and you can install in on Win 2000.

rs2000 user in master database

Our database security standards require only dbo and guest users be in the
master database.
However, Reporting Services creates a user (rs2000) in the master database.
Is it possible to remove this user from the master database without affecting
functionality? If not, does anyone have suggestions for tightening down
security on this user?If RS created this it is how you installed it. I do not have any additional
users added to master database.
Only suggestion I could make is to try deleting it and if it causes a
problem put it back. All I know is, it is not a standard part of the install
(that I can see).
One caveat, my RS 2000 has been upgraded to RS 2005.
Bruce Loehle-Conger
MVP SQL Server Reporting Services
"cltdba" <cltdba@.discussions.microsoft.com> wrote in message
news:F4DE0DDD-3971-495B-B885-6338671BE79C@.microsoft.com...
> Our database security standards require only dbo and guest users be in the
> master database.
> However, Reporting Services creates a user (rs2000) in the master
> database.
> Is it possible to remove this user from the master database without
> affecting
> functionality? If not, does anyone have suggestions for tightening down
> security on this user?|||Thank you for the info. If I read your reply correctly;
The original install was RS 2000 (since upgraded to RS 2005).
During original install, no user (i.e. rs2000) was created in the master DB.
Are these true statements?
"Bruce L-C [MVP]" wrote:
> If RS created this it is how you installed it. I do not have any additional
> users added to master database.
> Only suggestion I could make is to try deleting it and if it causes a
> problem put it back. All I know is, it is not a standard part of the install
> (that I can see).
> One caveat, my RS 2000 has been upgraded to RS 2005.
>
> --
> Bruce Loehle-Conger
> MVP SQL Server Reporting Services
>
> "cltdba" <cltdba@.discussions.microsoft.com> wrote in message
> news:F4DE0DDD-3971-495B-B885-6338671BE79C@.microsoft.com...
> > Our database security standards require only dbo and guest users be in the
> > master database.
> >
> > However, Reporting Services creates a user (rs2000) in the master
> > database.
> > Is it possible to remove this user from the master database without
> > affecting
> > functionality? If not, does anyone have suggestions for tightening down
> > security on this user?
>
>|||I don't think a user was created at that time. I never looked previously so
I wouldn't know. What I can say is that in my situation (a 2000 upgraded to
2005) that there is no special user. I have dbo and guest in master and that
is it.
Bruce Loehle-Conger
MVP SQL Server Reporting Services
"cltdba" <cltdba@.discussions.microsoft.com> wrote in message
news:2CB87B13-7B80-4205-A06B-8BDDA367B801@.microsoft.com...
> Thank you for the info. If I read your reply correctly;
> The original install was RS 2000 (since upgraded to RS 2005).
> During original install, no user (i.e. rs2000) was created in the master
> DB.
> Are these true statements?
>
> "Bruce L-C [MVP]" wrote:
>> If RS created this it is how you installed it. I do not have any
>> additional
>> users added to master database.
>> Only suggestion I could make is to try deleting it and if it causes a
>> problem put it back. All I know is, it is not a standard part of the
>> install
>> (that I can see).
>> One caveat, my RS 2000 has been upgraded to RS 2005.
>>
>> --
>> Bruce Loehle-Conger
>> MVP SQL Server Reporting Services
>>
>> "cltdba" <cltdba@.discussions.microsoft.com> wrote in message
>> news:F4DE0DDD-3971-495B-B885-6338671BE79C@.microsoft.com...
>> > Our database security standards require only dbo and guest users be in
>> > the
>> > master database.
>> >
>> > However, Reporting Services creates a user (rs2000) in the master
>> > database.
>> > Is it possible to remove this user from the master database without
>> > affecting
>> > functionality? If not, does anyone have suggestions for tightening
>> > down
>> > security on this user?
>>

rs2000 summing up calculated columns

Hey,
I've got a few columns that called a custom assembly and fetch results
more or less correctly, but at the end of the column I'd like to sum up
that column.
Does it have a way of doing Sum(col3) or something, so I dont have to
implement any more custom assembly goodness?
Also, can I do =(col1+col2)?
Thanks in advance
Weston WeemsI suggest you create a calculated field. Do a right mouse click on your
field list, add an expression that calls your code. Now at this point it
will look like any other field and you can just sum it.
You can definitely do a sum(field1.value + field2.value) but that will be
using the field list, it is not summing your text boxes. You could need to
do this sum(Code.Mycode(field1.value) + Code.MyCode(field2.value)). Gets
confusing, which is why adding your own field to the field list is a good
idea in this instance.
Bruce Loehle-Conger
MVP SQL Server Reporting Services
"Weston Weems" <wweems@.gmail.nospammers.com> wrote in message
news:eimVKly3FHA.2364@.TK2MSFTNGP12.phx.gbl...
> Hey,
> I've got a few columns that called a custom assembly and fetch results
> more or less correctly, but at the end of the column I'd like to sum up
> that column.
> Does it have a way of doing Sum(col3) or something, so I dont have to
> implement any more custom assembly goodness?
> Also, can I do =(col1+col2)?
> Thanks in advance
> Weston Weemssql

RS2000 Report Parameters Insist on dependending on other parameters

I've got a ton of reports that effectively have 3 parameters
FranchiseID
Period
Year
Even though period and year parameters have no parameters that point to
franchise, I always have to select a period before I can choose a year.
I don't see anywhere in the report designer to say this parameter is
100% independent of the others and doesn't matter what the others are.
is there a place in the UI I've just magically never seen?
Thanks in advance.On the parameter setup page you can set the precedence by selecting a
parameter and using the up/down arrows to change the order. So by moving year
to first position you can select the year first. This assumes that year and
quarter are not generated by a common data source request.
Let me know if I have interpreted your question incorrectly.
"Weston Weems" wrote:
> I've got a ton of reports that effectively have 3 parameters
> FranchiseID
> Period
> Year
> Even though period and year parameters have no parameters that point to
> franchise, I always have to select a period before I can choose a year.
> I don't see anywhere in the report designer to say this parameter is
> 100% independent of the others and doesn't matter what the others are.
> is there a place in the UI I've just magically never seen?
> Thanks in advance.
>

Tuesday, March 20, 2012

RS2000 on multiple websites, customize look and feel, turn off admin

I'm brand new to SSRS and just installed RS2000. I have seen numerous posts/articles about how to set up RS2000 on the non-default website, but haven't been able to figure out if you can install it on multiple websites on the same server.

Here's my situation: we have multiple clients who run our software on the same server. Each client has their own db and their own website in IIS. I'd like to provide each client with access to reports through their own website that report on their own database. Is this possible at all? From what I'm finding, I don't think it is (it seems SSRS can only be installed on one site), but figured I would ask to determine whether I should explore the use of SSRS any further. If it isn't possible in RS2000, is it possible in RS2005?

I also have two other questions that I would need to figure out an answer to if it is possible to run RS2000 on multiple websites. First, is there a way to customize the look and feel of the reports? In other words, is there a way to add a header/leftnav/footer? It seems that I could use a frameset to load my header, footer, and leftnav, and then just point my main frame to the /reports/ or /reporserver virtual dirs. Is there a better way than that?

Secondly, is there a way to turn off access to most of the admin features available through the /reports/ directory. For example, we wouldn't want our clients to have access to "New Data Source", "Site Settings", etc. We'd just want them to access the reports we generate. It seems we could point them to the /reportserver/ directory and just put some custom pages in there to point at the reports (I just get a directory listing by default). Is there another way to do this?

Thanks,

Dave

This helps:

http://msdn.microsoft.com/msdnmag/issues/04/08/SQLServerReportingServices/default.aspx

RS2000 Matrix, Percent of subtotal

Problem: Subtotal is not calculated correct in a Matrix expression.
Need some help with an expression in a matrix that should calculate percent
of subtotal for a measure.
The matrix look like this
Column_OrderYear
RowGroup1 | RowGroup2 | Sales
% Share
I want % Share to calculate as sales / subtotal on RowGroup1(per
Column_OrderYear). If I use RowGroup1 in the scope it summerize the subtotal
for all Column_Year (all years) on that row.
I have included a modified version of Company Sales.rdl that is included in
samples for RS2000. In this example, for the first group Component and Bottom
Bracket, % Share should be calculated as 37977.81 / 6778096.94. Instead its
calculated as 37977.81/11233756.04.
--
<?xml version="1.0" encoding="utf-8"?>
<Report
xmlns="http://schemas.microsoft.com/sqlserver/reporting/2003/10/reportdefinition"
xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner">
<rd:GridSpacing>0.0625in</rd:GridSpacing>
<RightMargin>0.5in</RightMargin>
<Body>
<ReportItems>
<Matrix Name="matrix1">
<Corner>
<ReportItems>
<Textbox Name="textbox2">
<Style>
<PaddingLeft>2pt</PaddingLeft>
<PaddingBottom>2pt</PaddingBottom>
<PaddingTop>2pt</PaddingTop>
<PaddingRight>2pt</PaddingRight>
</Style>
<ZIndex>13</ZIndex>
<rd:DefaultName>textbox2</rd:DefaultName>
<CanGrow>true</CanGrow>
<Value />
</Textbox>
</ReportItems>
</Corner>
<Height>5.73232cm</Height>
<ZIndex>1</ZIndex>
<Style />
<MatrixRows>
<MatrixRow>
<MatrixCells>
<MatrixCell>
<ReportItems>
<Textbox Name="Share">
<Style>
<PaddingLeft>2pt</PaddingLeft>
<BackgroundColor>White</BackgroundColor>
<TextAlign>Right</TextAlign>
<PaddingBottom>2pt</PaddingBottom>
<PaddingTop>2pt</PaddingTop>
<PaddingRight>2pt</PaddingRight>
</Style>
<ZIndex>8</ZIndex>
<CanGrow>true</CanGrow>
<Value>=sum(Fields!Sales.Value)</Value>
</Textbox>
</ReportItems>
</MatrixCell>
</MatrixCells>
<Height>0.68068cm</Height>
</MatrixRow>
<MatrixRow>
<MatrixCells>
<MatrixCell>
<ReportItems>
<Textbox Name="textbox9">
<Style>
<PaddingLeft>2pt</PaddingLeft>
<Format>P</Format>
<BackgroundColor>White</BackgroundColor>
<TextAlign>Right</TextAlign>
<PaddingBottom>2pt</PaddingBottom>
<PaddingTop>2pt</PaddingTop>
<PaddingRight>2pt</PaddingRight>
</Style>
<ZIndex>6</ZIndex>
<rd:DefaultName>textbox9</rd:DefaultName>
<CanGrow>true</CanGrow>
<Value>=sum(Fields!Sales.Value) /
sum(Fields!Sales.Value, "matrix1_ProdCat")</Value>
</Textbox>
</ReportItems>
</MatrixCell>
</MatrixCells>
<Height>0.54454cm</Height>
</MatrixRow>
<MatrixRow>
<MatrixCells>
<MatrixCell>
<ReportItems>
<Textbox Name="textbox12">
<Style>
<PaddingLeft>2pt</PaddingLeft>
<PaddingBottom>2pt</PaddingBottom>
<PaddingTop>2pt</PaddingTop>
<PaddingRight>2pt</PaddingRight>
</Style>
<ZIndex>4</ZIndex>
<rd:DefaultName>textbox12</rd:DefaultName>
<CanGrow>true</CanGrow>
<Value>=sum(Fields!Sales.Value, "matrix1_ProdCat")</Value>
</Textbox>
</ReportItems>
</MatrixCell>
</MatrixCells>
<Height>0.67072cm</Height>
</MatrixRow>
<MatrixRow>
<MatrixCells>
<MatrixCell>
<ReportItems>
<Textbox Name="textbox11">
<Style>
<PaddingLeft>2pt</PaddingLeft>
<BackgroundColor>White</BackgroundColor>
<TextAlign>Right</TextAlign>
<PaddingBottom>2pt</PaddingBottom>
<PaddingTop>2pt</PaddingTop>
<PaddingRight>2pt</PaddingRight>
</Style>
<ZIndex>2</ZIndex>
<rd:DefaultName>textbox11</rd:DefaultName>
<CanGrow>true</CanGrow>
<Value>=sum(Fields!Sales.Value, "matrix1_SubCat")</Value>
</Textbox>
</ReportItems>
</MatrixCell>
</MatrixCells>
<Height>0.67072cm</Height>
</MatrixRow>
</MatrixRows>
<MatrixColumns>
<MatrixColumn>
<Width>5.09452cm</Width>
</MatrixColumn>
</MatrixColumns>
<DataSetName>Sales</DataSetName>
<ColumnGroupings>
<ColumnGrouping>
<DynamicColumns>
<Grouping Name="matrix1_OrderYear">
<GroupExpressions>
<GroupExpression>=Fields!OrderYear.Value</GroupExpression>
</GroupExpressions>
</Grouping>
<ReportItems>
<Textbox Name="OrderYear_1">
<Style>
<PaddingLeft>2pt</PaddingLeft>
<BackgroundColor>Green</BackgroundColor>
<TextAlign>Right</TextAlign>
<Color>White</Color>
<PaddingBottom>2pt</PaddingBottom>
<PaddingTop>2pt</PaddingTop>
<PaddingRight>2pt</PaddingRight>
</Style>
<ZIndex>12</ZIndex>
<rd:DefaultName>OrderYear_1</rd:DefaultName>
<CanGrow>true</CanGrow>
<Value>=Fields!OrderYear.Value</Value>
</Textbox>
</ReportItems>
</DynamicColumns>
<Height>0.599cm</Height>
</ColumnGrouping>
</ColumnGroupings>
<Width>12.90389cm</Width>
<Top>2.85714cm</Top>
<Left>0.15873cm</Left>
<RowGroupings>
<RowGrouping>
<DynamicRows>
<Grouping Name="matrix1_ProdCat">
<GroupExpressions>
<GroupExpression>=Fields!ProdCat.Value</GroupExpression>
</GroupExpressions>
</Grouping>
<ReportItems>
<Textbox Name="ProdCat">
<Style>
<PaddingLeft>2pt</PaddingLeft>
<BackgroundColor>Green</BackgroundColor>
<Color>White</Color>
<PaddingBottom>2pt</PaddingBottom>
<PaddingTop>2pt</PaddingTop>
<PaddingRight>2pt</PaddingRight>
</Style>
<ZIndex>11</ZIndex>
<rd:DefaultName>ProdCat</rd:DefaultName>
<CanGrow>true</CanGrow>
<Value>=Fields!ProdCat.Value</Value>
</Textbox>
</ReportItems>
<Subtotal>
<ReportItems>
<Textbox Name="textbox4">
<Style>
<PaddingLeft>2pt</PaddingLeft>
<BackgroundColor>Crimson</BackgroundColor>
<Color>White</Color>
<PaddingBottom>2pt</PaddingBottom>
<PaddingTop>2pt</PaddingTop>
<PaddingRight>2pt</PaddingRight>
</Style>
<ZIndex>1</ZIndex>
<rd:DefaultName>textbox4</rd:DefaultName>
<CanGrow>true</CanGrow>
<Value>Total</Value>
</Textbox>
</ReportItems>
</Subtotal>
</DynamicRows>
<Width>2.69841cm</Width>
</RowGrouping>
<RowGrouping>
<DynamicRows>
<Grouping Name="matrix1_SubCat">
<GroupExpressions>
<GroupExpression>=Fields!SubCat.Value</GroupExpression>
</GroupExpressions>
</Grouping>
<Sorting>
<SortBy>
<SortExpression>=Fields!SubCat.Value</SortExpression>
<Direction>Ascending</Direction>
</SortBy>
</Sorting>
<ReportItems>
<Textbox Name="textbox3">
<Style>
<PaddingLeft>2pt</PaddingLeft>
<BackgroundColor>Green</BackgroundColor>
<Color>White</Color>
<PaddingBottom>2pt</PaddingBottom>
<PaddingTop>2pt</PaddingTop>
<PaddingRight>2pt</PaddingRight>
</Style>
<ZIndex>10</ZIndex>
<rd:DefaultName>textbox3</rd:DefaultName>
<CanGrow>true</CanGrow>
<Value>=Fields!SubCat.Value</Value>
</Textbox>
</ReportItems>
<Subtotal>
<ReportItems>
<Textbox Name="textbox14">
<Style>
<PaddingLeft>2pt</PaddingLeft>
<BackgroundColor>Crimson</BackgroundColor>
<Color>White</Color>
<PaddingBottom>2pt</PaddingBottom>
<PaddingTop>2pt</PaddingTop>
<PaddingRight>2pt</PaddingRight>
</Style>
<rd:DefaultName>textbox14</rd:DefaultName>
<CanGrow>true</CanGrow>
<Value>Total</Value>
</Textbox>
</ReportItems>
</Subtotal>
</DynamicRows>
<Width>2.80455cm</Width>
</RowGrouping>
<RowGrouping>
<Width>2.30641cm</Width>
<StaticRows>
<StaticRow>
<ReportItems>
<Textbox Name="textbox7">
<Style>
<PaddingLeft>2pt</PaddingLeft>
<BackgroundColor>Green</BackgroundColor>
<TextAlign>Right</TextAlign>
<Color>White</Color>
<PaddingBottom>2pt</PaddingBottom>
<PaddingTop>2pt</PaddingTop>
<PaddingRight>2pt</PaddingRight>
</Style>
<ZIndex>9</ZIndex>
<rd:DefaultName>textbox7</rd:DefaultName>
<CanGrow>true</CanGrow>
<Value>Sales</Value>
</Textbox>
</ReportItems>
</StaticRow>
<StaticRow>
<ReportItems>
<Textbox Name="textbox8">
<Style>
<PaddingLeft>2pt</PaddingLeft>
<BackgroundColor>Green</BackgroundColor>
<TextAlign>Right</TextAlign>
<Color>White</Color>
<PaddingBottom>2pt</PaddingBottom>
<PaddingTop>2pt</PaddingTop>
<PaddingRight>2pt</PaddingRight>
</Style>
<ZIndex>7</ZIndex>
<rd:DefaultName>textbox8</rd:DefaultName>
<CanGrow>true</CanGrow>
<Value> % Share </Value>
</Textbox>
</ReportItems>
</StaticRow>
<StaticRow>
<ReportItems>
<Textbox Name="textbox10">
<Style>
<PaddingLeft>2pt</PaddingLeft>
<BackgroundColor>Green</BackgroundColor>
<TextAlign>Right</TextAlign>
<Color>White</Color>
<PaddingBottom>2pt</PaddingBottom>
<PaddingTop>2pt</PaddingTop>
<PaddingRight>2pt</PaddingRight>
</Style>
<ZIndex>5</ZIndex>
<rd:DefaultName>textbox10</rd:DefaultName>
<CanGrow>true</CanGrow>
<Value>subtotal 1 </Value>
</Textbox>
</ReportItems>
</StaticRow>
<StaticRow>
<ReportItems>
<Textbox Name="textbox5">
<Style>
<PaddingLeft>2pt</PaddingLeft>
<BackgroundColor>Green</BackgroundColor>
<TextAlign>Right</TextAlign>
<Color>White</Color>
<PaddingBottom>2pt</PaddingBottom>
<PaddingTop>2pt</PaddingTop>
<PaddingRight>2pt</PaddingRight>
</Style>
<ZIndex>3</ZIndex>
<rd:DefaultName>textbox5</rd:DefaultName>
<CanGrow>true</CanGrow>
<Value>subtotal 2</Value>
</Textbox>
</ReportItems>
</StaticRow>
</StaticRows>
</RowGrouping>
</RowGroupings>
</Matrix>
<Textbox Name="Title">
<Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>18pt</FontSize>
<Color>DarkSlateBlue</Color>
<FontWeight>800</FontWeight>
</Style>
<Height>0.9375in</Height>
<Width>3.125in</Width>
<Top>0.0625in</Top>
<Value>Adventure Works
2002 - 2003
Sales - Modified</Value>
<Left>0.0625in</Left>
</Textbox>
</ReportItems>
<Style>
<BackgroundImage>
<Source>Embedded</Source>
<Value>logoback</Value>
</BackgroundImage>
</Style>
<Height>6.80507in</Height>
</Body>
<TopMargin>0.5in</TopMargin>
<DataSources>
<DataSource Name="AdventureWorks">
<rd:DataSourceID>25d3314c-0d4f-49cc-9c22-10194e825490</rd:DataSourceID>
<DataSourceReference>AdventureWorks</DataSourceReference>
</DataSource>
</DataSources>
<Width>15.87302cm</Width>
<DataSets>
<DataSet Name="Sales">
<Fields>
<Field Name="ProdCat">
<DataField>ProdCat</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="SubCat">
<DataField>SubCat</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="OrderYear">
<DataField>OrderYear</DataField>
<rd:TypeName>System.Int32</rd:TypeName>
</Field>
<Field Name="OrderQtr">
<DataField>OrderQtr</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="Sales">
<DataField>Sales</DataField>
<rd:TypeName>System.Decimal</rd:TypeName>
</Field>
</Fields>
<Query>
<DataSourceName>AdventureWorks</DataSourceName>
<CommandText>SET DATEFORMAT mdy
SELECT ProductCategory.Name AS ProdCat,
ProductSubCategory.Name AS SubCat, DATEPART(yy, SalesOrderHeader.OrderDate)
AS OrderYear,
'Q' + DATENAME(qq,
SalesOrderHeader.OrderDate) AS OrderQtr, SUM(SalesOrderDetail.UnitPrice *
SalesOrderDetail.OrderQty)
AS Sales
FROM ProductSubCategory INNER JOIN
SalesOrderHeader INNER JOIN
SalesOrderDetail ON
SalesOrderHeader.SalesOrderID = SalesOrderDetail.SalesOrderID INNER JOIN
Product ON
SalesOrderDetail.ProductID = Product .ProductID ON
ProductSubCategory.ProductSubCategoryID = Product .ProductSubCategoryID INNER
JOIN
ProductCategory ON
ProductSubCategory.ProductCategoryID = ProductCategory.ProductCategoryID
WHERE (SalesOrderHeader.OrderDate BETWEEN
'1/1/2002' AND '12/31/2003')
GROUP BY DATEPART(yy,
SalesOrderHeader.OrderDate), ProductCategory.Name, ProductSubCategory.Name,
'Q' + DATENAME(qq,
SalesOrderHeader.OrderDate),
ProductSubCategory.ProductSubCategoryID</CommandText>
<Timeout>30</Timeout>
</Query>
</DataSet>
</DataSets>
<EmbeddedImages>
<EmbeddedImage Name="logoback">
<MIMEType>image/jpeg</MIMEType>
<ImageData>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</ImageData>
</EmbeddedImage>
</EmbeddedImages>
<LeftMargin>0.5in</LeftMargin>
<rd:SnapToGrid>true</rd:SnapToGrid>
<rd:DrawGrid>true</rd:DrawGrid>
<Description>Adventure Works sales by quarter and product category. This
report illustrates the use of a matrix data region that provides drilldown
from summary data into detail data by showing and hiding rows. This report
also illustrates the use of background images.</Description>
<rd:ReportID>312657d4-5053-4f4c-b4fa-c580a92fd43b</rd:ReportID>
<BottomMargin>0.5in</BottomMargin>
</Report>
--I suspect you need use the column scope not the row scope.
If you can't get that to work, build the year total into each row of
the dataset then you can do Sum(Fields!Amount.Value) /
First(Fields!Total.Value) instead. NB: note the use of FIRST.
--
Regards
Chris
Riccardo wrote:
> Problem: Subtotal is not calculated correct in a Matrix expression.
> Need some help with an expression in a matrix that should calculate
> percent of subtotal for a measure.
> The matrix look like this
> Column_OrderYear
> RowGroup1 | RowGroup2 | Sales
> % Share
> I want % Share to calculate as sales / subtotal on RowGroup1(per
> Column_OrderYear). If I use RowGroup1 in the scope it summerize the
> subtotal for all Column_Year (all years) on that row.
> I have included a modified version of Company Sales.rdl that is
> included in samples for RS2000. In this example, for the first group
> Component and Bottom Bracket, % Share should be calculated as
> 37977.81 / 6778096.94. Instead its calculated as 37977.81/11233756.04.
>
> --
> <?xml version="1.0" encoding="utf-8"?>
> <Report
> xmlns="http://schemas.microsoft.com/sqlserver/reporting/2003/10/report
> definition"
> xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesig
> ner"> <rd:GridSpacing>0.0625in</rd:GridSpacing>
> <RightMargin>0.5in</RightMargin> <Body>
> <ReportItems>
> <Matrix Name="matrix1">
> <Corner>
> <ReportItems>
> <Textbox Name="textbox2">
> <Style>
> <PaddingLeft>2pt</PaddingLeft>
> <PaddingBottom>2pt</PaddingBottom>
> <PaddingTop>2pt</PaddingTop>
> <PaddingRight>2pt</PaddingRight>
> </Style>
> <ZIndex>13</ZIndex>
> <rd:DefaultName>textbox2</rd:DefaultName>
> <CanGrow>true</CanGrow>
> <Value />
> </Textbox>
> </ReportItems>
> </Corner>
> <Height>5.73232cm</Height>
> <ZIndex>1</ZIndex>
> <Style />
> <MatrixRows>
> <MatrixRow>
> <MatrixCells>
> <MatrixCell>
> <ReportItems>
> <Textbox Name="Share">
> <Style>
> <PaddingLeft>2pt</PaddingLeft>
> <BackgroundColor>White</BackgroundColor>
> <TextAlign>Right</TextAlign>
> <PaddingBottom>2pt</PaddingBottom>
> <PaddingTop>2pt</PaddingTop>
> <PaddingRight>2pt</PaddingRight>
> </Style>
> <ZIndex>8</ZIndex>
> <CanGrow>true</CanGrow>
> <Value>=sum(Fields!Sales.Value)</Value>
> </Textbox>
> </ReportItems>
> </MatrixCell>
> </MatrixCells>
> <Height>0.68068cm</Height>
> </MatrixRow>
> <MatrixRow>
> <MatrixCells>
> <MatrixCell>
> <ReportItems>
> <Textbox Name="textbox9">
> <Style>
> <PaddingLeft>2pt</PaddingLeft>
> <Format>P</Format>
> <BackgroundColor>White</BackgroundColor>
> <TextAlign>Right</TextAlign>
> <PaddingBottom>2pt</PaddingBottom>
> <PaddingTop>2pt</PaddingTop>
> <PaddingRight>2pt</PaddingRight>
> </Style>
> <ZIndex>6</ZIndex>
> <rd:DefaultName>textbox9</rd:DefaultName>
> <CanGrow>true</CanGrow>
> <Value>=sum(Fields!Sales.Value) /
> sum(Fields!Sales.Value, "matrix1_ProdCat")</Value>
> </Textbox>
> </ReportItems>
> </MatrixCell>
> </MatrixCells>
> <Height>0.54454cm</Height>
> </MatrixRow>
> <MatrixRow>
> <MatrixCells>
> <MatrixCell>
> <ReportItems>
> <Textbox Name="textbox12">
> <Style>
> <PaddingLeft>2pt</PaddingLeft>
> <PaddingBottom>2pt</PaddingBottom>
> <PaddingTop>2pt</PaddingTop>
> <PaddingRight>2pt</PaddingRight>
> </Style>
> <ZIndex>4</ZIndex>
> <rd:DefaultName>textbox12</rd:DefaultName>
> <CanGrow>true</CanGrow>
> <Value>=sum(Fields!Sales.Value,
> "matrix1_ProdCat")</Value> </Textbox>
> </ReportItems>
> </MatrixCell>
> </MatrixCells>
> <Height>0.67072cm</Height>
> </MatrixRow>
> <MatrixRow>
> <MatrixCells>
> <MatrixCell>
> <ReportItems>
> <Textbox Name="textbox11">
> <Style>
> <PaddingLeft>2pt</PaddingLeft>
> <BackgroundColor>White</BackgroundColor>
> <TextAlign>Right</TextAlign>
> <PaddingBottom>2pt</PaddingBottom>
> <PaddingTop>2pt</PaddingTop>
> <PaddingRight>2pt</PaddingRight>
> </Style>
> <ZIndex>2</ZIndex>
> <rd:DefaultName>textbox11</rd:DefaultName>
> <CanGrow>true</CanGrow>
> <Value>=sum(Fields!Sales.Value,
> "matrix1_SubCat")</Value> </Textbox>
> </ReportItems>
> </MatrixCell>
> </MatrixCells>
> <Height>0.67072cm</Height>
> </MatrixRow>
> </MatrixRows>
> <MatrixColumns>
> <MatrixColumn>
> <Width>5.09452cm</Width>
> </MatrixColumn>
> </MatrixColumns>
> <DataSetName>Sales</DataSetName>
> <ColumnGroupings>
> <ColumnGrouping>
> <DynamicColumns>
> <Grouping Name="matrix1_OrderYear">
> <GroupExpressions>
> <GroupExpression>=Fields!OrderYear.Value</GroupExpression>
> </GroupExpressions> </Grouping>
> <ReportItems>
> <Textbox Name="OrderYear_1">
> <Style>
> <PaddingLeft>2pt</PaddingLeft>
> <BackgroundColor>Green</BackgroundColor>
> <TextAlign>Right</TextAlign>
> <Color>White</Color>
> <PaddingBottom>2pt</PaddingBottom>
> <PaddingTop>2pt</PaddingTop>
> <PaddingRight>2pt</PaddingRight>
> </Style>
> <ZIndex>12</ZIndex>
> <rd:DefaultName>OrderYear_1</rd:DefaultName>
> <CanGrow>true</CanGrow>
> <Value>=Fields!OrderYear.Value</Value>
> </Textbox>
> </ReportItems>
> </DynamicColumns>
> <Height>0.599cm</Height>
> </ColumnGrouping>
> </ColumnGroupings>
> <Width>12.90389cm</Width>
> <Top>2.85714cm</Top>
> <Left>0.15873cm</Left>
> <RowGroupings>
> <RowGrouping>
> <DynamicRows>
> <Grouping Name="matrix1_ProdCat">
> <GroupExpressions>
> <GroupExpression>=Fields!ProdCat.Value</GroupExpression>
> </GroupExpressions> </Grouping>
> <ReportItems>
> <Textbox Name="ProdCat">
> <Style>
> <PaddingLeft>2pt</PaddingLeft>
> <BackgroundColor>Green</BackgroundColor>
> <Color>White</Color>
> <PaddingBottom>2pt</PaddingBottom>
> <PaddingTop>2pt</PaddingTop>
> <PaddingRight>2pt</PaddingRight>
> </Style>
> <ZIndex>11</ZIndex>
> <rd:DefaultName>ProdCat</rd:DefaultName>
> <CanGrow>true</CanGrow>
> <Value>=Fields!ProdCat.Value</Value>
> </Textbox>
> </ReportItems>
> <Subtotal>
> <ReportItems>
> <Textbox Name="textbox4">
> <Style>
> <PaddingLeft>2pt</PaddingLeft>
> <BackgroundColor>Crimson</BackgroundColor>
> <Color>White</Color>
> <PaddingBottom>2pt</PaddingBottom>
> <PaddingTop>2pt</PaddingTop>
> <PaddingRight>2pt</PaddingRight>
> </Style>
> <ZIndex>1</ZIndex>
> <rd:DefaultName>textbox4</rd:DefaultName>
> <CanGrow>true</CanGrow>
> <Value>Total</Value>
> </Textbox>
> </ReportItems>
> </Subtotal>
> </DynamicRows>
> <Width>2.69841cm</Width>
> </RowGrouping>
> <RowGrouping>
> <DynamicRows>
> <Grouping Name="matrix1_SubCat">
> <GroupExpressions>
> <GroupExpression>=Fields!SubCat.Value</GroupExpression>
> </GroupExpressions> </Grouping>
> <Sorting>
> <SortBy>
> <SortExpression>=Fields!SubCat.Value</SortExpression>
> <Direction>Ascending</Direction> </SortBy>
> </Sorting>
> <ReportItems>
> <Textbox Name="textbox3">
> <Style>
> <PaddingLeft>2pt</PaddingLeft>
> <BackgroundColor>Green</BackgroundColor>
> <Color>White</Color>
> <PaddingBottom>2pt</PaddingBottom>
> <PaddingTop>2pt</PaddingTop>
> <PaddingRight>2pt</PaddingRight>
> </Style>
> <ZIndex>10</ZIndex>
> <rd:DefaultName>textbox3</rd:DefaultName>
> <CanGrow>true</CanGrow>
> <Value>=Fields!SubCat.Value</Value>
> </Textbox>
> </ReportItems>
> <Subtotal>
> <ReportItems>
> <Textbox Name="textbox14">
> <Style>
> <PaddingLeft>2pt</PaddingLeft>
> <BackgroundColor>Crimson</BackgroundColor>
> <Color>White</Color>
> <PaddingBottom>2pt</PaddingBottom>
> <PaddingTop>2pt</PaddingTop>
> <PaddingRight>2pt</PaddingRight>
> </Style>
> <rd:DefaultName>textbox14</rd:DefaultName>
> <CanGrow>true</CanGrow>
> <Value>Total</Value>
> </Textbox>
> </ReportItems>
> </Subtotal>
> </DynamicRows>
> <Width>2.80455cm</Width>
> </RowGrouping>
> <RowGrouping>
> <Width>2.30641cm</Width>
> <StaticRows>
> <StaticRow>
> <ReportItems>
> <Textbox Name="textbox7">
> <Style>
> <PaddingLeft>2pt</PaddingLeft>
> <BackgroundColor>Green</BackgroundColor>
> <TextAlign>Right</TextAlign>
> <Color>White</Color>
> <PaddingBottom>2pt</PaddingBottom>
> <PaddingTop>2pt</PaddingTop>
> <PaddingRight>2pt</PaddingRight>
> </Style>
> <ZIndex>9</ZIndex>
> <rd:DefaultName>textbox7</rd:DefaultName>
> <CanGrow>true</CanGrow>
> <Value>Sales</Value>
> </Textbox>
> </ReportItems>
> </StaticRow>
> <StaticRow>
> <ReportItems>
> <Textbox Name="textbox8">
> <Style>
> <PaddingLeft>2pt</PaddingLeft>
> <BackgroundColor>Green</BackgroundColor>
> <TextAlign>Right</TextAlign>
> <Color>White</Color>
> <PaddingBottom>2pt</PaddingBottom>
> <PaddingTop>2pt</PaddingTop>
> <PaddingRight>2pt</PaddingRight>
> </Style>
> <ZIndex>7</ZIndex>
> <rd:DefaultName>textbox8</rd:DefaultName>
> <CanGrow>true</CanGrow>
> <Value> % Share </Value>
> </Textbox>
> </ReportItems>
> </StaticRow>
> <StaticRow>
> <ReportItems>
> <Textbox Name="textbox10">
> <Style>
> <PaddingLeft>2pt</PaddingLeft>
> <BackgroundColor>Green</BackgroundColor>
> <TextAlign>Right</TextAlign>
> <Color>White</Color>
> <PaddingBottom>2pt</PaddingBottom>
> <PaddingTop>2pt</PaddingTop>
> <PaddingRight>2pt</PaddingRight>
> </Style>
> <ZIndex>5</ZIndex>
> <rd:DefaultName>textbox10</rd:DefaultName>
> <CanGrow>true</CanGrow>
> <Value>subtotal 1 </Value>
> </Textbox>
> </ReportItems>
> </StaticRow>
> <StaticRow>
> <ReportItems>
> <Textbox Name="textbox5">
> <Style>
> <PaddingLeft>2pt</PaddingLeft>
> <BackgroundColor>Green</BackgroundColor>
> <TextAlign>Right</TextAlign>
> <Color>White</Color>
> <PaddingBottom>2pt</PaddingBottom>
> <PaddingTop>2pt</PaddingTop>
> <PaddingRight>2pt</PaddingRight>
> </Style>
> <ZIndex>3</ZIndex>
> <rd:DefaultName>textbox5</rd:DefaultName>
> <CanGrow>true</CanGrow>
> <Value>subtotal 2</Value>
> </Textbox>
> </ReportItems>
> </StaticRow>
> </StaticRows>
> </RowGrouping>
> </RowGroupings>
> </Matrix>
> <Textbox Name="Title">
> <Style>
> <FontFamily>Tahoma</FontFamily>
> <FontSize>18pt</FontSize>
> <Color>DarkSlateBlue</Color>
> <FontWeight>800</FontWeight>
> </Style>
> <Height>0.9375in</Height>
> <Width>3.125in</Width>
> <Top>0.0625in</Top>
> <Value>Adventure Works
> 2002 - 2003
> Sales - Modified</Value>
> <Left>0.0625in</Left>
> </Textbox>
> </ReportItems>
> <Style>
> <BackgroundImage>
> <Source>Embedded</Source>
> <Value>logoback</Value>
> </BackgroundImage>
> </Style>
> <Height>6.80507in</Height>
> </Body>
> <TopMargin>0.5in</TopMargin>
> <DataSources>
> <DataSource Name="AdventureWorks">
> <rd:DataSourceID>25d3314c-0d4f-49cc-9c22-10194e825490</rd:DataSourceID
> > <DataSourceReference>AdventureWorks</DataSourceReference>
> </DataSource> </DataSources>
> <Width>15.87302cm</Width>
> <DataSets>
> <DataSet Name="Sales">
> <Fields>
> <Field Name="ProdCat">
> <DataField>ProdCat</DataField>
> <rd:TypeName>System.String</rd:TypeName>
> </Field>
> <Field Name="SubCat">
> <DataField>SubCat</DataField>
> <rd:TypeName>System.String</rd:TypeName>
> </Field>
> <Field Name="OrderYear">
> <DataField>OrderYear</DataField>
> <rd:TypeName>System.Int32</rd:TypeName>
> </Field>
> <Field Name="OrderQtr">
> <DataField>OrderQtr</DataField>
> <rd:TypeName>System.String</rd:TypeName>
> </Field>
> <Field Name="Sales">
> <DataField>Sales</DataField>
> <rd:TypeName>System.Decimal</rd:TypeName>
> </Field>
> </Fields>
> <Query>
> <DataSourceName>AdventureWorks</DataSourceName>
> <CommandText>SET DATEFORMAT mdy
> SELECT ProductCategory.Name AS ProdCat,
> ProductSubCategory.Name AS SubCat, DATEPART(yy,
> SalesOrderHeader.OrderDate) AS OrderYear,
> 'Q' + DATENAME(qq,
> SalesOrderHeader.OrderDate) AS OrderQtr,
> SUM(SalesOrderDetail.UnitPrice * SalesOrderDetail.OrderQty)
> AS Sales
> FROM ProductSubCategory INNER JOIN
> SalesOrderHeader
> INNER JOIN
> SalesOrderDetail ON SalesOrderHeader.SalesOrderID => SalesOrderDetail.SalesOrderID INNER JOIN
> Product ON SalesOrderDetail.ProductID = Product .ProductID ON
> ProductSubCategory.ProductSubCategoryID = Product
> .ProductSubCategoryID INNER JOIN
> ProductCategory ON
> ProductSubCategory.ProductCategoryID => ProductCategory.ProductCategoryID WHERE
> (SalesOrderHeader.OrderDate BETWEEN '1/1/2002' AND '12/31/2003')
> GROUP BY DATEPART(yy,
> SalesOrderHeader.OrderDate), ProductCategory.Name,
> ProductSubCategory.Name, 'Q' + DATENAME(qq,
> SalesOrderHeader.OrderDate),
> ProductSubCategory.ProductSubCategoryID</CommandText>
> <Timeout>30</Timeout>
> </Query>
> </DataSet>
> </DataSets>
> <EmbeddedImages>
> <EmbeddedImage Name="logoback">
> <MIMEType>image/jpeg</MIMEType>
> <ImageData>/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAs
> LDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJC
> QwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI
> yMjIyMjIyMjL/wAARCADCAbYDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECA
> wQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaE
> II0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZ
> WZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMX
> Gx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAA
> AAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRM
> iMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVV
> ldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba
> 3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAP
> wD3+iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii
> igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo
> oAKKKKACiiigAooooAKKKKACiiigAoo
> ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK
> KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
> gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAEJxWHdazJ5
> pWAKFHGSMk1tsNykeoxXIzwvBM0bggg/nQBtadqjTyiGYAMfukd61s1y1hbvPPkZCqCWI+
> lRC5nQ/LM4x/tGgDrqK5Qahdr0nf8TUo1a8H/LTP1FAHTUVzq61cggsEYfTFb8MnmwpJjG
> 4ZxQA+iiigAoqGW5jicKx5PtUqkMoIOQaLALRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR
> RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUU
> UAFFFFABRRRQAVDNFC6lpUVgBnLDpU1ZOs3eyMW6Hl+Wx6UAQ2+qM12sSRIIWbaFUYP1qw
> 2hwMxO9xk+1V9FtMk3LDpwv9TW5QBz95YWlmvzTSFyOFGKzURpHCopLHoBW5q1i8xE8fJA
> wV9azbG9Nm5PlhgepPUUAX7PSUiAluiCeoXsPrWl9qgXjeOPSoYYRcKJZJPMB5AB4qwIIh
> 0jX8qegCxzJLnYwOKfTVREJ2qBn0pJJBEhdug6UgM28x9pb8Kv2oItkz6VQjRrmck9Cck1
> pM6RJliABVydlYErklJVCXUgOI1z7mq5nupz8u78BWXMi1TfU18gdxSb1/vCsn7LdN1B/F
> qabO4X+D8qXMyvZx7myCKXNYJ82I87l/SpY76ZOp3D0NHP3B0n0NjilqpBeRykA/Kx7GrY
> 6VSdzNprcKKKKYgooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiijNABRRRQAU
> UUUAFFGaM0AFFFFABRR
> RQAUUUZoAKKM0ZoAKgmuFiO0Dc56KKfPJ5UTOBkjpUVvDtHmPy7cnPahARSed5TSSyeWij
> JC9awFWS8ugucs54J9K6p0WRCjDKkYIqvbafBayM8anJ4ye1FwGRxz2kaqmHjXtjmrMMyz
> Lleo6j0qTtVW4jMTCePgj7w9RT3AsOQqlj0AzWLcac1yj3MYAck/KO4rUncNaMy9GFSQDE
> CY9KOgHO2V9JZSbWBMefmU9q6KGZJoxJGwKmqWo6aLgGSIYlH/j1V9It7mKZ/MVljxyD3N
> IDTluo4uCcn0FU2WW5O+Q7Ix60skgSZ1ihLPnljR9lmm+a4k2j0o5uxSj1YNdpEvlwLuPq
> e9MW1nuG3SEge9Tq9vbnES739uaUi6m6YjWlyt6sfOl8I5LW3g5bGfUmpBcQDgOoqEafnl
> pCTTX0/j5HP0NUoxIbb3LqurDKsCPY0tY7LJA/dWHcVo2kzTREt1HBPrTcbATMisMEZFUp
> 7BWy0R2n0q/SVDSY1JrYxPs0wcAIc5raQEIAeuKXFLSUbFSm5bhRRRVEBRRRQAUUUUAFFF
> FABRRRQAUGig0AQ3Evkx5AyxOAPU1FDNK05jkVRhd2RTLxz50SqpbB3ECltn3maZhjtj6V
> DepdtBHuZQ0hRUKJwSTzUrzlbeOQLy2OPrVXB+xAdGmfn8TVi6A2wr28wflRcHYlMpM4jA
> zgZY+npUPnzvJIIlQqpxknvToP9W87fxnP4dqitFnADfJscljnOadwsSzzvDbh2A38cDpS
> mY7oVUDMnJ+lRXY8yaOPtgsabaHzJlPaOMD8TSvqFtLkt1PLCAVVSvv604SyLbu8qgMATg
> HrTLn57iCPtu3H8Kden9wIx1dgtMQee2IPlG6Q8j0FEs8gn8qJVJ27jmmgbr4DtGn6mq7y
> Sh55oyoXO059vSlcaWpaS4LWrTMAMA/jSRSXL7WKIEPXnnFRzr5dkkScFiFFWLcTAHzNmO
> 22ncTSsTdqhmlKSRqoG
> WP6VNVG8fbPGR94K2B7ngU27CirsebvidgOEOB9afNM0USfKDIxxj3qnAmZRFnOH3E59B/
> jVmb576JOygsam5TSTHQTSvK8cgUFQOVpj3Mu6QoqFEPUmltmGJpj3Y4+gqqvmeUobAjlc
> Zx96i7Gki7JOVtkcD5mxgH3pUmLzMigFF4J9/SoLsM8sUceNwy3Pan2RPkurAZViMjvTuK
> ytcSS5k/eFEUpGcEsetWYn3xK5GCRkiqOHhwjojJI/r6mtADgYpoUkOormp9Su1uJFWYhQ
> 5AGB61e0i6nuZZRLIWAAIpkmvTWAZSD3FOHSkJwCaAKcI32skf90kVNavut19RwaZZjKO3
> 95jTWzazFwCYn647GqYFykpFcOoKkEU6pAilSQj90wU9yRUItCxzLKze1W6KLsCNIkjHyq
> BUgoooAKKKKAGSRpIMOoIoRFjGFXAp9FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQ
> AUUUUAVRG/2qSQrxtAX3pghkWwZAuZGByM46/wD1quUUrDuUoopXki3psSPpznNSXcTyqg
> Qfxcn0FWqSiwcxBMjfZmSNcnGAKZbGdQqNEFQDGcirfakosFyssTG6eRl+XaFWksoGhRtw
> wSf0q1iiiwX6Ffy3N6ZGX5AuAfem3SSl4njTeEycZx9KtUUWC5WhjkXzJHUB35wD6VH9nk
> +yrHtyWfL89s1doosHMVLlZfMiMabgmScnH0qaFpWUmRNp9M5ptxdQ2y7pXxnoO5rOfXVB
> IjgJHqzYoSC5sdqqSwNJeq5HyKvB96pJrqE4kgIHqrZ/Tirn9o25tzMhLqv3go5H4UNXBO
> w61gaOSV2GCzcfSo5EuFuXdEDBhgHPSov7ctf+ec35D/GrVreRXis0eRtPIbrRyhzaiGF0
> sTEg3NjHX1o8lvMgAHyRg5Oe/ap5HWNGdyAqjJqlDq0E8qxIkpZjjoP8aLBzE4jf7XJIV4
> CgLz1piwutgyY/eEHP1
> NSz3UNsm6VgvoB1NZ0muqD+7gLD1Zsf0osFy1FFM0kW+MIsee+c1erHj11C2JICB6q2f8K
> 0be6huV3ROGx1HQihKwN3OYuf+Pqb/fb+daWg/wCum/3RWbc/8fUv++f51paD/r5v90UxG
> 7SEBgQehpskiRIXkYKo6k1mS65ChxFG0nuTtFAGmiLGoVRgClIDDBGQaxl145+a349n/wD
> rVettSt7k7VYq/wDdbjNADjbNG26CTb/snpVpc4Geveis1tWiW9MTD92ON/v/AIUAadFIr
> AgEEEGloAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
> ooAKKKKACiiigAooooAKKKKACmSOERnPRRk0+muodWU9CMGgDk7id7idpHPJP5Vf03TUuY
> /OmJ25wFBxms+5t3tpmjcdOh9RV7TdTW2j8mUHZ1BHOKANCXR7V0IRWQ9iGJ/Q0yx0v7O8
> jSkOT8q46Yp0ms2qj5Czn0Ax/Om6fqRu52jdAD1XHTHpQBkX1qbS4KfwHlD7UWdybS5Vx9
> 3ow9RW/f2n2q2IH+sXlD71zBBBIIII4waANbV74SBYImyuAzEHr6CptKtRb27XMg+Yrkf7
> tZ2n2n2u5AI/dry3+H410rIGjKEfKRjA9KAOTuJ3uJmlc8k8D0rQ0zTUuIzNMTszgKO9UL
> m3e2naOTqOh9R61d03U1to/JlB2dQRzigDQk0e0dMIrIfUEn9Dmm6fpptZXkkYM3RcdhSy
> azaqPkLOfQDH86bYakbuZo3QA9Vx6UAYlz/x9S/75/nWloP8Arpv90fzrNuf+Pqb/AH2/n
> WloP+um/wB0fzoAg1a5aa7aPOEjOAPeqsHkeaPPD7PROtW9WtWhuml/gkOQfQ+lVIDCJQJ
> wxTvt6igDVR9IkXbtC/UEH86eNGRbpHVz5Q6qev0zTEOjxoG4J/2gxNL/AG0huVATEPQse
> v1oAtald/ZbU7T87/Kv
> +Nc0eeT9at3k7X158oJBO1B7VoTaMrWyiI4lA5z0agClYak9q2x8tF6d1+ldFFKk0QkRgy
> nuK449a3NCZzDMD90MMfXv/SgDYooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC
> iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAIZ7aK5XbKm4dvUVnSaFGT8k
> zL/vDNa9FAGRHoMYP7yZ2+gx/jWhBaw2y7YkC+p7mp6KAEzj2rlr50nvXMS8EgDHc1vagt
> w9uY7dCzPwTkDAqlpumyRT+bcJtK/dXIPPrQBesbT7JbhP4jyx96t0g6UtAEM9tFcLtlQM
> O3qKzpNCjJ+SZl/wB4ZrXooAyI9BjB/eTO30GP8a0ILaK2XbEgX37mp6KAM19Ft5HZ2eXL
> Ek8j/Cp7TT4rNmaNnO4YO4j/AAq3RQAx0EilWUFT1B5rOl0SBzmNnj9uorUooAxl0FQfmu
> CR7Jj+tWl0m3SJkXeCwwXz82P6VfooAoW2lwWswlTcWHA3YwP0q1NCJ4mjYsobuOCKlooA
> x/7BTdxO23028/n/APWrTggS3iEca4UVLRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU
> UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF
> FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR
> QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU
> AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA
> BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA
> UUUUAFFFFABRRRQAUUU
> UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF
> ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQ
> AUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA
> FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAH/2Q==</ImageData>
> </EmbeddedImage> </EmbeddedImages> <LeftMargin>0.5in</LeftMargin>
> <rd:SnapToGrid>true</rd:SnapToGrid> <rd:DrawGrid>true</rd:DrawGrid>
> <Description>Adventure Works sales by quarter and product category.
> This report illustrates the use of a matrix data region that provides
> drilldown from summary data into detail data by showing and hiding
> rows. This report also illustrates the use of background
> images.</Description>
> <rd:ReportID>312657d4-5053-4f4c-b4fa-c580a92fd43b</rd:ReportID>
> <BottomMargin>0.5in</BottomMargin> </Report>
> --
>|||Thanks for your reply!
Well, the scope for the column is not working, since then it only summerize
for all rowgroups.
There must be an other solution than suggested calculating the subtotals in
the dataset and using "First(Fields!Total.Value)" , since my real case has
several rowgroups and columngroups and measures, subcalculating will do the
dataset to complex and maybe to slow.
"Chris McGuigan" wrote:
> I suspect you need use the column scope not the row scope.
> If you can't get that to work, build the year total into each row of
> the dataset then you can do Sum(Fields!Amount.Value) /
> First(Fields!Total.Value) instead. NB: note the use of FIRST.
> --
> Regards
> Chris
>
> Riccardo wrote:
> > Problem: Subtotal is not calculated correct in a Matrix expression.
> >
> > Need some help with an expression in a matrix that should calculate
> > percent of subtotal for a measure.
> >
> > The matrix look like this
> > Column_OrderYear
> >
> > RowGroup1 | RowGroup2 | Sales
> > % Share
> >
> > I want % Share to calculate as sales / subtotal on RowGroup1(per
> > Column_OrderYear). If I use RowGroup1 in the scope it summerize the
> > subtotal for all Column_Year (all years) on that row.
> >
> > I have included a modified version of Company Sales.rdl that is
> > included in samples for RS2000. In this example, for the first group
> > Component and Bottom Bracket, % Share should be calculated as
> > 37977.81 / 6778096.94. Instead its calculated as 37977.81/11233756.04.
> >
> >
> > --
> > <?xml version="1.0" encoding="utf-8"?>
> > <Report
> > xmlns="http://schemas.microsoft.com/sqlserver/reporting/2003/10/report
> > definition"
> > xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesig
> > ner"> <rd:GridSpacing>0.0625in</rd:GridSpacing>
> > <RightMargin>0.5in</RightMargin> <Body>
> > <ReportItems>
> > <Matrix Name="matrix1">
> > <Corner>
> > <ReportItems>
> > <Textbox Name="textbox2">
> > <Style>
> > <PaddingLeft>2pt</PaddingLeft>
> > <PaddingBottom>2pt</PaddingBottom>
> > <PaddingTop>2pt</PaddingTop>
> > <PaddingRight>2pt</PaddingRight>
> > </Style>
> > <ZIndex>13</ZIndex>
> > <rd:DefaultName>textbox2</rd:DefaultName>
> > <CanGrow>true</CanGrow>
> > <Value />
> > </Textbox>
> > </ReportItems>
> > </Corner>
> > <Height>5.73232cm</Height>
> > <ZIndex>1</ZIndex>
> > <Style />
> > <MatrixRows>
> > <MatrixRow>
> > <MatrixCells>
> > <MatrixCell>
> > <ReportItems>
> > <Textbox Name="Share">
> > <Style>
> > <PaddingLeft>2pt</PaddingLeft>
> > <BackgroundColor>White</BackgroundColor>
> > <TextAlign>Right</TextAlign>
> > <PaddingBottom>2pt</PaddingBottom>
> > <PaddingTop>2pt</PaddingTop>
> > <PaddingRight>2pt</PaddingRight>
> > </Style>
> > <ZIndex>8</ZIndex>
> > <CanGrow>true</CanGrow>
> > <Value>=sum(Fields!Sales.Value)</Value>
> > </Textbox>
> > </ReportItems>
> > </MatrixCell>
> > </MatrixCells>
> > <Height>0.68068cm</Height>
> > </MatrixRow>
> > <MatrixRow>
> > <MatrixCells>
> > <MatrixCell>
> > <ReportItems>
> > <Textbox Name="textbox9">
> > <Style>
> > <PaddingLeft>2pt</PaddingLeft>
> > <Format>P</Format>
> > <BackgroundColor>White</BackgroundColor>
> > <TextAlign>Right</TextAlign>
> > <PaddingBottom>2pt</PaddingBottom>
> > <PaddingTop>2pt</PaddingTop>
> > <PaddingRight>2pt</PaddingRight>
> > </Style>
> > <ZIndex>6</ZIndex>
> > <rd:DefaultName>textbox9</rd:DefaultName>
> > <CanGrow>true</CanGrow>
> > <Value>=sum(Fields!Sales.Value) /
> > sum(Fields!Sales.Value, "matrix1_ProdCat")</Value>
> > </Textbox>
> > </ReportItems>
> > </MatrixCell>
> > </MatrixCells>
> > <Height>0.54454cm</Height>
> > </MatrixRow>
> > <MatrixRow>
> > <MatrixCells>
> > <MatrixCell>
> > <ReportItems>
> > <Textbox Name="textbox12">
> > <Style>
> > <PaddingLeft>2pt</PaddingLeft>
> > <PaddingBottom>2pt</PaddingBottom>
> > <PaddingTop>2pt</PaddingTop>
> > <PaddingRight>2pt</PaddingRight>
> > </Style>
> > <ZIndex>4</ZIndex>
> > <rd:DefaultName>textbox12</rd:DefaultName>
> > <CanGrow>true</CanGrow>
> > <Value>=sum(Fields!Sales.Value,
> > "matrix1_ProdCat")</Value> </Textbox>
> > </ReportItems>
> > </MatrixCell>
> > </MatrixCells>
> > <Height>0.67072cm</Height>
> > </MatrixRow>
> > <MatrixRow>
> > <MatrixCells>
> > <MatrixCell>
> > <ReportItems>
> > <Textbox Name="textbox11">
> > <Style>
> > <PaddingLeft>2pt</PaddingLeft>
> > <BackgroundColor>White</BackgroundColor>
> > <TextAlign>Right</TextAlign>
> > <PaddingBottom>2pt</PaddingBottom>
> > <PaddingTop>2pt</PaddingTop>
> > <PaddingRight>2pt</PaddingRight>
> > </Style>
> > <ZIndex>2</ZIndex>
> > <rd:DefaultName>textbox11</rd:DefaultName>
> > <CanGrow>true</CanGrow>
> > <Value>=sum(Fields!Sales.Value,
> > "matrix1_SubCat")</Value> </Textbox>
> > </ReportItems>
> > </MatrixCell>
> > </MatrixCells>
> > <Height>0.67072cm</Height>
> > </MatrixRow>
> > </MatrixRows>
> > <MatrixColumns>
> > <MatrixColumn>
> > <Width>5.09452cm</Width>
> > </MatrixColumn>
> > </MatrixColumns>
> > <DataSetName>Sales</DataSetName>
> > <ColumnGroupings>
> > <ColumnGrouping>
> > <DynamicColumns>
> > <Grouping Name="matrix1_OrderYear">
> > <GroupExpressions>
> >
> > <GroupExpression>=Fields!OrderYear.Value</GroupExpression>
> > </GroupExpressions> </Grouping>
> > <ReportItems>
> > <Textbox Name="OrderYear_1">
> > <Style>
> > <PaddingLeft>2pt</PaddingLeft>
> > <BackgroundColor>Green</BackgroundColor>
> > <TextAlign>Right</TextAlign>
> > <Color>White</Color>
> > <PaddingBottom>2pt</PaddingBottom>
> > <PaddingTop>2pt</PaddingTop>
> > <PaddingRight>2pt</PaddingRight>
> > </Style>
> > <ZIndex>12</ZIndex>
> > <rd:DefaultName>OrderYear_1</rd:DefaultName>
> > <CanGrow>true</CanGrow>
> > <Value>=Fields!OrderYear.Value</Value>
> > </Textbox>
> > </ReportItems>
> > </DynamicColumns>
> > <Height>0.599cm</Height>
> > </ColumnGrouping>
> > </ColumnGroupings>
> > <Width>12.90389cm</Width>
> > <Top>2.85714cm</Top>
> > <Left>0.15873cm</Left>
> > <RowGroupings>
> > <RowGrouping>
> > <DynamicRows>
> > <Grouping Name="matrix1_ProdCat">
> > <GroupExpressions>
> >
> > <GroupExpression>=Fields!ProdCat.Value</GroupExpression>
> > </GroupExpressions> </Grouping>
> > <ReportItems>
> > <Textbox Name="ProdCat">
> > <Style>
> > <PaddingLeft>2pt</PaddingLeft>
> > <BackgroundColor>Green</BackgroundColor>
> > <Color>White</Color>
> > <PaddingBottom>2pt</PaddingBottom>
> > <PaddingTop>2pt</PaddingTop>
> > <PaddingRight>2pt</PaddingRight>
> > </Style>
> > <ZIndex>11</ZIndex>
> > <rd:DefaultName>ProdCat</rd:DefaultName>
> > <CanGrow>true</CanGrow>
> > <Value>=Fields!ProdCat.Value</Value>
> > </Textbox>
> > </ReportItems>
> > <Subtotal>
> > <ReportItems>
> > <Textbox Name="textbox4">
> > <Style>
> > <PaddingLeft>2pt</PaddingLeft>
> > <BackgroundColor>Crimson</BackgroundColor>
> > <Color>White</Color>
> > <PaddingBottom>2pt</PaddingBottom>
> > <PaddingTop>2pt</PaddingTop>
> > <PaddingRight>2pt</PaddingRight>
> > </Style>
> > <ZIndex>1</ZIndex>
> > <rd:DefaultName>textbox4</rd:DefaultName>
> > <CanGrow>true</CanGrow>
> > <Value>Total</Value>
> > </Textbox>
> > </ReportItems>
> > </Subtotal>
> > </DynamicRows>
> > <Width>2.69841cm</Width>
> > </RowGrouping>
> > <RowGrouping>
> > <DynamicRows>
> > <Grouping Name="matrix1_SubCat">
> > <GroupExpressions>
> >
> > <GroupExpression>=Fields!SubCat.Value</GroupExpression>
> > </GroupExpressions> </Grouping>
> > <Sorting>
> > <SortBy>
> >
> > <SortExpression>=Fields!SubCat.Value</SortExpression>
> > <Direction>Ascending</Direction> </SortBy>
> > </Sorting>
> > <ReportItems>
> > <Textbox Name="textbox3">
> > <Style>
> > <PaddingLeft>2pt</PaddingLeft>
> > <BackgroundColor>Green</BackgroundColor>
> > <Color>White</Color>
> > <PaddingBottom>2pt</PaddingBottom>
> > <PaddingTop>2pt</PaddingTop>
> > <PaddingRight>2pt</PaddingRight>
> > </Style>
> > <ZIndex>10</ZIndex>
> > <rd:DefaultName>textbox3</rd:DefaultName>
> > <CanGrow>true</CanGrow>
> > <Value>=Fields!SubCat.Value</Value>
> > </Textbox>
> > </ReportItems>
> > <Subtotal>
> > <ReportItems>
> > <Textbox Name="textbox14">
> > <Style>
> > <PaddingLeft>2pt</PaddingLeft>
> > <BackgroundColor>Crimson</BackgroundColor>
> > <Color>White</Color>
> > <PaddingBottom>2pt</PaddingBottom>
> > <PaddingTop>2pt</PaddingTop>
> > <PaddingRight>2pt</PaddingRight>
> > </Style>
> > <rd:DefaultName>textbox14</rd:DefaultName>
> > <CanGrow>true</CanGrow>
> > <Value>Total</Value>
> > </Textbox>
> > </ReportItems>
> > </Subtotal>
> > </DynamicRows>
> > <Width>2.80455cm</Width>
> > </RowGrouping>
> > <RowGrouping>
> > <Width>2.30641cm</Width>
> > <StaticRows>
> > <StaticRow>
> > <ReportItems>
> > <Textbox Name="textbox7">
> > <Style>
> > <PaddingLeft>2pt</PaddingLeft>
> > <BackgroundColor>Green</BackgroundColor>
> > <TextAlign>Right</TextAlign>
> > <Color>White</Color>
> > <PaddingBottom>2pt</PaddingBottom>
> > <PaddingTop>2pt</PaddingTop>
> > <PaddingRight>2pt</PaddingRight>