One of the tasks I'm often given is to take a simple data model, like a SQL Server 2000 View, and render the data transposed in a certain way (rows made into columns, weird grouping operations, etc). Most of the data sets I work with contain a LARGE amount of rows to sift through.
Early in my development career, before the .NET platform was widely used, I was taught to do data transformation as close to the 'metal' (aka the SQL server) as possible. Make your SQL queries give you as close to the display data as possible, and don't loop through results after-the-fact. This model serves .NET well because of the binding model on most controls. Binding an end-result right to a control makes life sweet!
But some of these transpositions and groupings are complicated. They require re-organizing data that, if done in SQL server, would involve large amounts of sub-queries, or esoteric matching/grouping. Furthermore, some functions, like date and string formatting, seem out-of-element on the data store. In a recent project, I was given this tiered excel file, and I was to make the data match the format. I tried it in SQL at first; but soon I decided that since the whole .NET philosophy is Rapid Application Development, I decided to do it the 'quick' way. I busted out Crystal Reports, bound the report to the SQL View, and built the display in Crystal.
Part of me doesn't mind using tools like Crystal. It doesn't affect the data model at all; and I consider reports part of the presentation layer of an application anyways. But part of me definitely likes the 'grab and bind' philosophy. So I pose it to the BloggingAbout.Net readers: Which do you prefer? What are your pros and cons?
Hey there! I wanted to introduce myself to the BloggingAbout.Net Community. My Name is Ed Giardina, and I'm a .NET software developer on both the Windows and Web forms sides of things. Hopefully I can provide some unique insight and share some tricks of the trade.