Toon posts:

Power Query if statement werkt niet zoals verwacht

Pagina: 1
Acties:

Vraag


  • Slaiter
  • Registratie: Juni 2001
  • Niet online
Mijn vraag

Ik heb een meerdere bestanden met verschillende kollomen en rijen (500.000+) die vanuit een map worden ingeladen in de query.

Een van de kollomen heeft alle cellen met maandnamen gevuld en een andere kolom (waarde) heeft zowel gevulde als lege cellen in totaal zijn er 12 kollomen.

Ik heb een extra kolom, waarbij ik als er in kolom (waarde) een lege cel staat en Nee wil hebben en als er wel een waarde staat een Ja.

Ik gebruik hiervoor de volgende formule in de query:
code:
1
if [waarde] <> "" then "Ja" else "Nee"


Dit werkt super van de maanden januari tot november. Als een cell waarde is (waarde) leeg is, dan komt er netjes een Nee te staan en anders een Ja. Vanaf november echter is alles Ja ook al is de cel in (waarde) leeg.

Relevante software en hardware die ik gebruik
Excel 365

Wat ik al gevonden of geprobeerd heb

De formule anders ingezet.
code:
1
if [waarde] = "" then "Nee" else "Ja"


Een extra kolom (notf) aangemaakt met alleen lege cellen en via een vergelijking

code:
1
if [waarde] = [notf] then "Nee" else "Ja"


Nagekeken of vanaf November er veranderingen staan in het hoofdbestand, dat is niet het geval en de cellen die leeg staan zijn ook echt leeg (geen spaties of dergelijks)

Geen van dit werkt en vanaf november blijft in de extra kolom alles op "Ja" staan.

Alle reacties


  • Razr
  • Registratie: September 2005
  • Niet online
Ik weet niet helemaal of het relevant is maar `NULL` (lege waarde) is niet gelijk aan een lege string "". Misschien kun je dat apart controleren/afvangen in je formule. Anders zou je nog moeten verifieeren of het echt een lege waarde is en niet een spatie of een of ander niet zichtbaar teken.

  • Slaiter
  • Registratie: Juni 2001
  • Niet online
Nog aan het stoeien.

In de cellen in (waarde) staan zinnen. In de regel heeft in het Nederlands een zin tenminste de letters e/a of o in zich.

Ik zou dus verwachten als ik daar iets mee doe met de "e" als test, dat het helpt.

code:
1
if Text.Contains([waarde],"e") then ""Ja else ""


of

code:
1
if Text.Contains([waarde],"e") then "ja" else null


Ook in dat geval werkt het zoals ik verwacht tot de maand november bereikt wordt, vanaf dat moment blijf ik "ja" als resultaat krijgen terwijl de cel dus (gecontroleerd) leeg is (in ieder geval geen "e" bevat).

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

De enige logische conclusie is dan dat de verwijzing iets anders controleert dan je verwacht. Of het gaat al eerder ergens anders mis.

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


  • Slaiter
  • Registratie: Juni 2001
  • Niet online
Maar wat dan vraag ik me af? Ik vraag me dan ook wel af hoe het de eerdere 300.000+ cellen wel juist pakt en daarna ineens niet meer..

[Voor 11% gewijzigd door Slaiter op 02-02-2022 16:01]


  • The Eagle
  • Registratie: Januari 2002
  • Laatst online: 22:58

The Eagle

I wear my sunglasses at night

NULL check is ook het eerste dat ik zou doen.
Probeer eens iets als dit: https://community.powerbi...function-isnull/m-p/12121

Ben geen powerquery deskundige, maar zo te zien zoek je naar iets als IsBlank :)

Al is het nieuws nog zo slecht, het wordt leuker als je het op zijn Brabants zegt :)


  • pagani
  • Registratie: Januari 2002
  • Niet online
Ook geen powerquery deskundige, maar ga je niet over de limiet van plusminus een miljoen resultaten heen?

[Voor 5% gewijzigd door pagani op 02-02-2022 16:38]


  • Slaiter
  • Registratie: Juni 2001
  • Niet online
Op basis van de 'NULL' tips verder gaan stoeien en situatie opgelost. Bedankt voor het sturen in de juiste richting.

Eerst via "Table.ReplaceValue" de lege cellen naar null laten omzetten.

Daarna de code
code:
1
if [waarde] = null then "Nee" else "Ja"

toegepast en nu werkt het allemaal zoals verwacht.
Pagina: 1


Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee