• 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.

Opgelost vervangen ipv toevoegen in power query editor

Dit topic is als opgelost gemarkeerd

moensk

Gebruiker
Lid geworden
23 jun 2013
Berichten
712
hoe kan ik een waarde in een kolom vervangen met een if then ipv een kolom toe te voegen.
in bijlage klein voorbeeld gemaakt waarbij een kolom wordt toegevoegd maar ik wil in principe geen kolom toevoegen.
gewenste actie in kolom [aankomstlossen]

if [Status] = "GELADEN" of "NIETSTELADEN" dan [aankomstladen] else [aankomstlossen]
 

Bijlagen

  • vervangen.xlsx
    19,2 KB · Weergaven: 3
Zo bvb

PHP:
= Table.ReplaceValue(
       #"Type gewijzigd1",
       each [status],
       each if [status] = "GELADEN" or [status] = "NIETSTELADEN" then [aankomstladen] else [aankomstlossen],
       Replacer.ReplaceValue,{"status"}
  )


Zelfde maar iets anders geschreven

PHP:
= Table.ReplaceValue(#"Type gewijzigd1",
        each [status] = "GELADEN" or [status] = "NIETSTELADEN",
        each {[aankomstladen], [aankomstlossen]} , (x,y,z)=> if y then z{0} else z{1},{"status"})
 
Laatst bewerkt:
ik gebruik bovenstaand script momenteel kolom per kolom, wat dus veel stappen zijn in Power Q.
in bijlage klein voorbeeldje wat ik zou willen "gewenst" tov "basis"
Het vullen bij "gewenst" is afhankelijk van Kolom B
kan dit in één script of moet dit kolom per kolom gebeuren ?
 

Bijlagen

  • hulp_replace.xlsx
    9,7 KB · Weergaven: 4
Met een paar aangepaste kolommen kan ik het gewenste resultaat verkrijgen.
 

Bijlagen

  • hulp_replace (AC).xlsx
    19,8 KB · Weergaven: 3
deze manier deed ik het nu ook
wou weten of het met 1 regel kon die alles gezamelijk doet
 
1x instellen en klaar toch. Maar zal vast ook wel samengevoegd kunnen worden tot 1 M-code...
 
Hier een optie

PHP:
let
    Source = Excel.CurrentWorkbook(){[Name="Tabel1"]}[Content],
    cols =  List.Distinct(List.Transform(Table.ColumnNames(Source), (x)=> try Text.Split(x,"_"){1} otherwise x )),
    addCol = Table.AddColumn(Source, "Custom", each let r = Record.FieldValues(_) in  if r{1} = "Laden" then List.FirstN(r,9) else List.FirstN(r,2) & List.Skip(r,9)),
    result = Table.FromRows(addCol[Custom],cols),
    types = Table.TransformColumnTypes(result, List.Zip({{"Van","Tot","Aankomst","Vertrek"},List.Repeat({type time},4)}))
in
    types
 
Laatst bewerkt:
Jec
voor "laden" werkt het
maar in de 2de rij geeft hij ook laden en hun waardes
daar zou het "lossen" moeten zijn
 
Dan zit er iets niet goed in je bron data. Hier gaat het wel goed.
 

Bijlagen

  • hulp_replace.xlsx
    19,2 KB · Weergaven: 4
Zet deze stap er eens tussen om de werking te zien. Als je iets niet kan volgen is het goed om het in stukken op te delen.

PHP:
addCol2 = Table.AddColumn(Source, "Custom2", each Record.FieldValues(_))
 
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan