2016-07-28 16 views
0

Ich möchte einige Daten in die ssrs-Tabelle einfügen. Ich mag es zeigen, wie diese hier:Einfügen von Daten in ssrs-Tabelle in der Abfrage

enter image description here

Wie kann ich diese Daten in meiner Anfrage in SSRS hinzuzufügen. Ich habe keine Möglichkeit etwas in der Datenbank zu ändern.

 | P1|P2 |P3 |P4 |P5 |P6 |P7 |P8 
Group A|84%|87%|81%|81%|79%|96%|86%|88% 
Group B|66%|22%|79%|64%|53%|94%|5% |23% 

Das Problem ist: Letzte Woche am Mittwoch hat die Datenbank die Daten nicht aus der Gruppe A und Gruppe B aufgezeichnet Und ich habe keine Möglichkeit, die fehlenden Daten in der Datenbank zu korrigieren/hinzufügen. Aus diesem Grund möchte ich diese fehlenden Daten in meine Abfrage einfügen und im Bericht anzeigen.

Meine Frage:

SELECT * 
    FROM (
    Select 

intervaldate as Datum 
,tsystem.Name as Name 
,team as group 
,SUM(GoodUnits) As Goods 
,SUM(TheoreticalUnits) As Units 
from tCount inner join tsystem ON tCount.systemid = tsystem.id 

where IntervalDate >= @StartDateTime AND IntervalDate <= @EndDateTime 
    group by intervaldate 
    ) c 
    inner join 
    (
    SELECT 
    sh.Date as Datum, 
    sc.Name as Name 
    FROM tHistory sh 
    INNER JOIN tSchedule sc ON (sc.ID = sh.ScheduleID) 
    WHERE Scheduled != 0 
    ) p ON p.Name = c.Name 

Als ich merkte, dass die Daten nicht aufgezeichnet wurde, habe ich aufgeschrieben, die Daten auf dem Papier.

+0

Nun befestigen .... wo sind die Daten? existiert es irgendwo? Müssen Sie vorhandene Daten transformieren oder müssen Sie Daten aus der Luft schaffen? Beides ist möglich, aber Sie müssen erklären, worüber Sie sprechen. –

+0

@ Nick.McDermaid: Ich habe meine Frage aktualisiert –

+0

1. Öffnen Sie SQL Server Management Studio; 2. Fügen Sie Ihre Abfrage ein und bestätigen Sie, dass sie funktioniert. 3.In einem anderen Fenster erzeugen Sie Ihre benötigten Daten mit dem Konstruktor 'VALUES' https://msdn.microsoft.com/en-us/library/dd776382.aspx; 4. Verwenden Sie "UNION ALL", um Ihre generierten Daten mit Ihrer ursprünglichen Abfrage zu verknüpfen. –

Antwort

0

Um manuelle Daten zu geposteten Abfrage hinzufügen, Sie UNION ALL und VALUES wie so verwenden können:

Zuerst Sie auf eigene korrekte ‚zusätzliche Daten‘ erhalten stellen Sie sicher. Versuchen Sie folgendes Beispiel:

SELECT Datum,Name,[Group],Goods,Units 
FROM (
VALUES 
(CAST('2015-01-01' AS DATE),'AName','A',10.32,20.76), 
(CAST('2015-01-01' AS DATE),'AName','B',12.72,16.15) 
) AS ExtraData(Datum,Name,[Group],Goods,Units); 

Ich mache viele Annahmen hier, wie Sie nicht genug Informationen in Ihrer Frage zur Verfügung gestellt haben.

Wie dem auch sei, ob das richtig ist, dann einfach Sie es zu Ihrem ursprünglichen Daten mit UNION ALL

SELECT Datum,Name,[Group],Goods,Units 
    FROM (
    Select 
intervaldate as Datum 
,tsystem.Name as Name 
,team as [Group] 
,SUM(GoodUnits) As Goods 
,SUM(TheoreticalUnits) As Units 
from tCount inner join tsystem ON tCount.systemid = tsystem.id 
where IntervalDate >= @StartDateTime AND IntervalDate <= @EndDateTime 
    group by intervaldate 
    ) c 
    inner join 
    (
    SELECT 
    sh.Date as Datum, 
    sc.Name as Name 
    FROM tHistory sh 
    INNER JOIN tSchedule sc ON (sc.ID = sh.ScheduleID) 
    WHERE Scheduled != 0 
    ) p ON p.Name = c.Name 
/* Original query ends. Now add more data */ 
UNION ALL 
SELECT Datum,Name,[Group],Goods,Units 
FROM (
VALUES 
(CAST('2015-01-01' AS DATE),'AName','A',10.32,20.76), 
(CAST('2015-01-01' AS DATE),'AName','B',12.72,16.15) 
) AS ExtraData(Datum,Name,[Group],Goods,Units); 
+0

Danke, das war sehr hilfreich –

Verwandte Themen