Problem with reporting and queries

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • AF

    Problem with reporting and queries

    I am having a problem with several reports at work. We use an SQL
    generator package where we fill in a template, and the system
    generates SQL code.

    The reports I have been running at a low level return a sales value of
    $96,000 for a specific office for 2006.

    Here is my filter,

    Office = 23

    Region = Northeast

    Product Cat = (several different categories)

    Year = 2006

    When I added some additional columns, the sale for the same office
    went to over $9 Million. When I analyzed this further, I found all
    offices in the region were being returned for the second report, and
    thus I ended up with the sales for all of the regions sales.

    What I am really confused about is how using the exact same filter, a
    simple report can show one number and then by adding some facts or
    columns my sales went up. (and I did confirm character by character
    we are using the same filter.)

    Is this explainable based on some principle of SQL I am unfamiliar
    with?

    One explanation I received from IT, who is too busy to look at my
    problem, is that by adding additional columns, I essentially asked our
    SQL generator to set up a larger join than I expected.

    If this were true, wouldn't the filter still eliminate records that
    don't meet the filter requirements?

    I suspect the SQL generator applied the filter at the wrong spot. I
    tried looking at the SQL: code, but it is very complicated.

    So I am turning to this forum to see if anyone can think of a logical
    explanation that would allow SQL to in effect return a larger dataset
    than my original report.

    Thanks for any help.



  • Erland Sommarskog

    #2
    Re: Problem with reporting and queries

    AF (bscinc@Yahoo_N oSpam.com) writes:
    When I added some additional columns, the sale for the same office
    went to over $9 Million. When I analyzed this further, I found all
    offices in the region were being returned for the second report, and
    thus I ended up with the sales for all of the regions sales.
    >
    What I am really confused about is how using the exact same filter, a
    simple report can show one number and then by adding some facts or
    columns my sales went up. (and I did confirm character by character
    we are using the same filter.)
    >
    Is this explainable based on some principle of SQL I am unfamiliar
    with?
    >
    One explanation I received from IT, who is too busy to look at my
    problem, is that by adding additional columns, I essentially asked our
    SQL generator to set up a larger join than I expected.
    >
    If this were true, wouldn't the filter still eliminate records that
    don't meet the filter requirements?
    >
    I suspect the SQL generator applied the filter at the wrong spot. I
    tried looking at the SQL: code, but it is very complicated.
    >
    So I am turning to this forum to see if anyone can think of a logical
    explanation that would allow SQL to in effect return a larger dataset
    than my original report.
    It's of course impossible to debug a tool that I have never seen.
    I can think of lots of reasons, including user errors on your
    part, errors in the tool you use, or in the data model you access.

    If I understood your story correctly, the second report rendered the
    filter on office void and useless. That's some kind of clue, but enough
    to say "Aha!".

    You could at least post the queries, to give us something to work with.


    --
    Erland Sommarskog, SQL Server MVP, esquel@sommarsk og.se

    Books Online for SQL Server 2005 at

    Books Online for SQL Server 2000 at

    Comment

    Working...