January 19, 2007
@ 04:21 AM

I have been doing a lot more Reporting Services work than is normal for me. I am far from an expert in SSRS, and believe it takes a special kind of talent to get proficient with it, which I probably don't have.

One report I have been struggling with shows various views of commonality in stocks held across a bunch of funds. This report uses several matrices to pivot data we pull out of our accounting system about which stocks we hold.

On of the matrices shows holdings per stock, for each fund, with a total on the right:

This lets the users see which names are held in common in lots of funds.

Initially, I thought they would want to see them alphabetized by Name (stock name). I was thinking they would use this matrix to lookup things by name (how much "Altria" do we hold, and in which funds?)

It turns out they are more interested in exploring what stocks are most in common, so they would rather see them sorted by total descending (what do we hold the most of?)

I thought, "No problem, just put an interactive sort on Total!"

Several hours later, I gave up. I couldn't get sorting to work on Total. It's not a field in the dataset for this matrix. It's possible to set and interactive sort on this column:

 but no matter what I selected ("sum(Fields!MarketValue.Value)", "Total", "ReportItems!Total") it either did nothing or gave me a variety of errors.

I read several usenet posts about this problem, but was unable to extract any useful information.

Utterly defeated, I stepped back and considered what I was trying to accomplish. Had the users actually indicated that they wanted sorting? No...Would they consider the report done if it just showed this grid sorted by market value? Yes...

Setting the default sort for the whole matrix is drop dead simple:

Five minutes later I was done. I just love it when I am the technical problem I am trying to solve.


 
Categories:

January 16, 2007
@ 07:16 AM

Just before Christmas, I finally got around to ditching Cingular (poor, poor, service) and getting new phones for Julie and I. What finally got me off my duff was the Dash phone T-Mobile has now. We each got Dash phones, and I got the unlimited internet plan for mine, for $30. It's a Windows Smart phone, so I installed the 2.0 Compact Framework and started writing little applications for it.

One thing I knew I'd want to do was write an RSS Reader. I had an old MPX 200 - a windows mobile 2002 phone - a few years back and had written a simple RSS reader for that, but it was a real pain, as there was no compact framework for that device, and I had grown used to .NET. I had to do it C++, the API was quirky and poorly documented, so not fun.

I ended up writing a couple of other apps for the Dash first, and checking out a few of the commercial RSS readers available. I wrote a program to sync my google calendar to my phone's calendar, then discovered Yahoo! Go, which syncs to a Yahoo Calendar and makes it drop dead easy to upload photos too (check it out). Julie can put things on my calendar and they show up on my phone - ta-da!

A few weeks ago, I remembered that Google Reader was supposed to support phones. It took me a while to find the right URL for my phone browser, but I was hooked as soon as I did. For the desktop, I want something like RSS Bandit, where everything is fast, organized, and easy to manipulate. For the phone, I usually only read RSS feeds when I am stuck somewhere and bored - elevators, doctor's offices, waiting for a meeting to start, etc. Google Reader for my phone shows me all posts in my list, ordered by date, descending. It's so simple. Each post has a number, so navigation is easy. There are hot keys for mark all read, and staring items. Those are the only things I ever want to do on the phone.

I still prefer RSS Bandit to Google reader on the desktop. There is an argument for switching to Google Reader on the desktop so I can keep in sync (not reading things twice), but I generally only make it through a few pages of posts on the phone, so it's not really an issue.

Since then, I have gotten back into reading my feeds and trying to keep up to date. It's convenient having the knowledge of thousands of geeks, on tap, in my phone, whenever I have a spare moment.


 
Categories: