IMPORTANT:
this is not a Support Forum! Experienced users might answer from time to time questions posted here. If you need a professional and reliable answer, or if you want to report a bug, please contact Altova Support instead.

Big excel output, 2 hours of compiling time per 100 sku's Options · View
babyhuys
Posted: Sunday, July 19, 2015 2:12:02 PM
Rank: Newbie

Joined: 7/19/2015
Posts: 1
I am currently converting an XML master feed with about 6.000 products to an excel file to be imported in to a new website.


Inside the Infozuilfeed.xml there are two elements of importance:
- Products -> Product -> Attribute ID & Value. The attribute ID is the ID for e.g. Brand,colour,EAN etc. The value is Blue,White,Red etc (both are numeric)
- Outside the Products parent there is another value supplied in the XML file: Attributes -> Attribute ID and Value. The attribute ID from the Product child matches the ID and the Name of the ID is then Colour,EAN etc. Based on an Equal filter both ID's are being matched and if equal the Name (brand,colour) is being used as an output.


The goal is to use the value from the ID name in the matching columns name to the excel file. Every ID name has it's own column, this is because not every product is using the same Attributes ID name and values. This results in rather a large excel file.


KenmerkV3 custom function is used to compare all the possible ID names to see if they match the one being supplied within the child product.
The result will output either null or the value. I added a CSV with all the 260+ names to compare them with another Equal custom function based on filters.


EqualFilter

The above rather messy solution works perfectly and the output is matching what i am looking for.
The downside right now is that processing a trimmed master XML feed is still taking 2 hours to generate for only 100 products.

Is there a smarter way to compare the different values from a child element and then output it to the matching output column name within an excel file?

Any advise or suggestions are highly appreciated.
Ash
Posted: Monday, July 19, 2021 7:31:50 PM
Rank: Member

Joined: 8/21/2019
Posts: 10
Location: United Kingdom
Did you ever find a solution for this?? I'm attempting to do something very similar.

Much smaller files work perfectly fine, and it's fast... But as soon as you start matching 100's / 1000's of records, then we're talking 45 minutes to 1-2 hours.... I don't understand why?
that
Posted: Tuesday, July 20, 2021 4:06:07 PM
Rank: Advanced Member

Joined: 6/16/2006
Posts: 459
Location: AT
The best solution for such mappings is to put your lookup tables into a database (even SQLite will do) and use the SQL-WHERE component in the mapping to find the matching record(s).
Users browsing this topic
guest

Forum Jump
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.

Use of the Altova User Forum(s) is governed by the Altova Terms of Use.