This site uses different types of cookies, including analytics and functional cookies (its own and from other sites). To change your cookie settings or find out more, click here. If you continue browsing our website, you accept these cookies.
We have extended our Early Bird Tickets for Inspire 2023! Discounted pricing goes until February 24th. Save your spot!
Be sure to review our Idea Submission Guidelines for more information!
Submission GuidelinesHow about turning this;
SELECT *
FROM Employee
ORDER BY First_name ASC
into this automatically
and a more complex one
SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate FROM Orders INNER JOIN Customers ON Orders.CustomerID=Customers.CustomerID;
into this
basically it's a parser;
1) First check if it's a MS SQL, PL/SQL or T/SQL
2) Then figure out join relationships
3) Convert each subset SQL into function nodes
4) Convert function nodes to Alteryx yxmd (xml)
Creates the following for the first workflow
<?xml version="1.0"?> <AlteryxDocument yxmdVer="10.5"> <Nodes> <Node ToolID="1"> <GuiSettings Plugin="AlteryxBasePluginsGui.AlteryxSelect.AlteryxSelect"> <Position x="174" y="90" /> </GuiSettings> <Properties> <Configuration> <OrderChanged value="False" /> <SelectFields> <SelectField field="*Unknown" selected="True" /> </SelectFields> </Configuration> <Annotation DisplayMode="0"> <Name /> <DefaultAnnotationText /> <Left value="False" /> </Annotation> </Properties> <EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxSelect" /> </Node> <Node ToolID="2"> <GuiSettings Plugin="AlteryxBasePluginsGui.Sort.Sort"> <Position x="246" y="90" /> </GuiSettings> <Properties> <Configuration> <SortInfo locale="0"> <Field field="FIRST_NAME" order="Ascending" /> </SortInfo> </Configuration> <Annotation DisplayMode="0"> <Name /> <DefaultAnnotationText>FIRST_NAME - Ascending</DefaultAnnotationText> <Left value="False" /> </Annotation> </Properties> <EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxSort" /> </Node> <Node ToolID="4"> <GuiSettings Plugin="AlteryxBasePluginsGui.TextInput.TextInput"> <Position x="90" y="90" /> </GuiSettings> <Properties> <Configuration> <NumRows value="0" /> <Fields> <Field name="FIRST_NAME" /> </Fields> <Data /> </Configuration> <Annotation DisplayMode="0"> <Name /> <DefaultAnnotationText /> <Left value="False" /> </Annotation> </Properties> <EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxTextInput" /> </Node> <Node ToolID="13"> <GuiSettings Plugin="AlteryxBasePluginsGui.BrowseV2.BrowseV2"> <Position x="330" y="90" /> </GuiSettings> <Properties> <Configuration> <Layout> <View1> <Hints> <Table /> </Hints> </View1> </Layout> </Configuration> <Annotation DisplayMode="0"> <Name /> <DefaultAnnotationText /> <Left value="False" /> </Annotation> </Properties> <EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxBrowseV2" /> </Node> </Nodes> <Connections> <Connection> <Origin ToolID="1" Connection="Output" /> <Destination ToolID="2" Connection="Input" /> </Connection> <Connection> <Origin ToolID="2" Connection="Output" /> <Destination ToolID="13" Connection="Input" /> </Connection> <Connection> <Origin ToolID="4" Connection="Output" /> <Destination ToolID="1" Connection="Input" /> </Connection> </Connections> <Properties> <Memory default="True" /> <GlobalRecordLimit value="0" /> <TempFiles default="True" /> <Annotation on="True" includeToolName="False" /> <ConvErrorLimit value="10" /> <ConvErrorLimit_Stop value="False" /> <CancelOnError value="False" /> <DisableBrowse value="False" /> <EnablePerformanceProfiling value="False" /> <DisableAllOutput value="False" /> <ShowAllMacroMessages value="False" /> <ShowConnectionStatusIsOn value="True" /> <ShowConnectionStatusOnlyWhenRunning value="True" /> <ZoomLevel value="0" /> <LayoutType>Horizontal</LayoutType> <MetaInfo> <NameIsFileName value="True" /> <Name>New Workflow1</Name> <Description /> <RootToolName /> <ToolVersion /> <ToolInDb value="False" /> <CategoryName /> <SearchTags /> <Author /> <Company /> <Copyright /> <DescriptionLink actual="" displayed="" /> </MetaInfo> <Events> <Enabled value="True" /> </Events> </Properties> </AlteryxDocument>
and for the second example with joins...
<?xml version="1.0"?> <AlteryxDocument yxmdVer="10.5"> <Nodes> <Node ToolID="1"> <GuiSettings Plugin="AlteryxBasePluginsGui.AlteryxSelect.AlteryxSelect"> <Position x="126" y="54" /> </GuiSettings> <Properties> <Configuration> <OrderChanged value="False" /> <SelectFields> <SelectField field="*Unknown" selected="True" /> </SelectFields> </Configuration> <Annotation DisplayMode="0"> <Name /> <DefaultAnnotationText /> <Left value="False" /> </Annotation> </Properties> <EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxSelect" /> </Node> <Node ToolID="2"> <GuiSettings Plugin="AlteryxBasePluginsGui.TextInput.TextInput"> <Position x="54" y="54" /> </GuiSettings> <Properties> <Configuration> <NumRows value="0" /> <Fields> <Field name="CustomerID" /> <Field name="OrderID" /> <Field name="CustomerName" /> <Field name="OrderDate" /> </Fields> <Data /> </Configuration> <Annotation DisplayMode="0"> <Name /> <DefaultAnnotationText /> <Left value="False" /> </Annotation> </Properties> <EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxTextInput" /> </Node> <Node ToolID="3"> <GuiSettings Plugin="AlteryxBasePluginsGui.AlteryxSelect.AlteryxSelect"> <Position x="126" y="198" /> </GuiSettings> <Properties> <Configuration> <OrderChanged value="False" /> <SelectFields> <SelectField field="*Unknown" selected="True" /> </SelectFields> </Configuration> <Annotation DisplayMode="0"> <Name /> <DefaultAnnotationText /> <Left value="False" /> </Annotation> </Properties> <EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxSelect" /> </Node> <Node ToolID="4"> <GuiSettings Plugin="AlteryxBasePluginsGui.TextInput.TextInput"> <Position x="54" y="198" /> </GuiSettings> <Properties> <Configuration> <NumRows value="0" /> <Fields> <Field name="CustomerID" /> </Fields> <Data /> </Configuration> <Annotation DisplayMode="0"> <Name /> <DefaultAnnotationText /> <Left value="False" /> </Annotation> </Properties> <EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxTextInput" /> </Node> <Node ToolID="5"> <GuiSettings Plugin="AlteryxBasePluginsGui.Join.Join"> <Position x="222" y="126" /> </GuiSettings> <Properties> <Configuration joinByRecordPos="False"> <JoinInfo connection="Left"> <Field field="CustomerID" /> </JoinInfo> <JoinInfo connection="Right"> <Field field="CustomerID" /> </JoinInfo> <SelectConfiguration> <Configuration outputConnection="Join"> <OrderChanged value="False" /> <SelectFields> <SelectField field="Right_CustomerID" selected="True" rename="Right_CustomerID" /> <SelectField field="*Unknown" selected="True" /> </SelectFields> </Configuration> </SelectConfiguration> </Configuration> <Annotation DisplayMode="0"> <Name /> <DefaultAnnotationText /> <Left value="False" /> </Annotation> </Properties> <EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxJoin" /> </Node> <Node ToolID="6"> <GuiSettings Plugin="AlteryxBasePluginsGui.BrowseV2.BrowseV2"> <Position x="294" y="126" /> </GuiSettings> <Properties> <Configuration> <Layout> <View1> <Hints> <Table /> </Hints> </View1> </Layout> </Configuration> <Annotation DisplayMode="0"> <Name /> <DefaultAnnotationText /> <Left value="False" /> </Annotation> </Properties> <EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxBrowseV2" /> </Node> </Nodes> <Connections> <Connection> <Origin ToolID="1" Connection="Output" /> <Destination ToolID="5" Connection="Left" /> </Connection> <Connection> <Origin ToolID="3" Connection="Output" /> <Destination ToolID="5" Connection="Right" /> </Connection> <Connection> <Origin ToolID="2" Connection="Output" /> <Destination ToolID="1" Connection="Input" /> </Connection> <Connection> <Origin ToolID="4" Connection="Output" /> <Destination ToolID="3" Connection="Input" /> </Connection> <Connection> <Origin ToolID="5" Connection="Join" /> <Destination ToolID="6" Connection="Input" /> </Connection> </Connections> <Properties> <Memory default="True" /> <GlobalRecordLimit value="0" /> <TempFiles default="True" /> <Annotation on="True" includeToolName="False" /> <ConvErrorLimit value="10" /> <ConvErrorLimit_Stop value="False" /> <CancelOnError value="False" /> <DisableBrowse value="False" /> <EnablePerformanceProfiling value="False" /> <DisableAllOutput value="False" /> <ShowAllMacroMessages value="False" /> <ShowConnectionStatusIsOn value="True" /> <ShowConnectionStatusOnlyWhenRunning value="True" /> <ZoomLevel value="0" /> <LayoutType>Horizontal</LayoutType> <MetaInfo> <NameIsFileName value="True" /> <Name>New Workflow1</Name> <Description /> <RootToolName /> <ToolVersion /> <ToolInDb value="False" /> <CategoryName /> <SearchTags /> <Author /> <Company /> <Copyright /> <DescriptionLink actual="" displayed="" /> </MetaInfo> <Events> <Enabled value="True" /> </Events> </Properties> </AlteryxDocument>
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.