SSRS Geographic Report
I have an SSRS report based on Geographic Locations. The datasets return project records, with a regional area, electoral area and then a city level. I have created cascading parameters from region to electoral and then to city.
However, each project can have multiple cities under an electoral region selected. The user is requesting that the parameter filter
only records that have that city selected. So, if the parameter selected are:
Region: RDEK Region
Area: City of Cranbrook
City: (Options are Cranbrook and Rockyview)
If they select only "Cranbrook", they want only project records that have
onlyCranbrook selected and not projects that have Cranbrook and Rockyview selected.
Right now my report results will show all records with Cranbrook selected and other cities that are selected on the Project. For example, I would see
all projects with Cranbrook selected and all projects that have Cranbrook and Rockyview selected.
Below is some more detail of my report.
Grouped by Regional, Electoral Area and Project Number.
Parameters :
@Regional - Available values from Regional Dataset (selecting all available)
@Area - Available values from Electoral Area Dataset (selecting all available in @Regional)
@City - Available values from City Dataset (selecting all values in @area)
@Status - All available statuses
@Fiscal Year - All available Fiscal years.
I have a Filter on my details Dataset Query (below) that filters only those cities in my
@city parameter.
PLEASE HELP! I AM STUCK...
My dataset query:
SELECT Filteredcbt_geographicarea.cbt_electoralareaidname
, Filteredcbt_geographicarea.cbt_name AS City
, Filteredcbt_project.cbt_projectnumber
, Filteredcbt_geographicarea.cbt_electoralidname
, Filteredcbt_projectfiscalyear.cbt_committedamount
, Filteredcbt_projectfiscalyear.cbt_commitmentavailable
, Filteredcbt_projectfiscalyear.cbt_commitmentdisbursed
, Filteredcbt_project.cbt_organizationlegalnameidname
, Filteredcbt_project.statuscodename
, Filteredcbt_projectfiscalyear.cbt_projectnameid
, Filteredcbt_projectfiscalyear.cbt_programfiscalyearidname
, Filteredcbt_projectfiscalyear.cbt_fiscalyearidname
, Filteredcbt_regionaldistrict.cbt_name AS [Regional District]
FROM Filteredcbt_regionaldistrict
INNER JOIN Filteredcbt_electoralarea ON Filteredcbt_regionaldistrict.cbt_regionaldistrictid = Filteredcbt_electoralarea.cbt_regionaldistrictid
INNER JOIN Filteredcbt_category
INNER JOIN Filteredcbt_program ON Filteredcbt_category.cbt_categoryid = Filteredcbt_program.cbt_categoryid
INNER JOIN Filteredcbt_project ON Filteredcbt_program.cbt_programid = Filteredcbt_project.cbt_programnameid
INNER JOIN Filteredcbt_projectfiscalyear ON Filteredcbt_project.cbt_projectid = Filteredcbt_projectfiscalyear.cbt_projectnameid
INNER JOIN Filteredcbt_cbt_project_cbt_geographicarea ON Filteredcbt_project.cbt_projectid = Filteredcbt_cbt_project_cbt_geographicarea.cbt_projectid
INNER JOIN Filteredcbt_geographicarea ON Filteredcbt_cbt_project_cbt_geographicarea.cbt_geographicareaid = Filteredcbt_geographicarea.cbt_geographicareaid
ON Filteredcbt_electoralarea.cbt_electoralareaid = Filteredcbt_geographicarea.cbt_electoralareaid
WHERE (Filteredcbt_geographicarea.cbt_electoralareaidname IN (@Area)) AND (Filteredcbt_project.statuscodename IN (@Status)) AND
(Filteredcbt_projectfiscalyear.cbt_fiscalyearidname IN (@FiscalYear)) AND (Filteredcbt_regionaldistrict.cbt_name IN (@Regional)) AND
(Filteredcbt_geographicarea.cbt_name IN (@City)) AND (NOT EXISTS
(SELECT cbt_electoralareaid, cbt_electoralareaidname, cbt_electoralid, cbt_electoralidname, cbt_geographicareaid, cbt_name
FROM Filteredcbt_geographicarea AS ga1
WHERE (cbt_name NOT IN (@City)) AND (cbt_geographicareaid = Filteredcbt_cbt_project_cbt_geographicarea.cbt_geographicareaid)))
ORDER BY Filteredcbt_projectfiscalyear.cbt_fiscalyearidname
ORDER BY Filteredcbt_projectfiscalyear.cbt_fiscalyearidname;
I have some examples that might help understand:
Each Project record can have multiple regions, areas and cities tagged to it.
For the purposes of this report, we want to parse out only the city selected in the parameter.
When I use the cascading parameters, for regional, electoral and then city, it will always bring up in my available listing Cranbrook and Rockyview (which is correct).
If I check off both Cranbrook and Rockyview, I would like to see all projects that have cranbrook only, rockyview only and cranbrook and rockyview selected.
For example, my report below, I have selected the region, and electoral area of Cranbrook, then in the city parameter, the available listing is Cranbrook and Rockyview (Great!).
In Figure 1, I have selected both Cranbrook and Rockyview. This shows 3 projects , 2 projects have both cranbrook and rockyview tagged, and 1 project only has Cranbrook selected. Perfect!
Figure 1
Now, in figure 3,
I have selected the region, and electoral area of Cranbrook, then I chose
only Cranbrook city. All 3 projects still come up, but I
distinctly want only those projects tagged
just with Cranbrook.
So in figure 2, I should see only project #3426 come up in my listing. But they all display..
Figure 2
Filteredcbt_cbt_project_cbt_geographicarea sample: This example shows that one project ID can have multiple geographic areas tagged
cbt_cbt_project_cbt_geographicareaid cbt_geographicareaid cbt_projectid
A6D7292F-EA05-E411-BCEA-00155D0470B9 4EB4F611-4BD1
2C2FC521-EA05-E411
998F9FE5-2806-E411-BCEA-00155D0470B9 38B4F611-4BD1
54FD66DD-2806-E411
9A8F9FE5-2806-E411-BCEA-00155D0470B9 7EB4F611-4BD1
54FD66DD-2806-E411
(same project ID's on the last two)
Filteredcbt_geographicarea sample: These are the geographical areas.
cbt_electoralareaid cbt_electoralareaidname cbt_geographicareaid cbt_name
16B4F611-4BD1-E311-8AB9 Town
of Creston 2EB4F611-4BD1-E311-8AB9 Alice
Siding
13B4F611-4BD1-E311-8AB9 RDCK
Area I 2FB4F611-4BD1-E311-8AB9 Thrums
0EB4F611-4BD1-E311-8AB9
RDCK Area D
30B4F611-4BD1-E311-8AB9
Ainsworth
Thank you for help on this matter! I cannot get an answer anywhere and really
need to figure this out! Let me know if I can include anything else!
Hi adminup31,
According to your description, there is an SSRS report with cascading parameters, when you select Cranbrook, corresponding project records will be displayed in the report. The problem you are facing is that after you selected values for city parameter, all
the records of project will be displayed in the report.
To solve the problem, please refer to the following steps:
1. Create a dataset for city parameter with the query like below:
SELECT distinct Filteredcbt_geographicarea.cbt_name AS City
FROM Filteredcbt_regionaldistrict
INNER JOIN Filteredcbt_electoralarea ON Filteredcbt_regionaldistrict.cbt_regionaldistrictid = Filteredcbt_electoralarea.cbt_regionaldistrictid
INNER JOIN Filteredcbt_category
INNER JOIN Filteredcbt_program ON Filteredcbt_category.cbt_categoryid = Filteredcbt_program.cbt_categoryid
INNER JOIN Filteredcbt_project ON Filteredcbt_program.cbt_programid = Filteredcbt_project.cbt_programnameid
INNER JOIN Filteredcbt_projectfiscalyear ON Filteredcbt_project.cbt_projectid = Filteredcbt_projectfiscalyear.cbt_projectnameid
INNER JOIN Filteredcbt_cbt_project_cbt_geographicarea ON Filteredcbt_project.cbt_projectid = Filteredcbt_cbt_project_cbt_geographicarea.cbt_projectid
INNER JOIN Filteredcbt_geographicarea ON Filteredcbt_cbt_project_cbt_geographicarea.cbt_geographicareaid = Filteredcbt_geographicarea.cbt_geographicareaid
ON Filteredcbt_electoralarea.cbt_electoralareaid = Filteredcbt_geographicarea.cbt_electoralareaid
WHERE
(Filteredcbt_regionaldistrict.cbt_name IN (@Regional)) AND (Filteredcbt_geographicarea.cbt_electoralareaidname IN (@Area))
2. Right-click @City and open Parameter Properties dialog box.
3. Click Default Values in left pane, select Get values from a query, select Dataset and Value type from drop down list.
For more information about Cascading parameter, please refer to the following document:
http://technet.microsoft.com/en-us/library/aa337498(v=sql.105).aspx
If the problem remain unresolved, i would appreciate it if you could give us detailed information about the state of the report, I would be appreciated it if you could provide sample data and screenshot of the report, it will help us move more quickly toward
a solution.
Best Regards,
Wendy Fu
Wendy Fu
TechNet Community Support
Similar Messages
-
I built a SSRS 2005 report, which calls a stored proc on SQL Server 2005. The proc contains following code:
CREATE TABLE #promo (promo VARCHAR(1000))
BULK
INSERT #promo
FROM '\\aseposretail\c$\nz\promo_names.txt'
WITH
--FIELDTERMINATOR = '',
ROWTERMINATOR = '\n'
SELECT * from #promo
It's ok when I manually execute the proc in SSMS.
When I try to run the report from BIDS I got following error:
*Cannot bulk load because the file "\aseposretail\c$\nz\promo_names.txt" could not be opened. Operating system error code 5(Access is denied.).*
Note: I have gooled a bit and see many questions on this but they are not relevant because I CAN run the code no problem in SSMS. It's the SSRS having the issue. I know little about the security of SSRS.I'm having the same type of issue. I can bulk load the same file into the same table on the same server using the same login on one workstation, but not on another. I get this error:
Msg 4861, Level 16, State 1, Line 1
Cannot bulk load because the file "\\xxx\abc.txt" could not be opened. Operating system error code 5(Access is denied.).
I've checked SQL client versions and they are the same, I've also set the client connection to TCP/IP only in the SQL Server Configuration Manager. Still this one workstation is getting the error. Since the same login is being used on both workstations and it works on one but not the other, the issue is not a permissions issue. I can also have another user login into the bad workstation and have the bulk load fail, but when they log into their regular workstation it works fine. Any ideas on what the client configuration issue is? These are the version numbers for Management Studio:
Microsoft SQL Server Management Studio 9.00.3042.00
Microsoft Analysis Services Client Tools 2005.090.3042.00
Microsoft Data Access Components (MDAC) 2000.085.1132.00 (xpsp.080413-0852)
Microsoft MSXML 2.6 3.0 5.0 6.0
Microsoft Internet Explorer 6.0.2900.5512
Microsoft .NET Framework 2.0.50727.1433
Operating System 5.1.2600
Thanks,
MWise -
I have an SSRS 2012 report and SSAS Cube in 2008. My report criterion requires filtering on measures. So Created measures as dimensions . The report requires >= functionality on the measures. But in the Query designer of
the report there is =, IN, Within Range ,Excluding range , MDX as the operators.
To achieve my goal. I have “From” and “To” as parameters on the numeric dimension. The “To” parameter I have set as internal and setting
the default value of “TO” .By writing another Dataset query that returns the “MAX”
value and the MAX value returned is a member of the measure converted to dim I confirmed.. So this whole works as >=.The user enters only the “FROM” parameter and the “TO” is set internally. The user can enter any value in the “From” parameter. Any
value that is not even a member.It is a textbox. I cannot use a list of values from the “From” parameter.
But whenever I run the report after entering all the selection criteria
I keep getting
Error “the restrictions imposed by the constrained flag in the strtomember functions were violated”
I know this means that Max value in the “TO” section is not a member .
I did try
: StrToMember("[Fact RCS CV BLAST].[APPRLIMIT ACH].
&[" & @ToFactRCSCVBLASTAPPRLIMITACH &
"]", CONSTRAINED) )
But I get “syntax for the “&” is incorrect”
If I use Drop down for the “From” and “To” parameters then it works fine. But that’s not what Business Users need.
Please let me know what the options to make this work. I did use parameters that filter the
Dataset returned it works fine but there is a performance impact.Hi,
I think if you use the following method you will be able to compare the members.
CDbl(StrToMember("[Fact RCS CV BLAST].[APPRLIMIT ACH].&[" + @ToFactRCSCVBLASTAPPRLIMITACH + "]").Member_Name)
As you mentioned that you converted your measures as dimensions, you are having an integer value as the member name. In that case use VBA functions with MDX to do the datatype conversion.
Take a look into the following MDX written against Adventure Works;
WITH CALCULATED MEMBER [Measures].[Member Name] AS
CInt
Right
CStr
[Date].[Calendar Year].CURRENTMEMBER.MEMBER_NAME
), 4
SELECT {[Measures].[Sales Amount], [Measures].[Member Name]} ON COLUMNS,
FILTER
[Date].[Calendar Year].[Calendar Year].MEMBERS,
CInt(Right(CStr([Date].[Calendar Year].CURRENTMEMBER.MEMBER_NAME), 4)) >= 2005 AND
CInt(Right(CStr([Date].[Calendar Year].CURRENTMEMBER.MEMBER_NAME), 4)) <=2008
} ON ROWS
FROM [Adventure Works]
I am filtering the Years by using the member names by extracting the Integer portion of the member name and applying data type conversion functions in VBA. So I
Keep in mind that you have to get rid of the CONSTRAINED clause if your business users can enter anything on the SSRS text box. -
SUM problem in SSRS 2005 report
I don't know how best to explain this but will try.
In my SSRS 2005 report, i have one group in my table. In that group, I have a field that for each company record in my dataset, this field value is repeated for each record. This is a transactions table so you'd expect several records in the dataset for each company..that's not the problem.
example data from dataset:
TransID CompanyID FeeGoal
1 1000 100
2 1000 100
3 1000 100
4 2000 400
5 2000 400
My SSRS 2005 Report has:
Group1 fields:
CompanyID FeeGoal
=Fields!CustomerNumber.Value =Fields!FeeGoal.Value
The output when previewed looks like this:
Company FeeGoal
1000 100
2000 400
Footer 209409730.83 (totals up all feegoals! not just unique instances!)
I have a footer, and this is where the problem comes in. I am not able to sum 100 + 400 because if I do a SUM(=Fields!FeeGoal.Value) It doesn't just sume up 100 + 400 but rather (100 + 100 + 100) + (400 + 400)
I can't find a way to sum up basically the top values for FeeGoal which is really what the Group Field is doing since I get 100 and 400 in my group field for feeGoal. I should end up with a total of 500 for my footer total for Fee Goal but not sure how to get this to work in this unique situation.
FYI: FeeGoal is an input from an ASP.NET form to allow managers to update that one column in my report so that other calculations can rely on it in my group fields. Once the user finishes, I run a stored proc to insert that fee goal in every customer transaction record / feegoal field
I guess is there a way to do some sort of Distinct SUM in an expression? I also tried:
=SUM((Max(Fields!FeeGoal_AZ.Value)) / Fields!FeeSchedule.Value) * 100)
but you can't have an aggregate function like this, I get this error:
[rsAggregateofAggregate] The Value expression for the textbox 'GrossGoal_gt' contains an aggregate function (or RunningValue or RowNumber functions) in the argument to another aggregate function (or RunningValue). Aggregate functions cannot be nested inside other aggregate functions.
Build complete -- 1 errors, 0 warnings
Hi,
I need to generate a SSRS 2005 report like bellow:
OrderNumber MultiInvoice SalesAmt
TaxAmt TotalAmt
301256 1
302 20 322
369856
501 10 511
359826
456 1 457
785412 2
725 25 750
totalRow=4 totalRow=2 Sum=1984 Sum=56
Sum=2040 ----------------------->Footer
--I added textbox in ther footer of that report table, and try to add expression for each, like
1>OrderNumber : =CountRows()
2>MultiInvoice : =Count(column name) //but it is return no of rows,
where it should be only 2.
How can do that?
3>SalesAmt : =
SUM(Fields!SalesAmt.Value) //It is not returning actual summation of all rows for
SalesAmt
column. How can I do that?
Dipen Bhadra -
Hi ,
I am facing one difficulties in SSRS Map report.
In my map report there are many states coming ,some having data some not
I have linked states to other report so if I click on state having data it will go to another
report, I want not to show clickable on states which is blank ,i have markerd those states have no data in white colour.
please suggest me some solution
regards,
Vipin jha
Thankx & regards, Vipin jha MCPHi Vipin jha,
According to your description, you want to have the states with data link to detail report by clicking. Right?
In Reporting Servcies, if we want to have the states link to another report, we can right click on the polygon, select Map->Map Properties->Action->Go to report. Choose the detail report and pass the state as parameter so that the detail report
can filter report based on this value.
Please post some screenshot of sample you want if possible.
Best Regards,
Simon Hou -
SSRS-2008 reports problem in DMP 4400 standalone(tvzilla)
Hi guys,
Does anyone knows how I can to render SSRS-2008 reports in DMP 4400 standalone and its browser(tvzilla = Firefox 2.0.0.18) ?
My frimework version on DMP is 5.4.1(lastest)
I google for it and found something like an answer, but it seems to be mostly for Safari and Chrome...
http://stackoverflow.com/questions/5968082/ssrs-2008-r2-ssrs-2012-reports-are-blank-in-safari-and-chrome
Thank you in advance !
Regards,
Hristo.Hoang,
In SSRS 2005, white spaces are automatically ignored. But in 2008 this behavior gets changed and by default whitespaces are not ignored. But, There is Report property
ConsumeContainerWhitespace which is set to False by default. We can remove blank space at end by setting
ConsumeContainerWhitespace to true.
The logic to prevent the unnecessary pagebreak is
- ReportBody width should be less then Pagesize(width) – Left Margin – Right Margin
- ReportBody height should be less then Pagesize(Height) – Top Margin – Bottom Margin – Header height – Footer height
Thanks, Sandip Please "Mark as Answer" if this resolves your problem or "Vote as Helpful" if you find it helpful. -
SSRS 2012: Report Header PrintOnFirstPage-problem after report migration from SSRS 2008
Hi ,
I developed my report using VS 2008 IDE and the report header property "PrintOnFirstPage" is set to False.
The content of the header are some textboxes and lines that should show only on page number > 1.
This works fine in VS 2008 IDE in preview mode as well as with reports rendered by SSRS 2008 report server.
Recently I migrate&convert the same report to SSRS 2012 I noticed a different rendering behaviour of my report.
So in VS 2010 preview mode, the page headers content (textboxe etc.) is not visible on first page but the headers space did not colapse as it does in VS 2008 IDE preview mode.
I checked all the report properties but unable to find a solution to my problem.
I was able to reprduce the same behaviour by creating a new report using VS2010 IDE.
Any ideas are greatly appreciated
Thanks
BodoHi BodoHH,
I have tested on my local enviorment and can't reproduce the issue, the issue can be caused by many factors, it can be caused by the properties setting and can also caused by the visual studio, Detais information below for your reference:
As you mentioned that you have check all the report properties, please also check the tablix,Page Header,report body properties to see if the size are the same with that in the SSRS2008.
Please open this rdl report in the report builder to see if the print layout is correct, if it works fine, the issue can be caused by the visual studio.
Please also try to upload the rdl report to report manager to check the layout.
Please also provide the snaphot of the layout in VS2010 to let us better analysis about the issue.
If you still have any problem, please feel free to ask.
Regards,
Vicky Liu
If you have any feedback on our support, please click
here.
Vicky Liu
TechNet Community Support -
SSRS Matrix report to show or hide year column based on parameter value "Date" selected.
Hey experts!
I have a requirement an ssrs matrix report should display columns (year/s) based on parameter value (date/s).
My Dataset fileds are: Product, Year_name, Month_name, Date
Currently my report output looks like this-
Param Date: 2013-08-01 00:00:0.000
Product +Calender2011 +Calender2012 -Calender 2013........ +Calender2014
Total
Total Jan13 Feb 13 Mar13.. Dec13 Total Total
Abc 100
220
10 20 30....... 20 250 400
Xyz 110
200 50 80 40....... 30 450 600
My requirement: if I'm selecting Date parameter value as '2013-xx-xx' I should only able to see Year column 'Calender2013' and rest of the years should hide. Similarly If I'm selecting Date parameter value as '2014-xx-xx' I should only able to
see Year column 'Calender2014' .
Appreciate your kindly help.
AfanHi Afan,
According to your description, you want to only show the selected year on your report, right?
In this case, you need to get the year from the date parameter using the expression below
=Year(Parameters!Date.Value)
And then use the expression below to get the year from Year_Name field.
=Right(Fields!Year_Name.Value,4)
Then add a filter to the dataset to filter the data like below
Expression:=Year(Parameters!Date.Value)
Operator:=
Value:=Right(Fields!Year_Name.Value,4)
Reference
http://msdn.microsoft.com/en-IN/library/dd255287.aspx
If you have any questions, please feel free to ask.
Regards,
Charlie Liao
TechNet Community Support -
SSRS 2012 report integrated with SharePoint 2013 issue :Report refreshing after some idle time
we have SSRS 2012 report integrated with SharePoint 2013 , when we click on any toggle item after some idle time of 60 secs and try again to expand
another toggle item then complete report is getting refreshed and if we are in child report it is redirecting to parent report. . we didn’t set any refreshing property at report level. I hope there will be some idle time setting at sharepoint site
level.
what we observed.
1. there is no problem when we expand toggle items without any idle time.
2. when we open the report and expand few toggles and keep idle for 60 seconds and try
again to expand another toggle item then complete report is getting refreshed (all toggle items are collapsing).
3. If you keep idle for 60 minutes and if you didn’t do any action like expanding toggle
items it is not refreshing.
why it is happening and how to stop that complete refresh.
Surendra ThotaHi Surendra,
I have tested on my local environment and the issue can be caused by the session time out ,the time out of the report precessing, database timeout,DataSet query execution timeout and so on.
I would like to confirm that the refresh you have mentioned is the page refresh or the report reloading?
Please reference to the setting below to don't limit the timeout values if you got the report reloading:
Point to a report in the library.
Click the down arrow, and select Manage processing options.
In Processing Time-out, select Do not time out report processing or
Limit report processing in seconds if you want to override that value with no time-out or different time-out values.
If you got the session timeout that refresh the page, please reference to the setting in below article:
http://msdn.microsoft.com/en-us/library/gg492284.aspx#bkmk_session_settings_section
Details information in the article below about the timeout setting for your reference:
Set Processing Options (Reporting Services in SharePoint Integrated Mode)
If you still have any problem, please feel free to ask.
Regards
Vicky Liu
If you have any feedback on our support, please click
here.
Vicky Liu
TechNet Community Support -
Error while running SSRS 2012 report integrated with SharePoint 2013
Hi,
Our reporting services environment has SSRS 2012 integrated with SharePoint 2013. The SharePoint 2013 farm has 2 web front ends, 1 app server and a separate server for reporting services i.e SSRS 2012 .
We have created a https web application in SharePoint 2013 and all the SSRS 2012 reports are deployed into a "Report Library" residing in its root site collection.
The simple reports are running well. But there is a report where we have 3 multi-value parameters. On running this report in IE or Chrome, we get the error "Sys.WebForms.PageRequestManagerParserErrorException: The message received from the
server could not be parsed. Common causes for this error are when the response is modified by calls to Response.Write(), response filters, HttpModules, or server trace is enabled. Details: Error parsing near ' <!DOCTYPE html PUB'."
Some of the forums suggested to add the below entry in the web config of the SharePoint web app where the SSRS reports are deployed. We did that too, still the error is appearing. Please can anyone help .
<appSettings>
<add key="aspnet:MaxHttpCollectionKeys" value="100000" />
</appSettings>
ThanksHi Surendra,
I have tested on my local environment and the issue can be caused by the session time out ,the time out of the report precessing, database timeout,DataSet query execution timeout and so on.
I would like to confirm that the refresh you have mentioned is the page refresh or the report reloading?
Please reference to the setting below to don't limit the timeout values if you got the report reloading:
Point to a report in the library.
Click the down arrow, and select Manage processing options.
In Processing Time-out, select Do not time out report processing or
Limit report processing in seconds if you want to override that value with no time-out or different time-out values.
If you got the session timeout that refresh the page, please reference to the setting in below article:
http://msdn.microsoft.com/en-us/library/gg492284.aspx#bkmk_session_settings_section
Details information in the article below about the timeout setting for your reference:
Set Processing Options (Reporting Services in SharePoint Integrated Mode)
If you still have any problem, please feel free to ask.
Regards
Vicky Liu
If you have any feedback on our support, please click
here.
Vicky Liu
TechNet Community Support -
Is there anyone at all here who has successfully compiled and deployed an SSRS custom report item in VS2012? Is there a demo out there that actually works in VS2012? Is there anyone who has actually been able to compile and deploy that
apparently obsolete Polygons demo? (Pardon my impatience but I'm running a bit short of time here.)
After much hacking and googling I was able to get Polygons to compile but I still can't deploy it to the toolbox. ('The custom report item type PolygonsDesigner is not installed'). I've modified the RSReportDesigner.config
as instructed but I have no rssrvpolicy.config file on my local machine and
as yet I have no idea if that is necessary for local development.
In order to get it to compile I first added the reference C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\PrivateAssemblies\Microsoft.ReportingServices.ProcessingCore.dll to both projects.
To the PolygonsDesigner Project I also added the references:
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\PrivateAssemblies\Microsoft.ReportDesigner.Controls.dll
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\PrivateAssemblies\Microsoft.ReportingServices.Designer.11.0.dll
C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\Microsoft.ReportingServices.Interfaces.dll
Are these the correct references?
Exactly what software do you need installed on your local machine in addition to VS2012 in order to create a custom control?
(Designer.11.0 was added per the instructions in reference: https://connect.microsoft.com/VisualStudio/feedback/details/783391/unable-to-integrate-previously-working-ssrs-custom-report-item-to-vs-2012s-toolbox
After that I added the alias RSDesigner to it's properties and extern alias RSDesigner; at the top of the PolygonsDesigner.cs file. )
As of now, the top of the PolygonsDesigner.cs is as follows. I don't recall making any other changes to the code. As far as I can remember this is all I did in order to be able to compile the code in VS2012.
extern alias RSDesigner;
using System;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Drawing;
using System.Windows.Forms;
using Microsoft.ReportDesigner;
using Microsoft.ReportDesigner.Design;
using Microsoft.ReportingServices.Interfaces;
using Microsoft.ReportingServices.RdlObjectModel;
using System.Xml;
using System.Xml.Xsl;
using System.Xml.XPath;
[LocalizedName("Polygons")]
[Editor(typeof(CustomEditor), typeof(ComponentEditor))]
[ToolboxBitmap(typeof(PolygonsDesigner), "Polygons.ico")]
[CustomReportItem("Polygons")]
[ToolboxItem(typeof(RSDesigner::Microsoft.ReportDesigner.Shell.CRIToolboxItem))]
[System.CLSCompliant(false)]
public class PolygonsDesigner : CustomReportItemDesigner
{ etc...Just fixed this myself.
It appears the documentation online is wrong and the sample code is missing a reference to a reporting services dll and an attribute.
What you need to do to get it working in VS2012 is add a reference to: Microsoft.ReportingServices.designer.11.0.dll to the PolygonsDesigner project and then add the following attribute to the PolygonsDesigner class: [ToolboxItem(typeof(Microsoft.ReportDesigner.Shell.CRIToolboxItem))]
I also removed the [System.CLSCompliant(false)] attribute.
You then recompile and place both dlls in C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\PrivateAssemblies directory and the PolygonsDesigner.dll into the C:\Program Files\Microsoft SQL Server\MSRS11.MSSQLSERVER\Reporting Services\ReportServer\bin
or what ever is you reporting services path.
You also need to change the Microsoft example for the rereportserver.config file to:
<ReportItemDesigner>
<ReportItem Name="Polygons" Type="Microsoft.Samples.ReportingServices.PolygonsDesigner, PolygonsDesigner" />
</ReportItemDesigner>
<ReportItems>
<ReportItem Name="Polygons" Type="Microsoft.Samples.ReportingServices.PolygonsCRI,PolygonsCRI"/>
</ReportItems>
Notice that I changed the namespaces and class to what is in the actual code so if you change it make sure you change it here.
And here in the RSReportDesigner.config:
<ReportItems>
<ReportItem Name="Polygons" Type="Microsoft.Samples.ReportingServices.PolygonsCustomReportItem,PolygonsCRI" />
</ReportItems>
<ReportItemDesigner>
<ReportItem Name="Polygons" Type="Microsoft.Samples.ReportingServices.PolygonsDesigner, PolygonsDesigner" />
</ReportItemDesigner>
<ReportItemConverter>
<Converter Source="Chart" Target="Polygons" Type="PolygonsCRI.PolygonsConverter, PolygonsDesigner" />
</ReportItemConverter>
Notice I haven't changed the last part as I didn't know what the PolygonsCRI.PolygonsConverter was.
And make sure the rssrvpolicy.config looks like this:
<CodeGroup class="UnionCodeGroup" version="1" PermissionSetName="FullTrust" Description="This code group grants PolygonsCRI.dll FullTrust permission. ">
<IMembershipCondition class="UrlMembershipCondition" version="1" Url="C:\Program Files\Microsoft SQL Server\MSRS10_50.SQLSERVER\Reporting Services\ReportServer\bin\PolygonsCRI.dll" />
</CodeGroup>
After a restart of ssrs and relaunch of VS2012 I opened a test project and added the PolygonsDesigner.dll to the toolbox and it works.
Jamie -
How to deploy a SSRS 2012 report to IIS 8
Hi SQL gurus.
I wrote a simple SSRS 2012 report and saved it in d:\A_report\. I installed, accepting default configurations, IIS8. I used Reporting Services Config Mgr to configure report manager. Web Service URL is
http://testreport:80/Reports. Database is ReportDb. Report Manager is
http://testreport:80/testreports. I can see internet information services web page when I browsed it thru IIS manager. Can someone please guide what are the next steps for me to publish my helloreport
to the web? or show me the chronological steps that leads me to successfully publish the report? Do I need to creat a new virtual dir in wwwroot and start to save new reports to new virtual dir? are there anyother missing components/parts
of services I had missed? I want to learn but there are so many sources I read but each showed differenlty from others & I am confused. I dont need Sharepoint. For now, all I have is MS SQL 2012, MS SSRS 2012 & IIS8. Thanks
in advance.SSRS reports are no longer hosted in IIS, that changed after the 2005 version.
Your web service URL should be http://testreport:80/ReportServer
it should be a different URL to your Report manager URL (at the moment for some reason you have them both the same?)
Then you can set up your config to point to your web service URL and deploy through visual studio
http://msdn.microsoft.com/en-us/library/ms159270(v=sql.110).aspx -
Hello,
.Net 4.0\VS2010\C#\ssrs 2008 on Sql Server 2008R2
Having a problem printing a Server report while controlling the orientation and the size of the emf rendered to the physical page.
I have the report cutting off in both landscape and portrait modes. I'm passing the following deviceinfo to the render function:
string DeviceInfo =
@"<DeviceInfo>
<OutputFormat>EMF</OutputFormat>
<PageWidth>8.5in</PageWidth>
<PageHeight>11in</PageHeight>
<MarginTop>0.25in</MarginTop>
<MarginLeft>0.25in</MarginLeft>
<MarginRight>0.25in</MarginRight>
<MarginBottom>0.25in</MarginBottom>
</DeviceInfo>";
return DeviceInfo;
string mimeType; string fileExtension; Stream pageStream = serverReport.Render("IMAGE", deviceInfo, firstPageParameters, out mimeType, out fileExtension);
No other settings seem to have an affect on controlling the output to printer or pdf. i.e. The deviceinfo params fed to server report's render function are all you get. I think my original code comes from an MSDN or CodeProject example. I'm not
inventing anything new here.
Links below indicate similar problems but they are looking at the issue from just landscape mode. Seems like I ought to be able to squash or expand the image to whatever size I specify, separate from the 'page' size. Please let me know what i need
to know to make these reports print without bleeding onto 2 pages or slicing off the right side of the document image.
http://stackoverflow.com/questions/25652415/cant-print-ssrs-rdlc-report-in-landscape-mode-directly-to-printer-using-suggest
https://social.technet.microsoft.com/Forums/sqlserver/en-US/06a9b432-c8a5-4952-a07c-867742a26c47/print-rdlc-without-report-viewer-either-in-portrait-or-landscape?forum=sqlreportingservices
print ssrs rdlc report in landscape mode directly
Thanks!Hi
FraterJoanni,
Thanks for posting in MSDN forum.
I am not expert in SSRS. You should get better response in SQL Server > SQL
Server Reporting Services, Power View forum.
After take a look at the similar threads links as you posted above.
The conclusion is we needn’t tell the program o this report is landscape not portrait. If the width is larger than the height, the report will be printed in landscape; otherwise, it will be printed in portrait.
>>Links below indicate similar problems but they are looking at the issue from just landscape mode.
But in C# forum, we only from the point of code, code looks OK to me.
A similar blog talking about this
Controlling Page Size in a Reporting Services Report
And I have got the default page size in the US is Letter, 8.5in x 11in. In other parts of the world A4 (8.3in x 11.7in) is the standard.
65: //build the device settings (A4 8.3 × 11.7)
66: string deviceInfo = string.Format("<DeviceInfo><PageHeight>{0}</PageHeight><PageWidth>{1}</PageWidth></DeviceInfo>", "11.7in", "8.3in");
67:
68: //get report bytes
69: result = rs.Render(format, deviceInfo, out extension, out encoding, out mimeType, out warnings, out streamIDs);
70:
Best regards,
Kristin
We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
Click
HERE to participate the survey. -
I have SSRS parametarized report in that one data set have repeated values with query parameter . but while am mapping that query
parameter to report parameter i need to pass distinct values. How can i resolve thisHi nancharaiah,
If I understand correctly, you want to pass distinct values to report parameter. In Reporting Service, there are only three methods for parameter's Available Values:
None
Specify values
Get values from a query
If we utilize the third option that get values from a dataset query, then the all available values are from the returns of the dataset. So if we want to pass distinct values from a dataset, we need to make the dataset returns distinct values. The following
sample is for your reference:
Select distinct field_name from table_name
If you have any other questions, please feel free to ask.
Thanks,
Katherine Xiong
Katherine Xiong
TechNet Community Support -
Running an SSRS 2012 report from C#
Hello
I have created the report in SSRS and it works fine
I would be grateful if someone gives me a step by step procedure / link to Run an SSRS 2012 report from C#.
regards
Manoj Gokhalesee this article
http://www.codeproject.com/Articles/675762/Call-SSRS-Reports-by-using-Csharp
Please Mark This As Answer if it solved your issue
Please Vote This As Helpful if it helps to solve your issue
Visakh
My Wiki User Page
My MSDN Page
My Personal Blog
My Facebook Page
Maybe you are looking for
-
How to get the Shape3D from a Link-SharedGroup
Tried VRML loading. Works great. Just loaded some surfaces created in Unigraphics. Version of the .wrl is v2.0 utf8. Can rotate, zoom and pan them. All fine. However, one thing I can't. That is, I cannot get the shapes, so I'm not able to pick them o
-
I am doing IDOC to SOAP(3rd party) scenario and I get this error <?xml version="1.0" encoding="UTF-8" standalone="yes" ?> - <!-- Call Adapter --> - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soa
-
Trouble accessing internet form my iMac
Hi, having trouble with accessing internet form my iMac. Both Wi-Fi and Ethernet ports show up and running properly, the ISP checked the gear and it's all up, however, I can't get out on the internet. I ran network diagnostics sveeral times, it allwa
-
Multiple Form Field Validation
I run throught these series of checks before submitting the variables to the .jsp script. Problem is that it will ignore the sender name and receipient name as long as there are two email addresses. Why is that? if (sendername eq "") { nameer
-
Reminders not syncing up.
I use icloud.com to sync my reminders. My ipad and icloud.com reminders do not appear to be syncing. They are both using the same icloud account and used to sync. I have changed nothing, but in the last week they have stopped syncing with one anot