Zum Hauptinhalt springen

Ich habe einem Kunden letzte Woche dabei geholfen, die Gesamtarbeitszeit zwischen einem Startdatum / einer Startzeit und einem Enddatum / einer Endzeit unter Berücksichtigung von Arbeitstagen, Feiertagen und arbeitsfreien Wochenenden usw. zu berechnen. Wie so oft dachte ich, es wäre ein großartiger Blog-Beitrag, den ich mit meinen Lesern teilen könnte. Dies ist ein ziemlich kompliziertes Problem mit vielen beweglichen Teilen, daher habe ich beschlossen, Schritt für Schritt ein Video zu drehen, das zeigt, wie ich das Problem gelöst habe.

Wie viele Geschäftszeiten war mein Ticket geöffnet?

Ich habe einige Beispieldaten (siehe unten) erstellt, um das Problem zu erläutern und zu erläutern, wie ich es mit DAX gelöst habe.

Berechnen Sie die Busstunden 1

Die Beispieldaten zeigen einige Helpdesk-Support-Tickets mit einem offenen Datum / einer offenen Uhrzeit und einem Enddatum / einer Endzeit für jedes Ticket.

Folgendes berücksichtigen:

  • In der Spalte Verstrichene Stunden wird die Zeitdifferenz zwischen Öffnungs- und Endzeit angezeigt.
    • Beinhaltet arbeitsfreie Stunden
    • Beinhaltet Wochenenden und Feiertage
  • Oft muss die Antwortzeit eines Support-Tickets berechnet werden, indem nur die Geschäftszeiten zwischen Start- und Endzeit berücksichtigt werden, wobei Nicht-Geschäftszeiten, Wochenenden und Feiertage ignoriert werden.

Die Lösung

Dieses Problem kann mit DAX oder mit Power Query gelöst werden. Ich habe DAX gewählt, um in diesem Fall die Geschäftszeiten zu berechnen. Ich erkläre meinen Grund, warum ich im Video bin. Wie immer ziehe ich es vor, Probleme zu lösen, indem ich sie in Teile zerlege und die Ergebnisse bei jedem Schritt teste, bevor ich fortfahre. Ich habe Variablen in DAX verwendet, um jeden Schritt zu definieren und zu testen, bevor ich fortfuhr. Die Verwendung von Variablen bietet eine gute Lesbarkeit und ein gutes Verständnis komplexer DAX-Formeln.

igraal_de-de

Bearbeiten: Lesen Sie auch hier meinen Folgeartikel, um eine elegantere Lösung zu finden.

Die DAX-Formel

Hier ist die endgültige Formel, aber die Formel selbst spielt keine Rolle - Sie lernen DAX nicht, wenn Sie diese Formel lesen. Ihre Sie werden DAX lernen Ich schaue mir mein Video an, wie ich diese Formel geschrieben habe.

Busstunden geöffnet = VAR BusstundenStart = BERECHNEN (SELECTEDVALUE (Geschäftszeiten [Zeit]), Geschäftszeiten [Geschäftszeiten] = "Start") VAR BusstundenEnd = BERECHNEN (SELECTEDVALUE (Geschäftszeiten [Zeit]), Geschäftszeiten [Geschäftszeiten] = "Ende") VAR BusHoursPerDay = VALUE (BusHoursEnd - BusHoursStart) * 24 VAR ThisStartTime = HelpDeskTickets [Startzeit] VAR ThisEndTime = HelpDeskTickets [EndDesk] VAR StartDate = HelpDeskTickets [Startdatum] VAR EndDate (HelpDeskTicketsT) RELATED ('Kalender' [Arbeitstag]) = 0,0, ThisStartTime <= BusHoursStart, BusHoursPerDay, // bearbeitete Sequenz zur Behebung des Logikproblems ThisStartTime> = BusHoursEnd, 0, StartDate = EndDate && ThisEndTime <BusHoursEnd, round ((ThisEndTime- ThisStartTime) * 24,3), round ((BusHoursEnd-ThisStartTime) * 24,3)) VAR LastDayElapsedTime = SWITCH (TRUE (), LOOKUPVALUE ('Kalender' [Arbeitstag], 'Kalender' [Datum], Enddatum) = 0,0, ThisEndTime> = BusHoursEnd, BusHoursPerDay, // bearbeitete Sequenz zur Behebung des Logikproblems ThisEndTime <= BusHoursStart, 0, StartDate = EndDate, 0, round ((ThisEndTime - BusHoursStart) * 24,3)) VAR FullWorkDays = CALCULATE (SUMME ('Kalender' [Arbeitstag]), DATESBETWEEN ('Kalender' [Datum], StartDate + 1, EndDate-1)) VAR TotalHours = FirstDayElapsedTime + FullWorkDays * BusHoursPerDay + LastDayElapsedTime RETURN TotalHours

Hier ist das Video

Hier finden Sie die Beispieldatei und die Power BI-Arbeitsmappe

Beispiel für Geschäftszeitdaten
Berechnen Sie die PBIX-Datei der Geschäftszeiten

Lesen Sie unbedingt meinen Folgeartikel hier https://exceleratorbi.com.au/calculating-elapses-business-hours-using-dax-part-2/

Möchten Sie DAX von mir lernen?

Wenn Ihnen dieses Video und mein Unterrichtsstil gefallen, können Sie sich für einen meiner formalen Schulungskurse anmelden, in denen ich Ihnen beibringe, wie Sie bei DAX ausgezeichnet sein können. Ich habe folgende Möglichkeiten.

  1. Von Lehrern geleitete Live-Einführungskurse (von mir entworfen und von Jason unterrichtet).
    1. https://exceleratorbi.com.au/product-category/virtual-instructor-led-online-training/modules-1-2/
  2. Ein von mir geführter Live-DAX-Kurs für Fortgeschrittene / Fortgeschrittene, der von mir entworfen und unterrichtet wird
    1. https://exceleratorbi.com.au/product-category/virtual-instructor-led-online-training/module-3/
  3. Video-on-Demand-Versionen früherer Live-Kurse
    1. https://www.skillwave.training/courses/data-to-dashboard-using-power-bi/
    2. https://www.skillwave.training/courses/extracting-data-insights-with-power-bi-and-dax/
  4. Ein DAX-Semesterkurs, in dem Sie online aus meinen Buch- und Videoinhalten lernen und dann an einer wöchentlichen Live-Frage- und Antwortsitzung mit mir teilnehmen, um Ihnen beim Lernen zu helfen.
    1. https://www.skillwave.training/courses/supercharge-power-bi-online/

Error: Beachtung: Geschützter Inhalt.