Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1828to1832
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Differenz in Tagen zwischen Datumsangabe

Differenz in Tagen zwischen Datumsangabe
30.04.2021 16:12:09
Raimund
Hi All
Ich möchte in meiner Pivot Tabelle die Differenz in Tagen zwischen mehreren Datumsangaben ermitteln abhängig von Kundennamen.
Ziel ist es den Unterschied zwischen Service Interval, welcher als Vorgabe gespeichert ist, und dem Service Datum zu ermitteln.
Ist es möglich das zu verwirklichen und vielleicht als berechnetes Feld in der Pivot Tabelle?
In der Tabelle habe ich folgende Felder:
customer_name
Service Interval
Service Date - davon mehrere.
https://www.herber.de/bbs/user/145882.xlsx
Vielen Dank im Voraus
Gruß
Raimund

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: warum hiezu Pivotaauswertung? ...
30.04.2021 17:06:39
neopa
Hallo Raimund,
... wenn ich Dein Anliegen richtig interpretiere, dann könnte folgende Formel in Sheet1!D2: =WENN(A1A2;"";B2-(C2-C1)) das angestrebte ergeben. Oder? Jedenfalls wird in Deiner Pivotauswertung die Quelldaten 1:1 wiedergegeben nur halt in ein andere Darstellungsform.
Gruß Werner
.. , - ...
AW: Differenz in Tagen zwischen Datumsangabe
30.04.2021 17:12:05
ChrisL
Hi
hier eine mögliche Lösung mittels Power-Query. Bei Bedarf kann man daraus auch noch eine Pivot machen. Die Berechnung müsste aber m.E. vorgängig erfolgen (als Formel oder per PQ).
https://www.herber.de/bbs/user/145884.xlsx
cu
Chris
Anzeige
AW: Differenz in Tagen zwischen Datumsangabe
30.04.2021 17:50:28
Raimund
Hi Chris
Vielen Dank für Deine Lösung.
Muss ich mir erst das anschauen und nachvollziehen, was Du dort gemacht hast. Mit PQ habe ich bis jetzt praktisch nichts zu tun gehabt.
Nochmals vielen Dank
Gruß
Raimund
AW: Differenz in Tagen zwischen Datumsangabe
30.04.2021 17:58:56
Raimund
Hi Chris
Vielen Dank für Deine Lösung.
Muss ich mir erst das anschauen und nachvollziehen, was Du dort gemacht hast. Mit PQ habe ich bis jetzt praktisch nichts zu tun gehabt.
Nochmals vielen Dank
Gruß
Raimund
Warum noch offen?
30.04.2021 18:55:05
Yal
Hallo Raimund,
klar brauchst Du die Zeit, die Vorschläge anzuschauen, aber der rote Ausrufezeichen locken die Excel-Junkies an.
Und ein Thread durchzugehen, um zu merken, dass Hilfe nicht mehr gebraucht wird, ist frustrierend.
Öffne den Thread wieder, wenn nach der Prüfung das Problem noch besteht.
Schönes Wochenende
& Grüße
Yal
Anzeige
AW: Warum noch offen?
30.04.2021 19:19:40
Raimund
Hi Yal.
Vielen Dank
Versuche gerade mit dem Vorschlag von Chris klar zu kommen.
Ich sehe es wird noch ein Kampf sein.
Schönes Wochenende
Gruß
Raimund
AW: die PQ-Lösung ...
30.04.2021 19:38:17
neopa
Hallo Raimund,
... ergibt hier das gleiche Ergebnis wie mein einfacher Formelvorschlag.
Ich bin sonst auch für Pivot- oder PQ-Lösungen. Aber in diesem spez. Fall würde ich die einfache Formellösung vorziehen.
Gruß Werner
.. , - ...
AW: die PQ-Lösung ...
30.04.2021 19:55:46
Raimund
Hi Werner
Vielen Dank für Deine Hilfe und Antwort.
Mit der Formel scheint es ganz gut zu funktionieren und sieht sehr gut aus.
Habe alle Duplikate in der Tabelle entfernt, so dass sich das Datum nicht ständig wiederholt.
Werde es morgen genauer untersuchen, ob alles so ist wie es sollte.
Wollte noch mit PQ es versuchen aber da komme ich nicht weiter. Mit der Funktion [Service Interval]&"-"&[Index] in Index 2 bekomme ich Error in der Tabelle.
Versuche ich morgen wieder. Vielleicht komme ich weiter.
Nochmals vielen Dank
Schönes Wochenende
Gruß
Raimund
Anzeige
AW: als PQ-Lösung ...
30.04.2021 20:07:42
neopa
Hallo Raimund,
... hätte ich eine etwas andere Lösung die auch ganz ohne Hilfssabfrage auskommt.
Nachfolgend vorläufig mal nur der M-Code. meiner Abfrage, die im Ergebnis auch meiner Formellösung entspriccht.

