Vorgänge kumuliert darstellen
#1
Liebe Excel-Freunde,

ich habe ein Problem, das ich nicht lösen kann. Und zwar wie folgt:
Im 1. Sheet gibt es eine Liste an Personen mit entsprechenden Vorgängen, die zeitlich beginnen (Spalte L) und zeitlich aufhören (Spalte N). Im 2. Sheet möchte ich pro Monat wissen, wie viele offene Vorgänge in den nächsten Monat mitgenommen werden, wenn in der Spalte N nichts drin steht.

Ein Beispiel: der Antrag von Max Mustermann ging im Februar ein und wird erst im April erledigt. Somit soll bei "Februar" und "März" jeweils eine 1 drin stehen. Erst im "April" soll dann eine 0 stehen, weil im 1. Sheet das Erledigt-Datum auf den 5.4. gesetzt ist.

Alle Einträge im 1. Sheet sollen im 2. Sheet als eine kumulierte Zahl dargestellt werden. Das heißt, im jeweiligen Monat steht nur eine Zahl drin für alle noch offenen Vorgänge.

Ich hoffe, ihr könnt mir folgen, wenn nicht, gerne nachfragen :)

Beste Grüße und danke schön.


Angehängte Dateien
.xlsx   Personal_Testdatei - Kopie - Kopie.xlsx (Größe: 12,07 KB / Downloads: 22)
Antworten Top
#2
Hallo

Max Mustermann kann im Arbeitsblatt "ZAH Einstellungen" in Spalte "A" öfter auftreten als einmal?

lg
theTroother
theTroother
mag auch vbasteleien.de
Antworten Top
#3
Hi, 

ja genau, es geht nicht um die Person selbst, sondern um den Vorgang dieser Person, wo es tatsächlich auch mehrere zur gleichen Zeit geben kann.

VG, luftfahrt
Antworten Top
#4
Ergebnis soll also so aussehen
       
Antworten Top
#5
" weil im 1. Sheet das Erledigt-Datum auf den 5.4. gesetzt ist " ?
Was wäre denn, wenn es erst am 30.4. erledigt worden wäre ???
Antworten Top
#6
@Warkings

von den Zahlen stimmt es, die Personen müssen/sollten in der Übersicht nicht stehen, es geht rein um die Anzahl.

@oee

Dann würde dieser Vorgang nirgends auftauchen. Nur die, die "nicht erledigt" mit in den nächsten Monat genommen werden.
Antworten Top
#7
Wie weit kennst Du Dich mit Powerquery und Powerpivot aus?

Das Ergebnis dieser Powerquery Abfrage ins Datenmodell (Sagt dir das etwas?) laden. Im Datenmodell einen Kalender hinzufügen und eine Beziehung zwischen den Datumsfeldern herstellen. Ein Measure Count:=DISTINCTCOUNT([Name]) anlegen, die richtige Sortierung auf den Monatsnamen anlegen und entsprechend die Pivottabelle einfügen

