Introduction
There are couple of ways to import data from Excel to SSMS – via SQL Server Import and Export Wizard (where you should have first installed the OLEDB provider),via SQL Server Integration Services (SSIS), via Distributed queries, via Linked servers and others. You can read more about them from the Microsoft Doc: Import data from Excel to SQL – SQL Server | Microsoft Docs. However, in this article I would like to focus your attention to one quite peculiar method that I am almost sure you cannot find online. This is a method I have learned from a colleague. This method could be used if you want to quickly examine some columns from Excel into Management Studio, without necessarily importing them.
The Method
For this purpose, we will use sample data from this source: Excel Sample Data for Testing and Examples (contextures.com). After we download and open the file, we will navigate to the SalesOrders tab and we will start writing the following SQL query in Excel:
="SELECT '"&A2&"' AS OrderDate, '"&B2&"' AS Region, '"&C2&"' AS Rep, '"&D2&"' AS Item, '"&E2&"' AS Units, '"&F2&"' AS UnitCost, '"&G2&"' AS Total UNION ALL"
Before dragging the formula and populating the other rows, first we must pay attention to our date column:
As we can see, since we are reading the data in the SQL query as a string, we cannot initially display it in our desired date format. We should make some date conversions either in Excel, or later on in Management Studio. Since the conversion would be a little bit easier in Excel, I would prefer to do it in this program. We simply add another column, where we type the following formula: = TEXT([@OrderDate],"dd/mm/yyyy")
After we rearrange our columns, save the text formula column as values, rename it, we can delete the original OrderDate column because we do not need it anymore. Then we can simply drag the Select formula until the bottom of the table, in order to populate all the rows. On the last row, it is very important to remove the UNION ALL operator, otherwise the query will not be executed successfully when copying the script into Management Studio.
As a next step, we just copy the script from all the rows, paste it in our Management Studio, and execute it.
Afterwards we can import the output into a table that we could access and query easily. If we are working in a Synapse environment, the script would be like:
CREATE TABLE [Ref].SampleData WITH ( DISTRIBUTION = ROUND_ROBIN, CLUSTERED COLUMNSTORE INDEX ) AS SELECT * FROM (<here we put the multiple select statements>) s
If not in a Synapse environment, the syntax would be like:
SELECT * INTO SampleData
FROM(<the multiple select statements>) s
Drawbacks
The drawbacks of this method are the following:
- If we are working with many columns, it could be quite frustrating to type or even copy the repeating algorithm of the formula. We need to be quite careful and pay attention to the sequence of columns we are referring to.
- Management Studio does not like the possessive form of the strings, and we must manually add an additional apostrophe, in order to remediate the problem:
As you can guess, that could be such a pain in the neck when we are working with a large volume of such data.
Conclusion
All in all, I believe that this method, although a bit strange at first glance, is an interesting alternative to the other import options, which might not necessarily work every time due to some data or file format discrepancies. Of course, this method is not ideal, but in some cases, it could be even faster and more efficient than the other methods.
Click here to read our other blogs.
Celebrating International Women’s Day: from Classroom to Code
As we celebrate International Women’s Day, I want to share my journey of breaking stereotypes
Mar
Pretty Power BI – Adding Pagination to Bar Charts
Good User Experience (UX) design is crucial in enabling stakeholders to maximise the insights that
Feb
Pretty Power BI – Creating Dynamic Histograms
Good User Experience (UX) design is crucial in enabling stakeholders to maximise the insights that
Feb
Top Tips to Pass the Databricks Certified Data Engineer Professional Exam
Having recently passed the Databricks Certified Data Engineer Professional exam, this blog post covers some
Jan
Python vs. PySpark Navigating Data Analytics in Databricks – Part 1
Introduction When it comes to conquering the data analytics landscape in Databricks, two heavyweights, Python
Jan
Impact of AI on Business Analysis
Artificial intelligence (AI) is rapidly transforming our world, and this blog post concentrates on the
Jan
Creating Clickbait Using Python
In 2023, about 5 billion people used the internet. With so many people contributing and
Dec
A Brief Overview of Security in Microsoft Fabric
Where Fabric Sits in the Hierarchy As you are probably aware, Microsoft Fabric is Microsoft’s
Dec