let
Quelle = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Geänderter Typ" = Table.TransformColumnTypes(Quelle,{{"customer_name", type text}, {"Service Interval", Int64.Type}, {"Service Date", type date}}),
#"Hinzugefügter Index" = Table.AddIndexColumn(#"Geänderter Typ", "Index", 0, 1, Int64.Type),
#"Hinzugefügter Index1" = Table.AddIndexColumn(#"Hinzugefügter Index", "Index.1", 1, 1, Int64.Type),
#"Zusammengeführte Abfragen" = Table.NestedJoin(#"Hinzugefügter Index1", {"Index.1"}, #"Hinzugefügter Index1", {"Index"}, "Hinzugefügter Index1", JoinKind.LeftOuter),
#"Erweiterte Hinzugefügter Index1" = Table.ExpandTableColumn(#"Zusammengeführte Abfragen", "Hinzugefügter Index1", {"customer_name", "Service Date"}, {"Hinzu_name", "Hinzu Date"}),
#"Hinzugefügte benutzerdefinierte Spalte" = Table.AddColumn(#"Erweiterte Hinzugefügter Index1", "Benutzerdefiniert", each if [customer_name]= [Hinzu_name] then [Hinzu Date]-[Service Date] else null),
#"Geänderter Typ1" = Table.TransformColumnTypes(#"Hinzugefügte benutzerdefinierte Spalte",{{"Benutzerdefiniert", Int64.Type}}),
#"Hinzugefügte benutzerdefinierte Spalte1" = Table.AddColumn(#"Geänderter Typ1", "Differenz Tage", each [Service Interval]-[Benutzerdefiniert]),
#"Entfernte Spalten" = Table.RemoveColumns(#"Hinzugefügte benutzerdefinierte Spalte1",{"Index", "Index.1", "Hinzu_name", "Hinzu Date", "Benutzerdefiniert"})
in
#"Entfernte Spalten"
Gruß Werner
.. , - ...
Anzeige
AW: als PQ-Lösung ...
30.04.2021 20:26:24
Raimund
Hi Werner.
Vielen Dank für Deine Hilfe.
Wie immer eine perfekte Lösung von Dir.
Es funktioniere alles auf Anhieb.
Werde mir morgen die Auswertung und Ergebnisse ausführlicher anschauen.
Nochmals vielen herzlichen Dank.
Schönes Wochenende
Gruß aus Ireland
Raimund
AW: gerne, schönes WE wünsch ich auch owT
01.05.2021 09:17:13
neopa
Gruß Werner
.. , - ...
AW: Differenz in Tagen zwischen Datumsangabe
03.05.2021 12:53:26
ChrisL
Hi
Meine Lösung ist letzten Freitag, kurz vor dem Wochenende, etwas holprig ausgefallen. Werner hat es deutlich schöner gelöst. Einen Schritt kann man noch einsparen, wenn man den Kundennamen als zweiten Key/Schlüssel für das Zusammenführen verwendet (die Wenn-Dann-Spalte wird dadurch überflüssig).
https://www.herber.de/bbs/user/145943.xlsx
Neben bei. Meine Motivation für PQ lag übrigens darin, dass sich das PQ-Ergebnis ohne Tabellenausgabe direkt ins Datenmodell laden lässt. Darauf kann man dann die Pivot-Tabelle aufbauen.
cu
Chris
Anzeige
AW: mir war/ist es so ...
03.05.2021 15:27:42
neopa
Hallo Chris,
... als ob ich den "Versatz" mit INDEX-0 und INDEX-1 doch erst von Dir gelernt habe :-)
Minst mit dem "einen Schritt" einsparen, mein if ... then ... else... Konstruktion, oder? Denn in meinen weiteren zusätzlichen Schritt ermittle ich die Differenz zwischen den "Service Interval" und der ermittelten Tagesdifferenz, wie es mE angestrebt ist.
Letzteres wollte ich am Freitag übrigens gleich in den vorangegangen Schritt in meine If... then einbauen. Dies z.B. so: if [customer_name]= [Hinzu_name] then [Service Interval]- ([Hinzu Date]-[Service Date]) else null , doch hat mir das PQ natürlich mit Error quittiert, was sicherlich an den verschiedenen Zahlentypen liegt. Ich wusste allerdings nicht, wie ich die notwendige Typänderung für ([Hinzu Date]-[Service Date]) in den Code einbinden konnte.
Kannst Du mir bitte den richtigen Syntax dafür aufzeigen?
Gruß Werner
.. , - ...
Anzeige
AW: mir war/ist es so ...
03.05.2021 16:13:09
ChrisL
Hi Werner
Ja ich war am Freitag nicht mehr ganz bei der Sache :)
Und ja ich meine das If-Then-Else. Wenn beide Keys verwendet werden, dann kommt bereits null raus und es muss nicht mehr weiter abgefragt werden.