Code:
let
    Source = Excel.CurrentWorkbook(){[Name="tbl"]}[Content],
    chgType = Table.TransformColumnTypes(Source,{{"NAME, Vorname", type text}, {"I.", type any}, {"A.", type any}, {"Maßnahme", type any}, {"Status", type any}, {"Betreuer", type any}, {"von", type any}, {"bis", type any}, {"Eingang am", type any}, {"Vollständig am", type any}, {"z. U.", type any}, {"an x am", type date}, {"Bearb.-Status", type any}, {"erledigt am", type date}}),
    removeColumns = Table.SelectColumns(chgType,{"NAME, Vorname", "an x am", "erledigt am"}),
    renameColumns = Table.RenameColumns(removeColumns,{{"NAME, Vorname", "Name"}, {"an x am", "Start"}, {"erledigt am", "Ende"}}),
    addColumn = Table.AddColumn(renameColumns, "Dates", each if [Ende]=null then List.Dates([Start],Number.From(DateTime.LocalNow())-Number.From([Start]),#duration(1, 0, 0, 0)) else List.Dates([Start],Number.From(Date.StartOfMonth([Ende]))-Number.From([Start]),#duration(1, 0, 0, 0))),
    extendDates = Table.ExpandListColumn(addColumn, "Dates"),
    removeColumns02 = Table.RemoveColumns(extendDates,{"Start", "Ende"}),
    addMonthName = Table.AddColumn(removeColumns02, "Monatsname", each Date.MonthName([Dates]), type text),
    chgType02 = Table.TransformColumnTypes(addMonthName,{{"Dates", type date}})
in
    chgType02


Der folgende M-Code erzeugt das Ergebnis direkt, ohne Powerpivot. Damit verliert man IMHO aber Flexibilität bei der Darstellung
Code:
let
    Source = Excel.CurrentWorkbook(){[Name="tbl"]}[Content],
    chgType = Table.TransformColumnTypes(Source,{{"NAME, Vorname", type text}, {"I.", type any}, {"A.", type any}, {"Maßnahme", type any}, {"Status", type any}, {"Betreuer", type any}, {"von", type any}, {"bis", type any}, {"Eingang am", type any}, {"Vollständig am", type any}, {"z. U.", type any}, {"an x am", type date}, {"Bearb.-Status", type any}, {"erledigt am", type date}}),
    removeColumns = Table.SelectColumns(chgType,{"NAME, Vorname", "an x am", "erledigt am"}),
    renameColumns = Table.RenameColumns(removeColumns,{{"NAME, Vorname", "Name"}, {"an x am", "Start"}, {"erledigt am", "Ende"}}),
    addColumn = Table.AddColumn(renameColumns, "Dates", each if [Ende]=null then List.Dates([Start],Number.From(DateTime.LocalNow())-Number.From([Start]),#duration(1, 0, 0, 0)) else List.Dates([Start],Number.From(Date.StartOfMonth([Ende]))-Number.From([Start]),#duration(1, 0, 0, 0))),
    extendDates = Table.ExpandListColumn(addColumn, "Dates"),
    removeColumns02 = Table.RemoveColumns(extendDates,{"Start", "Ende"}),
    addMonthName = Table.AddColumn(removeColumns02, "Monatsname", each Date.MonthName([Dates]), type text),
    sortRows = Table.Sort(addMonthName,{{"Dates", Order.Ascending}}),
    chgType02 = Table.TransformColumnTypes(sortRows,{{"Dates", type date}}),
    removeColumns03 = Table.RemoveColumns(chgType02,{"Dates"}),
    groupRows = Table.Group(removeColumns03, {"Monatsname"}, {{"Liste", each _, type table [Name=nullable text, Monatsname=text]}}),
    addColumn02 = Table.AddColumn(groupRows, "Liste.1", each List.Distinct([Liste][Name])),
    addColumn03 = Table.AddColumn(addColumn02, "Anz", each List.Count([Liste.1])),
    removeColumns04 = Table.RemoveColumns(addColumn03,{"Liste", "Liste.1"}),
    pivotColumn = Table.Pivot(removeColumns04, List.Distinct(removeColumns04[Monatsname]), "Monatsname", "Anz", List.Sum)
in
    pivotColumn
Antworten Top
#8
Hi Warkings,

ich würde es etwas anders machen.


Angehängte Dateien
.xlsx   cef - Vorgänge kumuliert darstellen (PQ).xlsx (Größe: 29,14 KB / Downloads: 9)
Antworten Top
#9
Hallo

Wenn ich auch mein vergifteten Senf dazu abgeben darf sind bisher noch keine richtigen Lösungen zusehen hier, unter Annahme das ich es richtig verstanden habe.
Anbei meine PQ/Pivot Lösung.


Angehängte Dateien
.xlsx   Personal_Testdatei_.xlsx (Größe: 22,95 KB / Downloads: 3)
Viele Grüße
PIVPQ
Antworten Top
#10
Der OP muss wissen, was er benötigt

Mit meiner skizzierten Powerquery und Powerpivot-Lösung, erhält man auch die "Summe", die der der OP in seiner Beispieldatei nur als Überschrift genannt hat, ohne dort einen Wert eingetragen zu haben. Ich vermute, er meint die Anzahl der Vorgänge. Das erhält er dann in der Lösung, sofern er sie nachbauen kann, geschenkt
       

PS Und mehrere Jahre lassen sich auch darstellen
PPS 
Zitat: unter Annahme das ich es richtig verstanden habe.
Annahmen werden üblicherweise widerlegt, nur Behauptungen werden bewiesen und stimmen.
05 05 05
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste