{"title":"Table Structure Validator","nodeType":"Manipulator","id":"*PYO9539EU9baYWtO","factoryName":"org.knime.base.node.preproc.tablestructure.TableStructureValidatorNodeFactory","factoryId":"org.knime.base.node.preproc.tablestructure.TableStructureValidatorNodeFactory","path":["Manipulation","Column"],"owner":"knime","ownerAccountId":"account:team:b5f0848f-496d-4e6a-b869-fa3532248db7","description":"<p>This node ensures the input table meets the reference structure as defined in the node. You may use the current input table’s structure as a template during configuration. As a result, the output table’s structure is identical to the defined reference in all relevant aspects.</p>\n            \n            <p>You can choose whether columns and types need to match the reference structure exactly. Alternatively, columns can be renamed, inserted (filled with missing values), sorted, removed, as well as their type changed to align with the reference.</p>\n            \n            <p>If the validation succeeds, the validated and aligned table is output to the first port.</p>\n            \n            <p>If the validation fails, you can choose to output a list of all conflicts at the second port (the first port is inactive) or make the node fail.</p>\n            \n        \n        ","shortDescription":"Validates the input data according to a reference data table specification specified in the dialog of\nthe node.","keywords":[],"deprecated":false,"streamable":true,"tags":["Manipulation","Column","Streamable"],"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAD0SURBVHgBpVLLDcIwDI0hhSur9NYEKBkB7hxgAhiBDRgBIXFnhVKpoRIHGIER4Aj9hJhKUQ9tacs7JE6sZ/vZBpczRSrgyzNU+Skep/mr0Dk59Ku4ZOQ4gpKWcIdsqxQMaJ1MiDF3FgBd5QfB3mVsRRSZdns9O5MQyELSZMiNnUTJjVpwFIw9UyCbd6rs0PMeHVIT8nK5xVE80+Qdgc46DMM7/kPTKQghBp7ObD4wQBl+BUfUllCGbAq5ZrUKUGcKCJfzaxxFyy/Rsna+lHajRUIytehR7wDaM1NBIwnYVmgpAcs2mbWtr2YSUHPuaZsK/pnCBxcBdPMDmemYAAAAAElFTkSuQmCC","views":[],"inPorts":[{"objectClass":"org.knime.core.node.BufferedDataTable","color":"000000","dataType":"Table","optional":false,"name":"Table to validate","description":"Table to be validated."}],"outPorts":[{"objectClass":"org.knime.core.node.BufferedDataTable","color":"000000","dataType":"Table","optional":false,"name":"Validated table","description":"Table with corrected and validated structure. Depending on the validation result and the <i>If validation fails</i> settings, this port may be inactive."},{"objectClass":"org.knime.core.node.BufferedDataTable","color":"000000","dataType":"Table","optional":false,"name":"Validation Errors","description":"Table containing the column names that failed validation, an error, and an error description. Depending on the validation result and the <i>If validation fails</i> settings, this port may be inactive."}],"dynInPorts":[],"dynOutPorts":[],"additionalSiteInformation":{"url":"https://update.knime.com/analytics-platform/5.12","trusted":true,"enabledByDefault":true,"name":"KNIME Analytics Platform 5.12 Update Site","version":"5.12.0"},"dialog":[{"sectionName":"Options","fields":[{"name":"Reference structure","description":"Define the reference structure to validate against by specifying the expected columns and their types.\n<ul><li><b>Column name</b> : The name of the reference column to validate against.</li><li><b>Column type</b> : The type of the reference column to validate against.</li></ul>","optional":false},{"name":"Set input table as template","description":"Sets the input table specification as reference structure template.","optional":false},{"name":"If column name casing differs","description":"Controls what counts as a column name match between the input table and the reference table. If &#39;Rename&#39; is chosen, it still tries to treat the column name as a distinct value (find an exactly case-sensitive matching column name) first, and then falls back to renaming the column (case-insensitive matching).\n<ul><li><b>Treat as distinct</b> : Column names must match exactly</li><li><b>Rename</b> : Also columns whose name matches case insensitively will be considered to be validated.</li></ul>","optional":false},{"name":"If a column is not in the table","description":"Ensures that the configured columns exist in the input table. If case insensitive name matching is selected, the first matching column will satisfy this condition.\n<ul><li><b>Fail validation</b> : Fails the validation if columns don&#39;t exist</li><li><b>Ignore</b> : Ignore missing columns and do nothing</li><li><b>Insert with missing values and move to end</b> : Inserts missing columns at the end of the table and fills them with missing values</li></ul>","optional":false},{"name":"If there is an additional column in the table","description":"Specifies how to handle columns which are not included in the reference structure but present in the table to validate.\n<ul><li><b>Fail validation</b> : Additional columns will cause the validation to fail</li><li><b>Remove</b> : Additional columns will be removed</li><li><b>Move to end</b> : Additional columns will be moved to the end of the table</li></ul>","optional":false},{"name":"If data type does not match","description":"Ensures correct data type for the columns.\n<ul><li><b>Fail validation</b> : Fails the validation if reference data type is not a super type of the data type to validate</li><li><b>Ignore</b> : Ignores data type mismatches and do nothing</li><li><b>Try to convert</b> : Attempts conversion and fails the validation if not possible</li></ul>","optional":false},{"name":"If validation fails","description":"Controls how validation faults should influence the workflow execution.\n<ul><li><b>Fail node</b> : Forces the node to fail if the validation fails, with detailed validation fault descriptions.</li><li><b>Deactivate first output port</b> : Never fails but deactivates first output port if the validation fails and outputs results at the second port.</li></ul>","optional":false}]}],"links":[],"kudos":[],"kudosCount":0,"bundleInformation":{"bundleVersion":"5.12.0.v202606261225","bundleName":"KNIME Base Nodes","bundleSymbolicName":"org.knime.base","bundleVendor":"KNIME AG, Zurich, Switzerland","featureSymbolicName":"org.knime.features.base","featureName":"KNIME Base nodes","featureVersion":"5.12.0.v202606261225","featureVendor":"KNIME AG, Zurich, Switzerland","extensionId":"*bjR3r1yWOznPIEXS"},"frequentSuccessors":[]}
