Icon

Activity-Inputs filter combinations

There has been no title set for this workflow's metadata.

Process a list of records and determine whether to keep or remove rows based on if they sum to the required total

RETAINED Do some sanity tests. The outputs should be within a fraction of the requiredtotals. REMOVED ROWS I've left this in to gauge how this compares to the original "actions",but these aren't used by subsequent processing Actions - "good" or keep"remove" - input should not be included in results"idk, bro" - illustrative, undetermined action Combined Data Set with "outcome"of "delete" or "keep" Use Interactive view toselect rows to process, orSelect All. This allows easier tracking down of errors andchecking of results for a specific activity The key component that makes the wholething possible without resorting to reallycomplicated and poorly performing loopsof nodes query resultsafter group bysand joinscalculate diffdecide "action"rank all theitems for anactivity toprovide a "column number"to be used in the pivotprovide a uniquenumber foreach rowtabulatefor each activityThis doesn't technically have tobe in a loop, but by using a loop it gives a better ideaof progress than having the component process allrows in one goThe loop means it processes 200rows at a time. This keeps python memoryfootprint down and maintainsvisual progress queues.This number can be manuallyadjusted up or downuntil you get thebest overall performancecreate a column namethat works withthe python scriptsplit the tuplesfor combinationsout into individual rowsthis will then identifyfor each key, keeponly the combinationwith the largest numberof columns includedjoin back on the column name and activity top port: keepmiddle port: discardlower port: should be emptyThis is the output data settest the totalsTop port: exactLower port: differencesround thedifferenceto 3 decimal placesselect a subsetof rows ifrequired, for testingloop only through chosen rowsNode 1038Python Componentfor doing thecombination matchingstore original RowIDrecover original rowIDrecover original rowIDThis is the deletions data setconcatenate keepand deleteif requiredThis should have same numberof rows as original datasetkeepdeleteCombined Data Setsortedmake key comparableagainas python changed itsdatatype Table Creator Math Formula Column Expressions Rank Counter Generation Pivot Chunk Loop Start Loop End String Manipulation Ungroup DuplicateRow Filter Joiner Sorter GroupBy Rule-basedRow Splitter Math Formula Table View(JavaScript) Row Filter Joiner Find Target SumColumn Combinations RowID RowID RowID Sorter Concatenate ConstantValue Column ConstantValue Column Sorter Double to Integer RETAINED Do some sanity tests. The outputs should be within a fraction of the requiredtotals. REMOVED ROWS I've left this in to gauge how this compares to the original "actions",but these aren't used by subsequent processing Actions - "good" or keep"remove" - input should not be included in results"idk, bro" - illustrative, undetermined action Combined Data Set with "outcome"of "delete" or "keep" Use Interactive view toselect rows to process, orSelect All. This allows easier tracking down of errors andchecking of results for a specific activity The key component that makes the wholething possible without resorting to reallycomplicated and poorly performing loopsof nodes query resultsafter group bysand joinscalculate diffdecide "action"rank all theitems for anactivity toprovide a "column number"to be used in the pivotprovide a uniquenumber foreach rowtabulatefor each activityThis doesn't technically have tobe in a loop, but by using a loop it gives a better ideaof progress than having the component process allrows in one goThe loop means it processes 200rows at a time. This keeps python memoryfootprint down and maintainsvisual progress queues.This number can be manuallyadjusted up or downuntil you get thebest overall performancecreate a column namethat works withthe python scriptsplit the tuplesfor combinationsout into individual rowsthis will then identifyfor each key, keeponly the combinationwith the largest numberof columns includedjoin back on the column name and activity top port: keepmiddle port: discardlower port: should be emptyThis is the output data settest the totalsTop port: exactLower port: differencesround thedifferenceto 3 decimal placesselect a subsetof rows ifrequired, for testingloop only through chosen rowsNode 1038Python Componentfor doing thecombination matchingstore original RowIDrecover original rowIDrecover original rowIDThis is the deletions data setconcatenate keepand deleteif requiredThis should have same numberof rows as original datasetkeepdeleteCombined Data Setsortedmake key comparableagainas python changed itsdatatype Table Creator Math Formula Column Expressions Rank Counter Generation Pivot Chunk Loop Start Loop End String Manipulation Ungroup DuplicateRow Filter Joiner Sorter GroupBy Rule-basedRow Splitter Math Formula Table View(JavaScript) Row Filter Joiner Find Target SumColumn Combinations RowID RowID RowID Sorter Concatenate ConstantValue Column ConstantValue Column Sorter Double to Integer

Nodes

Extensions

Links