• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

In powerquery/powerpivot van een kolom een rij maken - mogelijk?

  • Onderwerp starter Onderwerp starter BOA1
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

BOA1

Nieuwe gebruiker
Lid geworden
7 nov 2017
Berichten
3
Hallo

Is het mogelijk om in powerquery/powerpivot van een kolom een rij te maken?

In onderstaande tabel probeer ik duidelijk te maken wat ik bedoel. In SPSS kan ik dit doen maar ik zou het graag rechtstreeks in excel kunnen...

column to row - traffic accidents.PNG

Vriendelijke groeten
 
Ja, met Unpivot of Draaitabel opheffen.
Je hebt nog wel een uitdaging, want je wilt de unpivot doen per groep en niet op de hele kolom. Je moet dus eerst groeperen, met als aggregatie "alle rijen".
Hoe het daarna verder moet is de uitdaging.
 
Dit is gemakkelijk te realiseren wanneer je wat formules loslaat op je gecreëerde Power Query Tabel. Dus je maakt als het ware een andere tabel, gebaseerd op je PQ.
 
Oei, mijn antwoord in #2 is niet helemaal juist. Dit heeft niets met unpivot van doen.
Je moet wel eerst groeperen. Daarna per groep kolom Cars opsplitsen naar kolommen.
 
Ik verwacht functies als UNIEK en FILTER voor het simpel verkrijgen van die onderste tabel
 
Met een macrootje.

Code:
Sub hsv()
Dim sv, a, i As Long, j As Long, x As Long
sv = Cells(1).CurrentRegion
ReDim b(UBound(sv) + UBound(sv, 2) + 1)
  With CreateObject("scripting.dictionary")
        For i = 1 To UBound(sv)
            a = .Item(sv(i, 1))
             If IsEmpty(a) Then a = b
               For j = 0 To 5
                 a(j) = sv(i, j + 1)
               Next j
                 a(UBound(a)) = a(UBound(a)) + 1
                 a(a(UBound(a)) + 5) = sv(i, 7)
                 .Item(sv(i, 1)) = a
             If x < a(UBound(a)) Then x = a(UBound(a))
        Next
    Cells(1, 10).Resize(.Count, x + 6) = Application.Index(.items, 0)
  End With
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan