This article is day three in a week of reporting articles.
This seems like a no-brainer, but it is not as easy as you would think. Often your users will not know what they want and certainly not where to get it.
Let’s say Milton, a purchasing agent, requests a Vendor Performance Report. After you ask him to fill out your Report Request Form (you are using one right?), you read through it and have a few questions. The first should be, “Who needs this data? Who is requesting the report?”
He indicates in a halting, barely audible tone, “Umm… Bill… the Production Manager… He needs it to rate our vendors. He says if I don’t get it… he’ll take my stapler.” If possible, you should go ask your questions of Bill. Bill knows the answers because he is the person requesting the data. However, I often find that Bill has delegated the task to Milton because Bill is swamped with work himself and can save some time. If you are a Bill, listen to me, no you won’t. We will both waste time because Milton will either ask you all of the questions I ask him, or will likely answer some of them incorrectly. Therefore, Bill, when you check the report and find it incorrect, you and I will be meeting anyway. After telling Milton that you will talk to Bill, he mumbles, “…but I could set your desk on fire…”
With some personalities, a different problem arises. Suppose I am speaking with Bill in this case (the responsible party) and ask something like, “Why do you need this report?”
I want to know the reason Bill wants it so I can lead him through the process and recommend options along the way. This speeds up the process and results in a better report. However, some people will misunderstand you and Bill may think you are questioning his right to the report. If Bill becomes defensive, the process is more difficult. Bill will often respond with something like, “Umm… yeah…. Well corporate says they want it… Maybe you could come in Saturday to work on it….”
All joking aside, to avoid a misunderstanding I usually ask this in a different way such as, “Bill, so that I can create the best report as quickly as possible, may I ask the purpose of it? What are you really looking for?” Bill will often explain a little of his job to you and it’s a win-win situation.
In our scenario, when you phrase the question properly, Bill opens up and tells you that he is thinking of dropping Vendor XYZ for poor performance. He wants a report to document that performance. At this point your question should be, “How? What constitutes poor performance?”
Another reason it is difficult to determine what a user wants is they don’t know what you can actually do with the data. Many users have never heard of “drill down,” especially if the only reports they have used are M2M Visual FoxPro reports, as VFP does not support it. They may also not know that SQL Server Reporting Services and Crystal Reports have full charting and graphing abilities or that with conditional formatting you could show any problem vendors in red. Since the user does not know what you can do, they do not know what they can request.
Also, if possible, know what your target number should be. Some users like to play a form of a digital Easter Egg hunt. They won’t tell you that they already know the answer; they want to see if you can come up with it on your own. I cannot tell you how many times I have created a report, only to find out that I didn’t match the user’s number and my number must therefore be “wrong.” A good example of this is in financial reporting. Most M2M financial reports pull from the general ledger rather than the accounts receivable tables for financial reporting. Trying to hit the same number, especially when you have no idea how they are calculating theirs, is practically impossible due to general ledger journal entries.
Therefore, if you are trying to match a report in M2M (or any ERP system), derive the SQL directly from that report. I will follow up with articles and videos as to how I do this in the near future.
Finally, keep in mind that some users do not want your help in automating their reports. Management has ordered them to ask for your help, but they do not really want you to succeed. Often they perceive a loss of power or job security when portions of their job are automated. This is yet another reason why you should be talking to Bill, not Milton.
Tomorrow I will discuss exporting issues.