13.11.2024, 14:11 (Dieser Beitrag wurde zuletzt bearbeitet: 13.11.2024, 14:11 von Driver.)
Hallo zusammen, ich hoffe, es geht euch allen gut! Ich habe eine kleine Herausforderung mit einer Excel-Datei und hoffe auf eure Unterstützung. In der angehängten Datei seht ihr links Daten auf Wochenbasis (Original), die ich gerne transponiert in eine tägliche Darstellung (Umgewandelt) übertragen möchte. Das, was ihr seht, ist nur ein Auszug. Am liebsten wäre es mir, wenn Zeilen, in denen die Werte für die Tage auf 0 sind, komplett weggelassen werden könnten – wie es in der rechten Seite (Eventuell besser) der Datei bereits beispielhaft dargestellt ist. Falls jemand einen guten Ansatz oder eine Idee hat, wäre ich sehr dankbar! Viele Grüße und danke schon jetzt für eure Hilfe! 😊
13.11.2024, 15:22 (Dieser Beitrag wurde zuletzt bearbeitet: 13.11.2024, 15:23 von Ralf A.)
Hi,
anbei eine Lösung via PQ. Die Spalte Genehmigerliste hab ich mir erspart. Ist ja mit Benutzer identisch.
Der sicherste Ansatz für einen Irrtum ist der Glaube, alles im Griff zu haben. Nur, weil ich den Recorder bedienen kann, macht mich das noch lange nicht zum Musiker.
Ciao, Ralf
Folgende(r) 2 Nutzer sagen Danke an Ralf A für diesen Beitrag:2 Nutzer sagen Danke an Ralf A für diesen Beitrag 28 • Jockel, Driver
mit Table.UnPivot() erzeugtst Du überflüssige Records (Datenzeilen) mit den '0'-Werten, die im nächsten Schritt rausgefiltert werden müssen. Das kann man verhindern, indem vorher alle '0'-Werte gegen 'null' ausgetauscht werden, dann filtert sie der Table.Umpivot-Schritt selber raus. Hier mal 1 etwas anderer Ansatz, den ich mir bei Goodly abgeschaut habe. Interessant dabei ist, wie man auf die Spalten indirekt zugreifen kann und so den eigentlichen PQ-Schritt nicht verändern muß, sondern nur den Variablenwert von 'tag' austauschen muß: statt: #"Gefilterte Zeilen" = Table.SelectRows(#"Andere entfernte Spalten", each [Montag] <> 0), so: tag = "Montag", #"Gefilterte Zeilen" = Table.SelectRows(#"Andere entfernte Spalten", each (Record.Field(_, tag) <> 0)),
das ist mir bekannt und hätte ich normalerweise auch berücksichtigt. Aber wegen des Hinweises: "... in der auch das Datum bestimmt wird." habe ich dies hier nicht angewendet. Denn so kann ich mit dem in die gruppierten Daten über das einfügen eines, mit 0 beginnenden, Indexes, sehr einfach aus dem Datum "Woche beginnt am", das tatsächliche Datum bestimmen. Denn dies ist in der händisch erzeugten Musterlösung auch enthalten, auch wenn in dieser der Spaltentitel nicht angepasst wurde. Dieses Detail wurde wohl von Ralf und dir übersehen.
14.11.2024, 10:16 (Dieser Beitrag wurde zuletzt bearbeitet: 14.11.2024, 10:16 von Ralf A.)
(14.11.2024, 08:13)ws-53 schrieb: ... Aber wegen des Hinweises: "... in der auch das Datum bestimmt wird." ...Dieses Detail wurde wohl von Ralf und dir übersehen.
...stimmt. War mir gar nicht aufgefallen....
...aber wo Du "... in der auch das Datum bestimmt wird." gelesen haben willst, hab ich immer noch nicht entdeckt...
Der sicherste Ansatz für einen Irrtum ist der Glaube, alles im Griff zu haben. Nur, weil ich den Recorder bedienen kann, macht mich das noch lange nicht zum Musiker.
Das hat er auch nicht geschrieben, sondern nur in seine Musterlösung realisiert, denn da wird zu den transponierten Tagen zum jetzt falschen Spaltentitel "Woche beginnt mit", das jeweilige Datum gezeigt.