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.