Ready to watch this entire course?
Become a member and get unlimited access to the entire skills library of over 4,900 courses, including more Developer and personalized recommendations.Start Your Free Trial Now
- View Offline
Note: These tutorials are applicable to both the 2008 and 2012 versions of SQL Server.
- Understanding the elements of a report
- Grouping table regions
- Joining data from multiple tables
- Displaying data in a matrix
- Customizing report parameters
- Filtering and sorting data
- Creating charts
- Adding sparklines and data bars
- Creating at-a-glance reports with indicators
- Using Maps in Reporting Services
- Configuring report security
- Printing and exporting reports
Skill Level Advanced
I have a typical table here, which right now has an internal sort applied to it to sort by last name descending. And I want to be able to click in these header areas and have this toggle ascending or descending by first name, or ascending and descending by last name. I could apply that ability to the rowguid as well, but that's probably not very useful. You don't have to apply interactive sorting on all the columns. It's completely up to you. But here's how we'd add interactive sorting to a typical table. I'll switch back into Design view. Now, here's the thing.
Interactive sorting is very easy to add, as long as you know the right place to add it. The first couple of times you do it it can seem a little tricky to find the right place so that the correct option will appear. So, I'm wanting to click on the words First Name or Last Name to apply that sort order, but the way to do it is to make sure we're adding that interactive sorting feature to the text box here, not to the text inside the text box. Now, what do I mean by that? Well, as you have probably seen, when you start clicking around different elements on a report, that the selected option of this Properties window will change based on what you've clicked on.
So if I click on a blank area of the report, I see the word Body appear, and I can change the properties of the body of the report. If I click on that top corner of the table, I'll see the Tablix properties appear. But if I'm interested in this area, the blue area this says First Name, the header of this column, well, there is a difference between having the text selected, in which case I'll see selected text over here in the Properties window, and having just the text box selected, which I can get if I click a blank area. There I'll see Textbox2.
So there is a difference between the text box and the text inside it. If I just have text selected and click the Properties pane, I can affect the properties of that text. I have four sections here, and that's fine. But if I have a text box selected and click its Properties Pages, I have more properties and more interesting properties. So first, how do I make sure that I have the actual text box selected? Well, there is a couple of different ways. If you have the actual text selected, the first clue is click in a blank area of the report somewhere, and then to select the text box, click in it but try not to be over the actual text of the time.
So if here I just click on the background then I can see I have TextBox2 selected. And this works both for something inside a table and for something like a title. We've got the sorting data title here. If I click inside the text, I get selected text; click off on a blank area and then click back in the general region of it, I'll see the actual ReportTitle text box. Now, if you have a very compact report where a lot of the columns have been closed up to each other it might be very difficult not to click text. So here is another way you can do it. So if I have this text selected, what that means is I have text selected that's inside a text box, that's inside the table, that's inside the body of the report.
Well, I can use the Escape key to drill up from the lowest level to the highest level. So if I look at the fact I have got selected text here, if I hit the Escape key once, I jump up to the text box. If I hit the Escape key again, I jump up to the table, the Tablix element. If I hit the Escape key again, I'll jump up to the body level. We want to make sure we're on the text box. Finally, got it. We're good. Let's go. With the text box selected, I open up the Property Pages and there is an option here called Interactive Sorting. All we do is check the checkbox. Yes, I want to enable it on this textbox.
Well, what do we want to sort? Well, Detail rows is the option here. I haven't applied any grouping to this table so that's not relevant. But if you did have a grouped table, you could apply it to your groups here. Now, what do I want to sort by? Well, this is clicking on FirstName, so I'll sort by FirstName. The option underneath is to apply this sorting to all groups and data regions. It simply means if you have multiple tables all showing similar data, do you want any of the sorting to apply to all of those table? Well, we only have one so this isn't relevant here.
And I'll just click OK. It doesn't seem to have made a difference, but it will when we run this. Well, I'm also going to do this on the Last Name column as well. So again, clicking a blank area of this, double-checking that I can see the highlight around the text box, and that I see TextBox selected here in Properties, open up pages, jump to Interactive Sorting, enable interactive sorting, and Sort by LastName. Click OK, Done. Now we go ahead and run this. And what it's done is add the little up-down arrows to both of these areas.
It's actually still applying my default sort order that I had on the table, which was last name descending, but now we have interactive sorting that'll override that. So I can click on First Name, sort ascending, click it again, sort descending, click on Last Name, sort ascending, click it again, sort descending. And that's how you add interactive sorting to your tables.