none
Problem mit Ergebnis aus einer Abfrage für einen Bericht RRS feed

  • Frage

  • Hallo zusammen,

    ich habe ein Problem mit dem Ergebnis einer SQL Abfrage, die ich in einem Bericht hinterlegen möchte.

    Und zwar habe ich zu einer Kampagne die Gesamtzahl der Termine summiert und danach eben noch einzeln aufgeteilt wieviele davon offen, wieviele abgeschlossen und wieviele eben storniert wurden.

    Rein logisch müssten die offenen, stornierten und abgeschlossenen Termine von der Summe her der Gesamtzahl der Termine gleich kommen.

    Dies tun sie aber nicht... hier fehlen in einigen Fällen ca. 5 - 10 Termine, in manchen Fällen hingegen passt es einwandfrei.

    Wie kann das sein?

    Es gibt bei Terminen doch nur die 3 statecodes: offen, abgeschlossen und storniert oder?

    Die Abfrage sieht bei mir wie folgt aus:

    SELECT *
    	, [Termine] * [Kosten/Termin] AS [Kosten]
    	, CASE WHEN [realisierter Umsatz] > 0 THEN ([Termine] * [Kosten/Termin] * 100) / [realisierter Umsatz] ELSE 0 END AS [Refinanzierung]
    FROM(
    	SELECT
    	cmp.campaignid
    	, cmp.name
    	, Convert (Nvarchar,cmp.actualstart,104)AS [Startdatum]
    	, Convert (Nvarchar,cmp.actualend,104) AS [Enddatum]
    	, (SELECT sum(estimatedvalue) FROM filteredopportunity WHERE new_kampagneid = cmp.campaignid and statecode = 0) AS [offenes Potential]
    	, (SELECT sum(new_gewumsatz) FROM filteredopportunity WHERE new_kampagneid = cmp.campaignid and statecode = 0) AS [offenes gewichtetes Potential]
    	, (SELECT sum(actualvalue) FROM filteredopportunity WHERE new_kampagneid = cmp.campaignid and statecode = 1) AS [realisierter Umsatz]
    	, (SELECT sum(estimatedvalue) FROM filteredopportunity WHERE new_kampagneid = cmp.campaignid and statecode = 2) AS [verlorenes Potential]
    	, (SELECT count (*) FROM filteredappointment WHERE new_kampagneid = cmp.campaignid) AS [Gesamtzahl Termine]
    	, (SELECT count (*) FROM filteredappointment WHERE new_kampagneid = cmp.campaignid and statecode = 0) AS [Anzahl offene Termine]
    	, (SELECT count (*) FROM filteredappointment WHERE new_kampagneid = cmp.campaignid and statecode = 1) AS [Anzahl geschlossener Termine]
    	, (SELECT count (*) FROM filteredappointment WHERE new_kampagneid = cmp.campaignid and statecode = 2) AS [Anzahl stornierter Termine]
    	, (SELECT count (*) FROM filteredopportunity WHERE new_kampagneid = cmp.campaignid) AS [Gesamtzahl VKCs]
    	, (SELECT count (*) FROM filteredopportunity WHERE new_kampagneid = cmp.campaignid and statecode = 0) AS [Anzahl offener VKCs]
    	, (SELECT count (*) FROM filteredopportunity WHERE new_kampagneid = cmp.campaignid and statecode = 1) AS [Anzahl gewonnener VKCs]
    	, CONVERT(INT, '2') AS [Kosten/Termin]
    	FROM filteredcampaign cmp
    	GROUP BY cmp.campaignid, cmp.name, cmp.actualstart, cmp.actualend
    ) x
    

    Viele Grüße

    Martin

    Dienstag, 27. Juli 2010 10:01

Antworten

  • Ich würde mir mal aus der Tabelle anschauen, in welchen statecodes die Deiner Meinung nach fehlenden Datensätze sich befinden. Das klärt dann schon die Ursache...

     

    Name Value Description Status Reason Status Code Value
    Canceled 2 Specifies that the appointment is canceled. Canceled 4
    Completed 1 Specifies that the appointment is completed. Completed 3
    Open 0 Specifies that the appointment is open. Free

    Tentative

    1

    2

    Scheduled 3 Specifies that the appointment is scheduled. Busy

    Out of Office

    5

    6


    Gruß Carsten Groth http://carstengroth.spaces.live.com
    Dienstag, 27. Juli 2010 14:27

Alle Antworten

  • Ich würde mir mal aus der Tabelle anschauen, in welchen statecodes die Deiner Meinung nach fehlenden Datensätze sich befinden. Das klärt dann schon die Ursache...

     

    Name Value Description Status Reason Status Code Value
    Canceled 2 Specifies that the appointment is canceled. Canceled 4
    Completed 1 Specifies that the appointment is completed. Completed 3
    Open 0 Specifies that the appointment is open. Free

    Tentative

    1

    2

    Scheduled 3 Specifies that the appointment is scheduled. Busy

    Out of Office

    5

    6


    Gruß Carsten Groth http://carstengroth.spaces.live.com
    Dienstag, 27. Juli 2010 14:27
  • Hi mir hat der Status Scheduled gefehlt.

    Lag an der Anforderung die ich hatte, da dies dort nicht berücksichtigt war.

     

    VG

    Martin

    Mittwoch, 28. Juli 2010 06:34