#"Zusammengeführte Abfragen" = Table.NestedJoin(#"Hinzugefügter Index1",{"Index.1", "customer_name"},#"Hinzugefügter Index1",{"Index", "customer_name"},"Hinzugefügter Index1",JoinKind.LeftOuter),
Mit der Datumsdifferenz und Ausgabe als Ganzzahl hatte ich ebenfalls Probleme und es dann ebenfalls in zwei Schritten gelöst. Nochmal nachgeschaut, könnte man es wie folgt zusammenfassen:

#"Subtraktion des eingefügten Datums" = Table.AddColumn(#"Erweiterte Hinzugefügter Index1", "Subtraktion", each Duration.Days([Hinzu Date] - [Service Date]), Int64.Type)
Der Schritt lässt sich auch mittels Menüfunktion "Tage subtrahieren" automatisch erstellen, wenn die beiden Spalten vorher markiert wurden.
cu
Chris
Tage subtrahieren
Anzeige
AW: dankeschön ...
03.05.2021 17:46:54
neopa
Hallo Chris,
... nur die Funktion "Tage subtrahieren" gibt es in XL2016 leider noch nicht. Na ja, geht dann eben mit einem Schritt mehr.
Gruß Werner
.. , - ..
AW: dankeschön ...
03.05.2021 18:24:41
ChrisL
Hi Werner
Gerne...
Ich benutze selber ebenfalls XL2016. Zwar die Pro-Version, aber ich denke daran liegt es nicht. Vielleicht hast du die zwei Datumsspalten nicht markiert.
cu
Chris
AW: das ist richtig ...
04.05.2021 08:29:43
neopa
Hallo Chris,
... ich hatte gestern beim testen die Datumsspalten nicht markiert. Erst wenn man dies tut, wird die Funktion auch bei mir angeboten.
Danke für Deinen zusätzlichen Beitrag.
Gruß Werner
.. , - ...
Anzeige
AW: Differenz in Tagen zwischen Datumsangabe
03.05.2021 16:49:20
Raimund
Hi Chris.
Vielen Dank auch für Deine Lösung.
Ich werde es mir anschauen und testen.
Gruß
Raimund

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige