Skip to main content

I am using the NullAttributeMapper to set my null values as missing (reading from MSSQL spatial table). This is working, however only for a certain number of rows. The first time run, it changed the first 100 rows. Second time 200 rows, after a few more attempts top 2000 rows. It seems to be processing in 100 row chunks and stopping at random points?

 

The parameters are very simple;

Map: All Attributes

If attribute value is: Null Empty

Map to: Missing

 

That's it.

 

I have had no other issues of partial completion for any other transformers.

 

Thanks!

@jessica123456​  what version (and build) of FME are you using? does this change if you turn feature caching on or off?


@jessica123456​  what version (and build) of FME are you using? does this change if you turn feature caching on or off?

Hi Mark

Turned off caching, and it changed values from null to missing for the first 225 rows, then back to null. Further down the table it switches back to missing for all fields that were null, and then back again around 100 features later. So it seems pretty random with what gets set to missing or not. Everytime I run it it switches up which chunk of rows are set to missing or not.

I'm on FME Workbench 2019.1

 

I wrote a pythoncaller to effectively do the same thing which works, however when writing out the table to a GDB or SQL spatial table, it still includes the fields that are showing as entirely missing. My understanding was that these fields = all missing would not write out? Is there some sort of configuration I'm supposed to do to the writer? I've tried setting the writers attribute definition to automatic and dynamic.


@jessica123456​ Looks like you have several different interactions going on. Can you attach a sample of your data and your workspace? If the data is sensitive then you should probably file a case with your local FME supplier - depending on where you're located - and reference this post


@jessica123456​ Looks like you have several different interactions going on. Can you attach a sample of your data and your workspace? If the data is sensitive then you should probably file a case with your local FME supplier - depending on where you're located - and reference this post

So I think I was conflating issues. It appears that the null attribute mapper does work as it should, however if I scroll up and down to view the table in the visual preview, it switches to saying null (however is still treated as missing). Weird bug, but not affecting the output.

 

To test the issue with writing out features after passing through the null attribute mapper to GDB or SQL Spatial table, I wrote out to JSON, and saw that the fields that do entirely = missing are dropped off, which is exactly the behaviour I want. This does not happen when writing to GDB or SQL spatial tables though. Any idea why the GDB or SQL spatial writers hang onto the attributes regardless of whether they are all missing? I had set the attribute definition to automatic for both.


@jessica123456​ Geodb doesn't really have the concept o a <missing> attribute. So any attribute in FME with a <missing> tag will be converted to <null> in the Geodb. I've attached a simple example.


Reply