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.