From today (5th January 2015) until the end of May this year Microsoft is once again offering those wishing to sit a Microsoft Certification Exam a second shot at passing the exam if they fail the first time around.
There are of course conditions associated with the offer but these are clear and reasonable such as booking the retake within 30 days of sitting the first attempt.
Full details can be found at the Microsoft Born To Learn blog
Great news. I just successfully compeleted the Microsoft Partner Network course and exam for the Pre-sales Technical Specialist qualification. So the correct title is Microsoft Sales Specialist: Collaboration, Content Management and Search. Here is the associated official logo…
SharePoint 2013 has been out a year now and next week I’m off to attend a 5 day training course on Developing Microsoft SharePoint Server 2013 Core Solutions.
Given 2013 has been out a year and I’m getting a rare chance to attend some training I think it is also time to step up and bite the bullet regarding my SharePoint certifications so I’m currently planning on sitting the Core Solutions (70-488) certification exam a few weeks after the training and then follow that up with the Advanced solutions (70-489) exams after that. If I can successfully pass both of these then I will only need to do the Programming HTML5 (70-480) exam and the ASP.NET MVC 4 Web Applications (70-486) exams and I would have my Microsoft Certified Solutions Developer: SharePoint Applications certification.
So the planned path is:
- Developing Microsoft SharePoint Server 2013 Core Solutions (70-488)
- Developing Microsoft SharePoint Server 2013 Advanced Solutions (70-489)
- Developing ASP.NET MVC 4 Web Applications (70-486)
Not necessarily the order Microsoft suggests you do these certifications but I think if I am going to do any I want to do the SharePoint based ones first.
Have you had problems with merged cells in excel exports from Reporting Services reports? I have so I did some hunting around and found some information that looks like its solved my problem.
Add this post and the information at the following MSDN blog and you should have your problems with merged cells in excel exports from Reporting Services reports nailed.
Ed Spencer's Blog
Lets be completely direct here. Cell merging in Sql Server Reporting services after exporting to Excel, is a common nightmare.
It happens because the engine that transforms the report tries to do so on a presentation basis.
I have been developing reports in SSRS for a few years now, and here are the best ways around the issue that I have found:
1. Don’t use standalone textboxes for titles, or any non-data elements.
Rather than fiddle with these for hours trying to get them to line up, just insert another row or two as headers above your data driven report element (e.g. table). You can then play with the presentation of the cells to make it look like it isn’t part of the same table. This can be done by colouring certain borders white to give the impression that there is nothing there.
2. Use points and not centimetres when…
View original post 96 more words
I discovered some interesting behaviour in the Excel export files from Reporting Services today. Some users of the system I’ve been working on have a requirement to periodically export the data in MS Excel format so they can do some additional analysis. They recently began testing the export function on the report in question and have noted theat they are unable to generate a pivot table because there are additional empty rows and columns before at the top and on the left of the table in the spreadsheet.
My assumption was that when you export to Excel the export rendering engine would only attempt to output the tables on the page. Obviously my assumption was invalid and the rendering engine attempts to render into Excel as closely as possible to the web version including any whitespace around the report. The more whitespace the more blank cells, rows and columns will appear in the Excel export. The quick solution to the issue is to simply move the various object on the report so the edges butt up against each other and the sides of the page. Removing the whitespace in this way means the rendering engine wont include additional empty rows or columns in the spreadsheet.
Note also that I’m note using a head or footer for the exportable version of the report. These will also cause issues if the purpose of the export is to apply a pivot table to the data for analysis.
In-line images also cause issues in the exported Excel spreadsheet. I have small icon in cells in the table with actions defined to open sub-reports. The images were embedded in rectangle objects to enable control of positioning and size. The behaviour I saw in the Excel export spreadsheet was that I had merged columns around the images and this again interfered with apply a pivot table to the data. My only solution here was to remove the images from the exportable version of the report.
Finally, the report had two tables on the page. The first was a summary table and the second was a table containing the detail row for every item meeting the users selection parameters. When the user exports to Excel both tables appear on the one spreadsheet and the user is unable to simply create a table or pivot table on either of the data tables. Ideally the user wants each data table on its own spreadsheet. The resolution to this is again simple if you think in terms of what the rendering engine is trying to do i.e. render what it sees on the page into a similar looking spreadsheet. First we want to force the second table to appear on a new page. This is achieved by configuring the tablix for the first table to put a section break after it (see image below). Once this is configured the second table will appear on a separate page and the rendering engine will interpret the section break as needing to put the second table onto a second sheet in the Excel file.
So the latest requirement in my report building project is to provide the user with a checkbox (boolean) choice to include activities in the report which were marked as to be excluded from reporting when they were entered. I know it seems to sort of defeat the purpose of having such a flag in the first place but it is still something that the requirements definition says should be available to the report user. So in the report we add a boolean parameter to provide this option that looks something like this
and in the report itself looks like this…
The issue arises when we look to utilise this to filter the report data. In effect we are saying that by default we only want records where the dataset flag is equal to False but if the user selects True for the parameter we want the dataset to return records where the flag is equal to both True and False. Looking at the options for using dataset filters I could see a simple way of achieving this so I took a step lower down and implemented this requirement as part of the WHERE clause utilising the parameter within the SQL query. Basically I wanted a WHERE clause that in the default case was a pure ‘= 0’ and in the second case was an IN clause. Whilst a clause such as
ActivityData.ExcludeFromReports IN (0,1)
would work in SQL I couldn’t find a way of having the parameter in Report Builder pass the (0) or (0,1) to the query as the validation parsing that occurs when trying to create this blocks it given that the field in the dataset is Boolean.
Here is the clause that I finally came up with that provides the filtering functionality described above..
AND (ActivityData.ExcludeFromReports <=
(CASE WHEN @IncludeExcludedActivitiesParameter = 1 THEN 1
WHEN @IncludeExcludedActivitiesParameter = 0 THEN 0
Simple but elegant! We know that boolean can only be 1 or 0 so when we want all records returned we look for those where the ExcludeFromExceptions flag is less than or equal to 1 (hence both settings) otherwise we only return those records where the ExcludeFromExceptions flag is less than or equal to 0.