2017-03-23 2 views
0

Ich wurde gebeten, die Reaktionszeit für Vorfälle zu überprüfen. Leider ist das Tool, das wir verwenden, in diesem Bereich nicht hilfreich. Im Folgenden finden Sie einen Auszug der Daten für 2 Tickets:PowerPivot Rolling Total in Spalte

Incident_Id | Status   |Begin_Time  |End_Time   | RowTotal 
------------|------------------|------------------|------------------|-------- 
IM3415346 | Open    | 10/03/2017 11:20 | 10/03/2017 11:33 | 787 
IM3415346 | Work In Progress | 10/03/2017 11:33 | 10/03/2017 11:55 | 1325 
IM3415346 | Work In Progress | 10/03/2017 11:55 | 10/03/2017 13:20 | 5099 
IM3415346 | Work In Progress | 10/03/2017 13:20 | 10/03/2017 13:56 | 2133 
IM3415346 | Closed   | 10/03/2017 13:56 | 10/03/2017 13:56 | 0 
IM3415483 | Open   | 10/03/2017 12:30 | 10/03/2017 12:39 | 530 
IM3415483 | Work In Progress | 10/03/2017 12:39 | 10/03/2017 12:53 | 848 
IM3415483 | Work In Progress | 10/03/2017 12:53 | 10/03/2017 14:10 | 4579 
IM3415483 | Work In Progress | 10/03/2017 14:10 | 10/03/2017 14:30 | 1199 
IM3415483 | Work In Progress | 10/03/2017 14:30 | 10/03/2017 16:55 | 8700 
IM3415483 | Closed   | 10/03/2017 16:55 | 10/03/2017 16:55 | 0 

Das Tool sagt nur, dass ein Ticket aus SLA ist und dies dem Team zugeschrieben wird immer das Ticket zu schließen, auch wenn sie für die nicht die, die verantwortlich waren verzögern.

Idealer Ich versuche, neben dem rowtotal für jeden Vorfall eine laufende Gesamt Spalte zu erhalten:

RowTotal | RunningTotal | 
---------|--------------| 
787  | 786   | 
1325  | 2111   | 
5099  | 7210   | 
2133  | 9343   | 
0  | 9343   | 
530  | 530   | 
848  | 1377   | 
4579  | 5956   | 
1199  | 7155   | 
8700  | 15855  | 
0  | 15855  | 

Ich habe gesehen, wie kumulative Gesamt machen alle mal der Reihe nach für jeden Vorfall addieren ...

=CALCULATE(SUM(Query[TotalSeconds]),Query[Incident_Id]=EARLIER(Query[Incident_Id]),Query[TotalSeconds]>0) 

Aber ich kämpfe wirklich mit diesem laufenden Gesamtansatz. Gibt es irgendjemanden, der das schon einmal bemerkt haben könnte?

Antwort

0

Ich konnte TotalSeconds in den bereitgestellten Daten nicht sehen, also werde ich RowTotal stattdessen verwenden, um zu veranschaulichen. Fühlen Sie sich frei, es zu ändern, um zu Ihrem genauen Anwendungsfall zu adoptieren.

RunningTotal = 
CALCULATE(
    SUM(Query[RowTotal]), 
    FILTER(
     Query, 
     Query[Incident_Id] = EARLIER(Query[Incident_Id]) && 
     Query[Begin_Time] <= EARLIER(Query[Begin_Time]) 
    ) 
) 

Sie verpassen die FILTER Funktion für den Zeilenkontext richtig zu funktionieren. Sie müssen außerdem einen Filter für Begin_Time hinzufügen, damit nur die vorherige protokollierte Zeit, aber nicht alle Zeilen des Vorfalls addiert werden.

Abhängig von der Geschäftslogik müssen Sie möglicherweise Filter hinzufügen Status oder auch End_Time, aber das ist jenseits der Diskussion.

Ergebnis:

result

+0

Vielen Dank, perfekt :) – Jonbuoy

+0

@Jonbuoy Sie sind willkommen. Wenn meine Antwort Ihr Problem gelöst hat, markieren Sie es bitte als korrekte Antwort [https://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235] Schließen Sie die Frage positiv. –