• 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 voorwaarde in Power Query

Dit topic is als opgelost gemarkeerd
Status
Niet open voor verdere reacties.

moensk

Gebruiker
Lid geworden
23 jun 2013
Berichten
787
klein voorbeeldje gemaakt
als kolom "MOB" een waarde bevat dan moet er gecontroleerd worden of er een rij is waarbij kolom "Volgnr" 1 hoger is en kolom "MOB" moet leeg zijn.
de key is kolom "Opdracht"
 

Bijlagen

peter59,
ik gebruik die al voor andere controle en werkt goed
had ook al met groeperen geprobeerd maar krijg niet klaar naar volgend "volg" te zoeken en voorwaarde "mob" leeg
 
Zo, dat was even puzzelen.
De uitkomst voldoet hopelijk aan je verwachtingen.
Let op: de schoonheidsprijs verdient de oplossing in de bijlage absoluut niet.
Het geheel zal veel compacter kunnen, denk ik, maar het begin is er.
Wederom opgelost met de ingebakken functies in power query dus geen eigenhandig geschreven M-code.
 

Bijlagen

Hier heb je een compacte versie

PHP:
let
    Source = Excel.CurrentWorkbook(){[Name="TblControle"]}[Content],
    grp = Table.Group(Source, {"Opdracht"}, {{"tbl", each Table.AddColumn(_,"Controle", (r)=> if  _[MOB]{0} = null then "oke" else "n-oke")}}),
    result = Table.Combine(grp[tbl])
in
    result
 
JEC
ga hem deze avond testen
kan u even dit toelichten, dat begrijp ik niet "(_,"Controle", (r)=> if .."
 
Dat is hetzelfde als “each _”. Echter gebruik je dat al in de groepering. Als je dit ook bij de table.addcolumn zou gebruiken, wordt de huidige waarde van “_” telkens overschreven.

Het is eigenlijk een lus in een lus
 
JEC
heb dit getest op de file in dit topic en krijg op elke lijn "n-oke"
kan u dit even nakijken aub
 
Ik had het bestand van Peter gebruikt. Daar was de tabel al gesorteerd. Probeer dit eens

PHP:
let
    Source = Excel.CurrentWorkbook(){[Name="Tabel1"]}[Content],
    sort = Table.Buffer(Table.Sort(Source,{{"Opdracht", Order.Ascending}, {"Volgnr", Order.Descending}})),
    grp = Table.Group(sort, {"Opdracht"}, {{"tbl", each Table.AddColumn(_,"Controle", (r)=> if  _[MOB]{0} = null then "oke" else "n-oke")}}),
    result = Table.Combine(grp[tbl])
in
    result
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan