[Excel] power query Group by limiteren in paren van 2

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • ThunderNet
  • Registratie: Juni 2004
  • Laatst online: 11-09 12:48
Voor een schoolopdracht moet ik capaciteitsberekeningen in een fabriek doen. Nu heb ik het natuurlijk in mijn hoofd gehaald dat ik alle data in excel wil hebben, maar op zo'n manier dat alles doorberekend wordt, zonder dat ik daar handmatige tussenstappen in wil plaatsen.

Per "productielijn" kunnen een aantal producten "tegelijkertijd" over de lijn lopen, namelijk 2 producten van het zelfde type, en 2 verpakkingstypes.

Over 1 lijn kunnen bijvoorbeeld de volgende 4 producten "tegelijk" gebatcht worden:
Volle Melk 0,5L
Volle Melk 1L
Halfvolle Melk 0,5L
Halfvolle Melk 1L

Als ik een 3e verpakkingstype of 3e product van hetzelfde type (in dit geval melk) wil toevoegen, kan deze niet meer in de bovenstaande "job" geplaatst worden en moet er een nieuwe job aangemaakt worden.

Nu heb ik het groeperen al voor elkaar:
Afbeeldingslocatie: https://dl.dropboxusercontent.com/u/3260643/e6.PNG

In de kolom Volle_Batchtijd zit de SUM dus van de samengevoegde producten. En dat is dan ook de Job-duur die ik straks kan gebruiken voor het plannen van batches.

Nu is het zo dat er bij de vla's dus 3 producten gegroepeerd worden (ze hebben allemaal hetzelfde basisproduct, namelijk vla), ik wil echter dat hier maximaal 2 tegelijkertijd gegroepeerd worden, als er een derde is moet deze in een extra groep komen omdat ik immers maar 2 producten tegelijk in een job kan plaatsen.

Dit is het punt waar mijn query-kennis te ver weg is gevallen :'(

De huidige power-query van de tabel:
SQL:
1
2
3
4
5
6
7
8
9
10
11
12
let
    Source = Excel.CurrentWorkbook(){[Name="Table_ProductieAantallen"]}[Content],
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Product", type text}, {"Verpakkingstype", type number}, {"Groeifactor", Int64.Type}, {"Fluctuatiefactor", Int64.Type}, {"Base Eenheden/jaar", Int64.Type}, {"Budget Eenheden/ jaar", Int64.Type}, {"Budget Eenheden/ maand", type number}, {"Budget Eenheden/ week", type number}, {"Budget Eenheden/ dag", type number}, {"Liter/dag", type number}, {"Vulsnelheid Sec/L", type number}, {"Batchtijd", type number}, {"Batchtijd met vulrendement", type number}}),
    #"Merged Queries" = Table.NestedJoin(#"Changed Type",{"Verpakkingstype"},Verpakkingstype,{"Verpakkingstype [L]"},"NewColumn",JoinKind.LeftOuter),
    #"Expanded NewColumn" = Table.ExpandTableColumn(#"Merged Queries", "NewColumn", {"Verpakkingstype [L]"}, {"Verpakkingstype.Verpakkingstype [L]"}),
    #"Merged Queries1" = Table.NestedJoin(#"Expanded NewColumn",{"Product"},Table_Producten,{"Producten"},"NewColumn",JoinKind.LeftOuter),
    #"Expanded NewColumn1" = Table.ExpandTableColumn(#"Merged Queries1", "NewColumn", {"Producten", "Basisproduct", "Max. Opslagtijd (dagen)"}, {"Producten.Producten", "Producten.Basisproduct", "Producten.Max. Opslagtijd (dagen)"}),
    #"Merged Queries2" = Table.NestedJoin(#"Expanded NewColumn1",{"Producten.Basisproduct"},Basisproducten,{"Basisproducten"},"NewColumn",JoinKind.LeftOuter),
    #"Expanded NewColumn2" = Table.ExpandTableColumn(#"Merged Queries2", "NewColumn", {"Basisproducten"}, {"Basisproducten.Basisproducten"}),
    #"Grouped Rows" = Table.Group(#"Expanded NewColumn2", {"Basisproducten.Basisproducten", "Verpakkingstype", "Producten.Max. Opslagtijd (dagen)"}, {{"Volle_Batchtijd", each List.Sum([Batchtijd met vulrendement]), type number}, {"Producten", each _, type table}, {"Grouped_products", each Table.RowCount(Table.Distinct(_)), type number}})
in
    #"Grouped Rows"


Als ik die namelijk per 2 gegroepeerd heb, kan ik hetzelfde doen met de verpakkingstypes. :)

Wie kan mij in de juiste richting werpen?


Het excel-vraagstuk zelf heeft niks met de schoolopdracht te maken, het is immers prima met de hand uit te rekenen. Ik wil echter straks met de solver-functionaliteit in excel enkele optimalisaties kunnen berekenen.
:P Daarnaast is een beetje nerden best leuk op z'n tijd :9

Heb je liever vooraf, of achteraf, dat ik zeg dat ik geen flauw idee heb wat ik doe?

Alle reacties


Acties:
  • 0 Henk 'm!

  • ThunderNet
  • Registratie: Juni 2004
  • Laatst online: 11-09 12:48
Ik heb inmiddels het volgende overzicht gekregen in een PowerPivot:

Afbeeldingslocatie: https://dl.dropboxusercontent.com/u/3260643/e7.PNG

Wat ik nu dus wil bereiken is een automatische selectie van de vakken de ik nu (handmatig) gekleurd heb.

Die volgen de volgende regels:
code:
1
2
3
In 1 productsoort.
    Kies maximaal 2 verpakkingsformaten
    Kies maximaal 2 producten.


Dan wil ik weten welke producten en verpakkingsgrootten bij elkaar gegroepeerd worden.
Ik kan de som van die groep uitrekenen om de job-size te berekenen, dit samen met de houdbaarheid kan ik gebruiken als prioriteit-indicator (grootste job met laagste houdbaarheid eerst).

Heb je liever vooraf, of achteraf, dat ik zeg dat ik geen flauw idee heb wat ik doe?