﻿<?xml version="1.0" encoding="utf-8"?><XmlProjectInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Id="1102ff96-fab7-4b54-a4a2-2e9c1e4f3668" Name="Webinar202303english" Type="0" OutputPath="build\" DefaultPublishProfile="Default" Version="2.12.3497.0" NotReplaceMacroInPreview="false" DisableMacroExtensions="false" TargitDbVersion="Version_1_334"><FileSystemObjects><IStorageInfo AssemblyQualifiedName="TARGIT.InMemory.ETL.Studio.Configuration.Xml.XmlProjectModelInfo"><XmlProjectModelInfo FileName="Webinar202303english" BuildAction="Yes" Id="fe27f2a9-6315-4c26-ba78-fa0d275f1a0e" Created="2019-03-22T11:55:13.6072774+01:00" CreatedBy="MDBG\UZ4G" Edited="2023-03-17T12:49:28.5455942+01:00" EditedBy="TARGIT-INET\jesper_e" IsOpened="true" CubeName="Webinar202303english" PublishToServer="true" Is32BitExecutionMode="false" IsBaseScriptLocked="false" ExecuteOnScheduleOnly="false" IsStandard="false" RetryAttempts="0" RetryIntervalMins="0" RestartOnServiceFailure="true" RemoveDatabaseFromScheduler="false"><Instructions><IStorageInfo AssemblyQualifiedName="TARGIT.InMemory.ETL.Studio.Configuration.Xml.Instructions.XmlGroupInstructionInfo"><XmlGroupInstructionInfo Visibility="0" IsLocked="false" ToolSurfaceViewModelClass="TARGIT.InMemory.ETL.Studio.ViewModels.ToolSurfaces.GroupToolSurfaceViewModel" Name="Debug" Id="fbb4e829-95c7-4d11-bde7-0f81a341ff02" IsExpanded="true"><InnerInstructions><IStorageInfo AssemblyQualifiedName="TARGIT.InMemory.ETL.Studio.Configuration.Xml.Instructions.XmlScriptInstructionInfo"><XmlScriptInstructionInfo Visibility="0" IsLocked="false" ToolSurfaceViewModelClass="TARGIT.InMemory.ETL.Studio.ViewModels.ToolSurfaces.ScriptToolSurfaceViewModel" Name="DebugInfo" Id="bad3d013-57b4-409d-92d0-855e0cfb9266" Query="DECLARE @DebugInfo as INT&#xD;&#xA;&#xD;&#xA;/* DebugInfo: &#xD;&#xA;1 will keep temp,STAGE and WORK tables in final database. &#xD;&#xA;0 removes temp tables */&#xD;&#xA;SET @DebugInfo = 0" IsDisableMacro="false" /></IStorageInfo><IStorageInfo AssemblyQualifiedName="TARGIT.InMemory.ETL.Studio.Configuration.Xml.Instructions.XmlScriptInstructionInfo"><XmlScriptInstructionInfo Visibility="0" IsLocked="false" ToolSurfaceViewModelClass="TARGIT.InMemory.ETL.Studio.ViewModels.ToolSurfaces.ScriptToolSurfaceViewModel" Name="SET Culture" Id="427448c1-b262-4678-aa26-9ab16683a23b" Query="SET CULTURE 'da-dk'" IsDisableMacro="false" /></IStorageInfo></InnerInstructions></XmlGroupInstructionInfo></IStorageInfo><IStorageInfo AssemblyQualifiedName="TARGIT.InMemory.ETL.Studio.Configuration.Xml.Instructions.XmlGroupInstructionInfo"><XmlGroupInstructionInfo Visibility="0" IsLocked="false" ToolSurfaceViewModelClass="TARGIT.InMemory.ETL.Studio.ViewModels.ToolSurfaces.GroupToolSurfaceViewModel" Name="Load data" Id="ad9df14e-9b0a-4b37-ab5a-79e952e46161" IsExpanded="true"><InnerInstructions><IStorageInfo AssemblyQualifiedName="TARGIT.InMemory.ETL.Studio.Configuration.Xml.Instructions.XmlImportInstructionInfo"><XmlImportInstructionInfo Visibility="0" IsLocked="false" ToolSurfaceViewModelClass="TARGIT.InMemory.ETL.Studio.ViewModels.ToolSurfaces.ImportToolSurfaceViewModel" Name="STAGE_EXCEL_Sales" Id="56cef97d-3a4e-4b48-8021-77f18c81551c" DataSourceId="7fc3f5f7-4133-4441-ab2a-f97f2c04a3f8" DataSourceText="Excel - Sales" DataSourceQuery="SELECT * FROM [Sales]" DataSourceQueryType="1" IsDisableMacro="false" IsUncolumnized="false" UseDisk="false" /></IStorageInfo></InnerInstructions></XmlGroupInstructionInfo></IStorageInfo><IStorageInfo AssemblyQualifiedName="TARGIT.InMemory.ETL.Studio.Configuration.Xml.Instructions.XmlGroupInstructionInfo"><XmlGroupInstructionInfo Visibility="0" IsLocked="false" ToolSurfaceViewModelClass="TARGIT.InMemory.ETL.Studio.ViewModels.ToolSurfaces.GroupToolSurfaceViewModel" Name="WORK" Id="a0b61297-05a7-476c-96ad-9fc43fba38b3" IsExpanded="true"><InnerInstructions><IStorageInfo AssemblyQualifiedName="TARGIT.InMemory.ETL.Studio.Configuration.Xml.Instructions.XmlGroupInstructionInfo"><XmlGroupInstructionInfo Visibility="0" IsLocked="false" ToolSurfaceViewModelClass="TARGIT.InMemory.ETL.Studio.ViewModels.ToolSurfaces.GroupToolSurfaceViewModel" Name="WORK_EXCEL_Sales" Id="923e0d7c-afae-4923-9e4e-f3b49d2e7a51" IsExpanded="true"><InnerInstructions><IStorageInfo AssemblyQualifiedName="TARGIT.InMemory.ETL.Studio.Configuration.Xml.Instructions.XmlImportInstructionInfo"><XmlImportInstructionInfo Visibility="0" IsLocked="false" ToolSurfaceViewModelClass="TARGIT.InMemory.ETL.Studio.ViewModels.ToolSurfaces.ImportToolSurfaceViewModel" Name="WORK_EXCEL_Sales_001" Id="455122e8-65ae-4f15-9144-74d27814a7a6" DataSourceId="8d0931c9-4c61-4bc1-b02e-ce8cdbbe204b" DataSourceText="ME" DataSourceQuery="SELECT rowcounter(1) + 1 AS SK_ID,&#xD;&#xA;* FROM [STAGE_EXCEL_Sales]&#xD;&#xA;" DataSourceQueryType="1" IsDisableMacro="false" IsUncolumnized="false" UseDisk="false" /></IStorageInfo><IStorageInfo AssemblyQualifiedName="TARGIT.InMemory.ETL.Studio.Configuration.Xml.Instructions.XmlImportInstructionInfo"><XmlImportInstructionInfo Visibility="0" IsLocked="false" ToolSurfaceViewModelClass="TARGIT.InMemory.ETL.Studio.ViewModels.ToolSurfaces.ImportToolSurfaceViewModel" Name="WORK_EXCEL_Sales_002" Id="455122e8-65ae-4f15-9144-74d27814a7a6" DataSourceId="8d0931c9-4c61-4bc1-b02e-ce8cdbbe204b" DataSourceText="ME" DataSourceQuery="SELECT&#xD;&#xA;* FROM [WORK_EXCEL_Sales_001]&#xD;&#xA;WHERE SK_ID &gt; 2" DataSourceQueryType="1" IsDisableMacro="false" IsUncolumnized="false" UseDisk="false" /></IStorageInfo><IStorageInfo AssemblyQualifiedName="TARGIT.InMemory.ETL.Studio.Configuration.Xml.Instructions.XmlScriptInstructionInfo"><XmlScriptInstructionInfo Visibility="0" IsLocked="false" ToolSurfaceViewModelClass="TARGIT.InMemory.ETL.Studio.ViewModels.ToolSurfaces.ScriptToolSurfaceViewModel" Name="WORK_EXCEL_Sales_003 - Fill down loop" Id="ee16ab32-6450-4065-89ed-0d8f5b24d92c" Query="/* Fill loop */&#xD;&#xA;&#xD;&#xA;/* Create empty table */&#xD;&#xA;	IMPORT [WORK_EXCEL_Sales_003] = [ME].{SELECT * from [WORK_EXCEL_Sales_002]}&#xD;&#xA;&#xD;&#xA;	{DELETE FROM [WORK_EXCEL_Sales_003]} &#xD;&#xA;&#xD;&#xA;	DECOLUMNIZE [WORK_EXCEL_Sales_003]&#xD;&#xA;	&#xD;&#xA;DECLARE @OrderDayOfMonth as STRING&#xD;&#xA;DECLARE @OrderMonth as STRING&#xD;&#xA;DECLARE @OrderYear as STRING&#xD;&#xA;DECLARE @Country as STRING&#xD;&#xA;&#xD;&#xA;WHILE [WORK_EXCEL_Sales_002].EOF=false &#xD;&#xA;&#xD;&#xA;	IF LEN([WORK_EXCEL_Sales_002].[Order Day of Month]) &gt; 0 THEN&#xD;&#xA;		SET @OrderDayOfMonth = [WORK_EXCEL_Sales_002].[Order Day of Month]&#xD;&#xA;		Print 'OrderDayOfMonth: ' + @OrderDayOfMonth&#xD;&#xA;	END IF&#xD;&#xA;&#xD;&#xA;	IF LEN([WORK_EXCEL_Sales_002].[Order Month]) &gt; 0 THEN&#xD;&#xA;		SET @OrderMonth = [WORK_EXCEL_Sales_002].[Order Month]&#xD;&#xA;		Print 'OrderMonth: ' + @OrderMonth&#xD;&#xA;	END IF&#xD;&#xA;&#xD;&#xA;	IF LEN([WORK_EXCEL_Sales_002].[Order Year]) &gt; 0 THEN&#xD;&#xA;		SET @OrderYear = [WORK_EXCEL_Sales_002].[Order Year]&#xD;&#xA;		Print 'OrderYear: ' + @OrderYear&#xD;&#xA;	END IF&#xD;&#xA;&#xD;&#xA;	IF LEN([WORK_EXCEL_Sales_002].[Country]) &gt; 0 THEN&#xD;&#xA;		SET @Country = [WORK_EXCEL_Sales_002].[Country]&#xD;&#xA;		Print 'Country: ' + @Country&#xD;&#xA;	END IF&#xD;&#xA;&#xD;&#xA;	INSERT INTO [WORK_EXCEL_Sales_003] ([SK_ID],&#xD;&#xA;    [Order Day of Month],&#xD;&#xA;    [Order Month],&#xD;&#xA;    [Order Year],&#xD;&#xA;    [Country],&#xD;&#xA;    [Region],&#xD;&#xA;    [City],&#xD;&#xA;    [Contact Name],&#xD;&#xA;    [Contact                  Title],&#xD;&#xA;    [Customer ID],&#xD;&#xA;    [Customer Company],&#xD;&#xA;    [Phone],&#xD;&#xA;    [Address],&#xD;&#xA;    [Salesprice],&#xD;&#xA;    [Freight],&#xD;&#xA;    [Days Overdue],&#xD;&#xA;    [Discount]) VALUES&#xD;&#xA;&#xD;&#xA;	(&#xD;&#xA;	[WORK_EXCEL_Sales_002].[SK_ID],&#xD;&#xA;    @OrderDayOfMonth,&#xD;&#xA;    @OrderMonth,&#xD;&#xA;    @OrderYear,&#xD;&#xA;    @Country,&#xD;&#xA;    [WORK_EXCEL_Sales_002].[Region],&#xD;&#xA;    [WORK_EXCEL_Sales_002].[City],&#xD;&#xA;    [WORK_EXCEL_Sales_002].[Contact Name],&#xD;&#xA;    [WORK_EXCEL_Sales_002].[Contact                  Title],&#xD;&#xA;    [WORK_EXCEL_Sales_002].[Customer ID],&#xD;&#xA;    [WORK_EXCEL_Sales_002].[Customer Company],&#xD;&#xA;    [WORK_EXCEL_Sales_002].[Phone],&#xD;&#xA;    [WORK_EXCEL_Sales_002].[Address],&#xD;&#xA;    [WORK_EXCEL_Sales_002].[Salesprice],&#xD;&#xA;    [WORK_EXCEL_Sales_002].[Freight],&#xD;&#xA;    [WORK_EXCEL_Sales_002].[Days Overdue],&#xD;&#xA;    [WORK_EXCEL_Sales_002].[Discount]&#xD;&#xA;	)&#xD;&#xA;&#xD;&#xA;MOVENEXT [WORK_EXCEL_Sales_002]&#xD;&#xA;LOOP" IsDisableMacro="false" /></IStorageInfo><IStorageInfo AssemblyQualifiedName="TARGIT.InMemory.ETL.Studio.Configuration.Xml.Instructions.XmlImportInstructionInfo"><XmlImportInstructionInfo Visibility="0" IsLocked="false" ToolSurfaceViewModelClass="TARGIT.InMemory.ETL.Studio.ViewModels.ToolSurfaces.ImportToolSurfaceViewModel" Name="WORK_EXCEL_Sales_004" Id="31cbba48-dfff-473d-a5de-a87a821d555d" DataSourceId="8d0931c9-4c61-4bc1-b02e-ce8cdbbe204b" DataSourceText="ME" DataSourceQuery="/* Convert data types */&#xD;&#xA;&#xD;&#xA;SELECT&#xD;&#xA;    [SK_ID],&#xD;&#xA;    SAFECAST([Order Day of Month] AS INT) AS OrderDayOfMonth,&#xD;&#xA;    [Order Month] AS OrderMonth,&#xD;&#xA;        CASE WHEN [Order Month]='Jan' THEN 1&#xD;&#xA;     WHEN [Order Month]='Feb' THEN 2 &#xD;&#xA;     WHEN [Order Month]='Mar' THEN 3 &#xD;&#xA;     WHEN [Order Month]='Apr' THEN 4 &#xD;&#xA;     WHEN [Order Month]='May' THEN 5 &#xD;&#xA;     WHEN [Order Month]='Jun' THEN 6 &#xD;&#xA;     WHEN [Order Month]='Jul' THEN 7 &#xD;&#xA;     WHEN [Order Month]='Aug' THEN 8 &#xD;&#xA;     WHEN [Order Month]='Sep' THEN 9 &#xD;&#xA;     WHEN [Order Month]='Oct' THEN 10&#xD;&#xA;     WHEN [Order Month]='Nov' THEN 11&#xD;&#xA;     WHEN [Order Month]='Dec' THEN 12&#xD;&#xA;     ELSE 0&#xD;&#xA;     END AS OrderMonthNumber,&#xD;&#xA;    SAFECAST([Order Year] AS INT) AS OrderYear,&#xD;&#xA;    [Country],&#xD;&#xA;    [Region],&#xD;&#xA;    [City],&#xD;&#xA;    [Contact Name] AS ContactName,&#xD;&#xA;    [Contact                  Title] AS [ContactTitle],&#xD;&#xA;    SAFECAST([Customer ID] AS INT) AS [CustomerId],&#xD;&#xA;    [Customer Company] AS CustomerCompany,&#xD;&#xA;    [Phone],&#xD;&#xA;    [Address],&#xD;&#xA;    CAST_STR_AS_DOUBLE([Salesprice]) AS Salesprice,&#xD;&#xA;    CAST_STR_AS_DOUBLE([Freight]) AS [Freight],&#xD;&#xA;    SAFECAST([Days Overdue] AS INT) AS DaysOverdue,&#xD;&#xA;    CAST_STR_AS_DOUBLE([Discount]) AS Discount&#xD;&#xA;    &#xD;&#xA;FROM [WORK_EXCEL_Sales_003] &#xD;&#xA;" DataSourceQueryType="1" IsDisableMacro="false" IsUncolumnized="false" UseDisk="false" /></IStorageInfo><IStorageInfo AssemblyQualifiedName="TARGIT.InMemory.ETL.Studio.Configuration.Xml.Instructions.XmlImportInstructionInfo"><XmlImportInstructionInfo Visibility="0" IsLocked="false" ToolSurfaceViewModelClass="TARGIT.InMemory.ETL.Studio.ViewModels.ToolSurfaces.ImportToolSurfaceViewModel" Name="WORK_EXCEL_Sales" Id="31cbba48-dfff-473d-a5de-a87a821d555d" DataSourceId="8d0931c9-4c61-4bc1-b02e-ce8cdbbe204b" DataSourceText="ME" DataSourceQuery="/* Adding Date and ContactId */&#xD;&#xA;SELECT&#xD;&#xA;    [SK_ID],&#xD;&#xA;    DATESERIAL([OrderYear],[OrderMonthNumber],[OrderDayOfMonth]) AS OrderDate,&#xD;&#xA;    /*[OrderDayOfMonth],&#xD;&#xA;    [OrderMonth],&#xD;&#xA;    [OrderMonthNumber],&#xD;&#xA;    [OrderYear],*/&#xD;&#xA;    [Country],&#xD;&#xA;    /*[Region],*/&#xD;&#xA;    [City],&#xD;&#xA;    DENSE_RANK() OVER(ORDER BY CustomerId,ContactName) AS SK_ContactId,&#xD;&#xA;    &#xD;&#xA;    /* CustomerId + '-' + DENSE_RANK() OVER(Partition BY CustomerId ORDER BY ContactName) AS SK_ContactId, */&#xD;&#xA;    [ContactName],&#xD;&#xA;    [ContactTitle],&#xD;&#xA;    [CustomerId],&#xD;&#xA;    [CustomerCompany],&#xD;&#xA;    [Phone],&#xD;&#xA;    [Address],&#xD;&#xA;    [Salesprice],&#xD;&#xA;    [Freight],&#xD;&#xA;    ISNULL([DaysOverdue],0) AS DaysOverdue,&#xD;&#xA;    [Discount]&#xD;&#xA;FROM [WORK_EXCEL_Sales_004] &#xD;&#xA;&#xD;&#xA;" DataSourceQueryType="1" IsDisableMacro="false" IsUncolumnized="false" UseDisk="false" /></IStorageInfo></InnerInstructions></XmlGroupInstructionInfo></IStorageInfo></InnerInstructions></XmlGroupInstructionInfo></IStorageInfo><IStorageInfo AssemblyQualifiedName="TARGIT.InMemory.ETL.Studio.Configuration.Xml.Instructions.XmlGroupInstructionInfo"><XmlGroupInstructionInfo Visibility="0" IsLocked="false" ToolSurfaceViewModelClass="TARGIT.InMemory.ETL.Studio.ViewModels.ToolSurfaces.GroupToolSurfaceViewModel" Name="Populate Dimensions" Id="37ce5169-894f-4881-a52c-2f156e6795bb" IsExpanded="true"><InnerInstructions><IStorageInfo AssemblyQualifiedName="TARGIT.InMemory.ETL.Studio.Configuration.Xml.Instructions.XmlImportInstructionInfo"><XmlImportInstructionInfo Visibility="0" IsLocked="false" ToolSurfaceViewModelClass="TARGIT.InMemory.ETL.Studio.ViewModels.ToolSurfaces.ImportToolSurfaceViewModel" Name="DIM_OverdueBucket" Id="6a644a2d-7f1b-4bf9-a34a-c828a6cdb51b" DataSourceId="8d0931c9-4c61-4bc1-b02e-ce8cdbbe204b" DataSourceText="ME" DataSourceQuery="SELECT&#xD;&#xA;DISTINCT &#xD;&#xA;    [DaysOverdue],&#xD;&#xA;    CASE WHEN [DaysOverdue] &gt; -1 THEN 'Not overdue'&#xD;&#xA;    WHEN [DaysOverdue] &gt; - 8 and [DaysOverdue] &lt; -0 THEN '1 week overdue'&#xD;&#xA;    WHEN [DaysOverdue] &gt; - 15 and [DaysOverdue] &lt; -7 THEN '2 weeks overdue'&#xD;&#xA;    WHEN [DaysOverdue] &lt; - 14  THEN 'More than two weeks overdue'&#xD;&#xA;    ELSE 'Not overdue' &#xD;&#xA;    END AS OverdueStatus&#xD;&#xA;FROM [WORK_EXCEL_Sales]&#xD;&#xA;" DataSourceQueryType="1" IsDisableMacro="false" IsUncolumnized="false" UseDisk="false" /></IStorageInfo><IStorageInfo AssemblyQualifiedName="TARGIT.InMemory.ETL.Studio.Configuration.Xml.Instructions.XmlImportInstructionInfo"><XmlImportInstructionInfo Visibility="0" IsLocked="false" ToolSurfaceViewModelClass="TARGIT.InMemory.ETL.Studio.ViewModels.ToolSurfaces.ImportToolSurfaceViewModel" Name="DIM_CustomerContact" Id="6a644a2d-7f1b-4bf9-a34a-c828a6cdb51b" DataSourceId="8d0931c9-4c61-4bc1-b02e-ce8cdbbe204b" DataSourceText="ME" DataSourceQuery="SELECT DISTINCT&#xD;&#xA;    [SK_ContactId],&#xD;&#xA;    [ContactName],&#xD;&#xA;    [ContactTitle]&#xD;&#xA;FROM [WORK_EXCEL_Sales]&#xD;&#xA;" DataSourceQueryType="1" IsDisableMacro="false" IsUncolumnized="false" UseDisk="false" /></IStorageInfo><IStorageInfo AssemblyQualifiedName="TARGIT.InMemory.ETL.Studio.Configuration.Xml.Instructions.XmlImportInstructionInfo"><XmlImportInstructionInfo Visibility="0" IsLocked="false" ToolSurfaceViewModelClass="TARGIT.InMemory.ETL.Studio.ViewModels.ToolSurfaces.ImportToolSurfaceViewModel" Name="DIM_Customer" Id="6a644a2d-7f1b-4bf9-a34a-c828a6cdb51b" DataSourceId="8d0931c9-4c61-4bc1-b02e-ce8cdbbe204b" DataSourceText="ME" DataSourceQuery="SELECT DISTINCT &#xD;&#xA;    [CustomerId],&#xD;&#xA;    [Country],&#xD;&#xA;    [City],&#xD;&#xA;    [CustomerCompany],&#xD;&#xA;    [Phone],&#xD;&#xA;    [Address]&#xD;&#xA;FROM [WORK_EXCEL_Sales]" DataSourceQueryType="1" IsDisableMacro="false" IsUncolumnized="false" UseDisk="false" /></IStorageInfo></InnerInstructions></XmlGroupInstructionInfo></IStorageInfo><IStorageInfo AssemblyQualifiedName="TARGIT.InMemory.ETL.Studio.Configuration.Xml.Instructions.XmlGroupInstructionInfo"><XmlGroupInstructionInfo Visibility="0" IsLocked="false" ToolSurfaceViewModelClass="TARGIT.InMemory.ETL.Studio.ViewModels.ToolSurfaces.GroupToolSurfaceViewModel" Name="Populate Facts" Id="80196813-97b5-4783-a420-39388aad3237" IsExpanded="true"><InnerInstructions><IStorageInfo AssemblyQualifiedName="TARGIT.InMemory.ETL.Studio.Configuration.Xml.Instructions.XmlImportInstructionInfo"><XmlImportInstructionInfo Visibility="0" IsLocked="false" ToolSurfaceViewModelClass="TARGIT.InMemory.ETL.Studio.ViewModels.ToolSurfaces.ImportToolSurfaceViewModel" Name="FACT_Sales" Id="6caf7605-0be6-45ee-9c36-5f50e25d0ecb" DataSourceId="8d0931c9-4c61-4bc1-b02e-ce8cdbbe204b" DataSourceText="ME" DataSourceQuery="SELECT&#xD;&#xA;    [SK_ID],&#xD;&#xA;    [OrderDate],&#xD;&#xA; 	[SK_ContactId],&#xD;&#xA; 	[CustomerId],&#xD;&#xA;    [Salesprice],&#xD;&#xA;    [Freight],&#xD;&#xA;    [DaysOverdue],&#xD;&#xA;    [Discount]&#xD;&#xA;FROM [WORK_EXCEL_Sales]" DataSourceQueryType="1" IsDisableMacro="false" IsUncolumnized="false" UseDisk="false" /></IStorageInfo></InnerInstructions></XmlGroupInstructionInfo></IStorageInfo><IStorageInfo AssemblyQualifiedName="TARGIT.InMemory.ETL.Studio.Configuration.Xml.Instructions.XmlGroupInstructionInfo"><XmlGroupInstructionInfo Visibility="0" IsLocked="false" ToolSurfaceViewModelClass="TARGIT.InMemory.ETL.Studio.ViewModels.ToolSurfaces.GroupToolSurfaceViewModel" Name="Consistency Check" Id="38698a9b-030a-45b7-92b9-1489754889de" IsExpanded="false"><InnerInstructions><IStorageInfo AssemblyQualifiedName="TARGIT.InMemory.ETL.Studio.Configuration.Xml.Instructions.XmlScriptInstructionInfo"><XmlScriptInstructionInfo Visibility="1" IsLocked="false" ToolSurfaceViewModelClass="TARGIT.InMemory.ETL.Studio.ViewModels.ToolSurfaces.ScriptToolSurfaceViewModel" Name="Update all string columns" Id="5f899400-de91-4a7d-84e0-79083a65e62e" Query="declare @TmpTableName as String&#xD;&#xA;declare @TmpColumnName as String&#xD;&#xA;declare @Statement as String&#xD;&#xA;&#xD;&#xA;import [targittmp__BusinessTables] = me.{SELECT * FROM INFORMATION_SCHEMA.TABLES where STARTSWITH(Table_Name,'DIM_')=true or STARTSWITH(Table_Name,'FACT_')=true}&#xD;&#xA;&#xD;&#xA;while [targittmp__BusinessTables].EOF=false&#xD;&#xA;&#xD;&#xA;  set @TmpTableName =  [targittmp__BusinessTables].[Table_Name]&#xD;&#xA;&#xD;&#xA;  import [targittmp__TableColumns] = me.{select * from INFORMATION_SCHEMA.COLUMNS where Table_Name = '@@TmpTableName' and Data_Type = 'String'}&#xD;&#xA;&#xD;&#xA;  while [targittmp__TableColumns].EOF=false&#xD;&#xA;&#xD;&#xA;    set @TmpColumnName = [targittmp__TableColumns].[Column_Name]&#xD;&#xA;&#xD;&#xA;    set @Statement = '{update ' + @TmpTableName + ' set ' +  @TmpColumnName + ' = ''- n/a -'' where ISNULLOREMPTY(' + @TmpColumnName + ')=true}'&#xD;&#xA;&#xD;&#xA;    scriptExec @Statement&#xD;&#xA;&#xD;&#xA;    print @Statement&#xD;&#xA;&#xD;&#xA;  movenext [targittmp__TableColumns]&#xD;&#xA;  loop&#xD;&#xA;  drop [targittmp__TableColumns]&#xD;&#xA;&#xD;&#xA;movenext [targittmp__BusinessTables]&#xD;&#xA;loop&#xD;&#xA;drop [targittmp__BusinessTables]&#xD;&#xA;" IsDisableMacro="false" /></IStorageInfo></InnerInstructions></XmlGroupInstructionInfo></IStorageInfo><IStorageInfo AssemblyQualifiedName="TARGIT.InMemory.ETL.Studio.Configuration.Xml.Instructions.XmlGroupInstructionInfo"><XmlGroupInstructionInfo Visibility="0" IsLocked="false" ToolSurfaceViewModelClass="TARGIT.InMemory.ETL.Studio.ViewModels.ToolSurfaces.GroupToolSurfaceViewModel" Name="Calender" Id="4b18f21b-f2fa-41fc-8553-2648ebfe870e" IsExpanded="true"><InnerInstructions><IStorageInfo AssemblyQualifiedName="TARGIT.InMemory.ETL.Studio.Configuration.Xml.Instructions.XmlPeriodTableInstructionInfo"><XmlPeriodTableInstructionInfo Visibility="0" IsLocked="false" ToolSurfaceViewModelClass="TARGIT.InMemory.ETL.Studio.ViewModels.ToolSurfaces.PeriodTableToolSurfaceViewModel" Name="DIM_Period_001" Id="9bf08b26-33d1-4144-87b6-8912b5a3b8b4" DestinationTable="DIM_Period_001" Culture="en-001" IncludeTimestamps="true" SqlGeneration="0"><Year Name="Year" Format="#" IsUsed="true" /><YearName Name="YearName" Format="#" IsUsed="true" /><QuarterNumber Name="QuarterNumber" Format="#" IsUsed="true" /><Quartername Name="QuarterName" Format="Q #" IsUsed="true" /><MonthNumber Name="MonthNumber" Format="#" IsUsed="true" /><MonthName Name="MonthName" Format="MMMMM" IsUsed="true" Abbreviation="1" /><DateName Name="DateName" Format="dd/MM/yyyy" IsUsed="true" /><DateNumber Name="DateNumber" Format="yyyymmdd" IsUsed="true" /><IsoWeekYear Name="IsoWeekYear" Format="#" IsUsed="true" /><IsoWeek Name="IsoWeek" Format="#" IsUsed="true" /><IsoWeekName Name="IsoWeekName" Format="Week #" IsUsed="true" /><SimpleWeek Name="SimpleWeek" Format="#" IsUsed="true" /><SimpleWeekName Name="SimpleWeekName" Format="Week #" IsUsed="true" /></XmlPeriodTableInstructionInfo></IStorageInfo><IStorageInfo AssemblyQualifiedName="TARGIT.InMemory.ETL.Studio.Configuration.Xml.Instructions.XmlImportInstructionInfo"><XmlImportInstructionInfo Visibility="0" IsLocked="false" ToolSurfaceViewModelClass="TARGIT.InMemory.ETL.Studio.ViewModels.ToolSurfaces.ImportToolSurfaceViewModel" Name="DIM_Period" Id="bfcb5831-9fd8-40f8-a75d-3c053f0d3fcb" DataSourceId="8d0931c9-4c61-4bc1-b02e-ce8cdbbe204b" DataSourceText="ME" DataSourceQuery="SELECT&#xD;&#xA;    [TheDate],&#xD;&#xA;    [Year],&#xD;&#xA;    [YearName],&#xD;&#xA;    [QuarterNumber],&#xD;&#xA;    [QuarterName],&#xD;&#xA;    [MonthNumber],&#xD;&#xA;    [MonthName],&#xD;&#xA;    UCASE(LEFT([MonthName],1))+RIGHT([MonthName],2) as MonthNameUpper,&#xD;&#xA;    [DateName],&#xD;&#xA;    [DateNumber],&#xD;&#xA;    RIGHT([DateNumber],2) as [DateDayNumber],&#xD;&#xA;    CASE WHEN DayOfWeek([TheDate]) = 1 THEN 8 ELSE DayOfWeek([TheDate]) END AS [DayOfWeekNumber], /* 1 (changed to 8) Sunday, 2 Monday... */&#xD;&#xA;    &#xD;&#xA;    CASE WHEN DayOfWeek(TheDate)=2 THEN 'Mon' &#xD;&#xA;     WHEN DayOfWeek(TheDate)=3 THEN 'Tue' &#xD;&#xA;     WHEN DayOfWeek(TheDate)=4 THEN 'Wed' &#xD;&#xA;     WHEN DayOfWeek(TheDate)=5 THEN 'Thu' &#xD;&#xA;     WHEN DayOfWeek(TheDate)=6 THEN 'Fri' &#xD;&#xA;     WHEN DayOfWeek(TheDate)=7 THEN 'Sat' &#xD;&#xA;     WHEN DayOfWeek(TheDate)=1 THEN 'Sun' /* Actual key is 8 as transformed above, but we check for 1 */&#xD;&#xA;     ELSE ''&#xD;&#xA;     END AS DayOfWeekName,&#xD;&#xA;    [IsoWeekYear],&#xD;&#xA;    [IsoWeek],&#xD;&#xA;    [IsoWeekName],&#xD;&#xA;    [SimpleWeek],&#xD;&#xA;    [SimpleWeekName]&#xD;&#xA;FROM [DIM_period_001]&#xD;&#xA;" DataSourceQueryType="1" IsDisableMacro="false" IsUncolumnized="false" UseDisk="false" /></IStorageInfo></InnerInstructions></XmlGroupInstructionInfo></IStorageInfo><IStorageInfo AssemblyQualifiedName="TARGIT.InMemory.ETL.Studio.Configuration.Xml.Instructions.XmlGroupInstructionInfo"><XmlGroupInstructionInfo Visibility="0" IsLocked="false" ToolSurfaceViewModelClass="TARGIT.InMemory.ETL.Studio.ViewModels.ToolSurfaces.GroupToolSurfaceViewModel" Name="Postprocess" Id="7a60f3b8-ac7c-4887-bd83-c53f44b8d4dc" IsExpanded="true"><InnerInstructions><IStorageInfo AssemblyQualifiedName="TARGIT.InMemory.ETL.Studio.Configuration.Xml.Instructions.XmlScriptInstructionInfo"><XmlScriptInstructionInfo Visibility="0" IsLocked="false" ToolSurfaceViewModelClass="TARGIT.InMemory.ETL.Studio.ViewModels.ToolSurfaces.ScriptToolSurfaceViewModel" Name="Clone tables for use in data model" Id="3dd7f804-94f2-4e38-9bc7-e3c4df1dbe3a" Query="// IMPORT [DIM_TableName] = me.{select * from DIM_Period}&#xD;&#xA;" IsDisableMacro="false" /></IStorageInfo><IStorageInfo AssemblyQualifiedName="TARGIT.InMemory.ETL.Studio.Configuration.Xml.Instructions.XmlScriptInstructionInfo"><XmlScriptInstructionInfo Visibility="0" IsLocked="false" ToolSurfaceViewModelClass="TARGIT.InMemory.ETL.Studio.ViewModels.ToolSurfaces.ScriptToolSurfaceViewModel" Name="DEBUG - CLEANUP" Id="36cb95de-c03c-4e6f-83e7-00cb5886b807" Query="TRY&#xD;&#xA; If @DebugInfo = 0 THEN&#xD;&#xA; // DROP Stage_&#xD;&#xA;&#xD;&#xA; DROP Stage_Excel_sales&#xD;&#xA; DROP WORK_Excel_sales&#xD;&#xA; DROP WORK_Excel_sales_001&#xD;&#xA; DROP WORK_Excel_sales_002&#xD;&#xA; DROP WORK_Excel_sales_003&#xD;&#xA; DROP WORK_Excel_sales_004&#xD;&#xA; DROP DIM_Period_001&#xD;&#xA;&#xD;&#xA;&#xD;&#xA; END IF&#xD;&#xA;END TRY&#xD;&#xA;CATCH &#xD;&#xA; // Commands to execute when an error occurs &#xD;&#xA; PRINT 'Error Dropping tables'&#xD;&#xA;END CATCH" IsDisableMacro="false" /></IStorageInfo></InnerInstructions></XmlGroupInstructionInfo></IStorageInfo><IStorageInfo AssemblyQualifiedName="TARGIT.InMemory.ETL.Studio.Configuration.Xml.Instructions.XmlGroupInstructionInfo"><XmlGroupInstructionInfo Visibility="0" IsLocked="false" ToolSurfaceViewModelClass="TARGIT.InMemory.ETL.Studio.ViewModels.ToolSurfaces.GroupToolSurfaceViewModel" Name="Index" Id="0f7039f2-f509-4c3e-84ec-093a8987b78d" IsExpanded="true"><InnerInstructions><IStorageInfo AssemblyQualifiedName="TARGIT.InMemory.ETL.Studio.Configuration.Xml.Instructions.XmlScriptInstructionInfo"><XmlScriptInstructionInfo Visibility="0" IsLocked="false" ToolSurfaceViewModelClass="TARGIT.InMemory.ETL.Studio.ViewModels.ToolSurfaces.ScriptToolSurfaceViewModel" Name="Index on FACT tables" Id="86f657d7-c2f5-4683-8aa6-425b8afd70ce" Query="// CREATE CLUSTERED INDEX ON [FACT_TableName] (ColumnName)&#xD;&#xA;" IsDisableMacro="false" /></IStorageInfo></InnerInstructions></XmlGroupInstructionInfo></IStorageInfo><IStorageInfo AssemblyQualifiedName="TARGIT.InMemory.ETL.Studio.Configuration.Xml.Instructions.XmlScriptInstructionInfo"><XmlScriptInstructionInfo Visibility="1" IsLocked="false" ToolSurfaceViewModelClass="TARGIT.InMemory.ETL.Studio.ViewModels.ToolSurfaces.ScriptToolSurfaceViewModel" Name="- - BREAK POINT WITH SAVE - -" Id="344fc8ad-ce57-48a5-8e3d-4df6fa47ff7d" Query="save&#xD;&#xA;exit 0" IsDisableMacro="false" /></IStorageInfo><IStorageInfo AssemblyQualifiedName="TARGIT.InMemory.ETL.Studio.Configuration.Xml.Instructions.XmlInstructionInfo"><XmlInstructionInfo Visibility="0" IsLocked="false" ToolSurfaceViewModelClass="TARGIT.InMemory.ETL.Studio.ViewModels.ToolSurfaces.SaveToolSurfaceViewModel" Name="Save Database" Id="128ddc89-56b9-4a93-aa57-c60bc1a1dbe7" /></IStorageInfo></Instructions><Schedules /></XmlProjectModelInfo></IStorageInfo></FileSystemObjects><PublishProfiles><IStorageInfo AssemblyQualifiedName="TARGIT.InMemory.ETL.Studio.Configuration.Xml.Publish.XmlPublishProfileInfo"><XmlPublishProfileInfo Name="Default"><PublishStrategyInfo xsi:type="XmlSchedulerServicePublishStrategyInfo" Server="localhost" OpenOutputFolderInWindowsExplorer="false" ExecuteAndFetchResultsLocally="false" DeleteAllExistingFiles="false"><Folder Id="ea108ab1-cc39-486e-9c0d-0a63a0cc8dfd" Name="Public" /></PublishStrategyInfo></XmlPublishProfileInfo></IStorageInfo></PublishProfiles><DataSources><IStorageInfo AssemblyQualifiedName="TARGIT.InMemory.ETL.Studio.Configuration.Xml.DataSources.XmlExcelDataSourceInfo"><XmlExcelDataSourceInfo Id="7fc3f5f7-4133-4441-ab2a-f97f2c04a3f8" ConnectionString="'TARGIT.Excel.ExcelConnection' 'ignoreemptyvalues=false;datasource=C:\TARGIT\Data\orders dump.xlsx;detectionrowscount=100;skiplines=0;hasheaders=True;loadasstring=true'" DefaultQuery="SELECT * FROM []" Name="Excel - Sales" Type="TARGIT.InMemory.ETL.Studio.ViewModels.DataSources.ExcelDataSourceViewModel" GenerateCode="Auto" IsLocked="false" Assembly="TARGIT.Excel.dll" DataSource="C:\TARGIT\Data\orders dump.xlsx" AssemblyType="Server" LoadAsString="true" IgnoreEmptyValues="false" DataSourceType="LocalFile" DetectionRowsCount="100" SkipLines="0" HasHeaders="true" ManuallyChangeConnectionString="false" /></IStorageInfo></DataSources><Macros /><Synchronization IsEnabled="false" /></XmlProjectInfo>