Tuesday, July 20, 2010

Friday, July 16, 2010

Using Filters in Reporting Services

This is a technical post, but I discovered something very helpful today and I wanted to share it with whomever it may help.  I had a need within Reporting Services 2005 to display a table, and only display a line of text if a particular value populated at least one row of that table.

I didn't want to alter the stored procedure because I don't have permissions for that, and to request it and wait is more trouble than its worth.  So I wanted to handle this within Reporting Services itself.

I tried to use the "Count" function.  However, the Count function only returns the total number of values returned in the dataset.  I wanted to do something like this in the Hidden property of the table row containing my text:
=IIF(Count(Fields!ActionCode.Value=21)>0, False, True)

However, since Count only returns the total about of data it was always returning a false value whether ActionCode equaled 21 or not.

My solution:
I defined another dataset that queried the same stored procedure as my dataset used to populate my table.  However, in this dataset I clicked on the Filters tab.  In that field, I filter the data to only return records where the ActionCode = 21 (In the "Value" field, be sure to specify =21, because simply entering 21 treats it as a string value).

Now, back in the hidden property field I can use the "Count," but I specify the new dataset:
=IIF(Count(Fields!ActionCode,"dsCheckForRemoved")>0, False, True)

Now...since 21 represents a "removed" condition I only get back records in this dataset if that condition exists.

This gives me what I need and I can display that message independent of the other rows in the table.

Hope this helps someone.

Friday, July 02, 2010

Which Kindle?

For months now I've been saving for a Kindle.  However, all this time I was saving for the DX, mainly due to the fact that the DX had a native PDF reader.  A lot of the stuff I like to read is in the public domain and is readily available in PDF format.  This is mostly because they are scanned images of very old books.  Some of these books use the "old English" format where the letter "s" looks like the letter "f."

There are new developments recently announced by Amazon that have caused me to perk up.

First of all, the standard Kindle 2 now includes a native PDF reader on its own.  Plus they've lowered the price to $189!  What a deal:

Kindle Wireless Reading Device, Free 3G, 6
Kindle Wireless Reading Device, Free 3G, 6" Display, White, 3G Works Globally - Latest Generation

They also have a new version of the DX out. And that price has been reduced as well! ($379)
Kindle DX Wireless Reading Device, Free 3G, 9.7
Kindle DX Wireless Reading Device, Free 3G, 9.7" Display, White, 3G Works Globally – 2nd Generation

So, it seems like it's getting harder to choose between the two. The main (only?) advantage of the DX over the standard one now is a bigger screen, and more memory. The standard Kindle holds 1500 books. The DX holds 3500.

The other thing I'm really wanting to do is to access my Logos 4 library from it. I've heard that you can get to it through http://library.logos.com

I've got enough money saved to get the standard Kindle today.  So, should I take the plunge, or hold out for the DX?

Leave a comment with your opinion.  Also...click through the links above to check out the specs at Amazon's site.  If you buy through my link I'll get a small commission.