reg。 Teradata SQL / BTEQ / BTET。使用BTEQ导出到包含2个选项卡的Excel报告

时间:2016-05-07 01:28:35

标签: sql database transactions teradata data-warehouse

我可以在SQL Assistant中完美地执行此操作,结果将显示在2个标签中,这些标签可以保存到带有2个标签的excel文件中。

BT; 
sel <query1>
;
Sel <query2>
;
ET

我想知道在BTEQ中是否可以做类似的事情。我非常希望有希望,但我想我已经完成了我的询问。使用BTEQ我可以将2个不同的查询导出到2个不同的excel文件,这很好。我想知道它是否可能。将2个查询的o / p导出到带有2个选项卡的单个excel文件中
还有一个小的推论问题:在SQL Assistant中,是否可以将2个查询的结果按顺序运行到2个标签,excel报告通过某种方法而不是 {{ 1}} (BTET中{P.S BTET没有意义,我只在BTEQ中使用它。所以不要指使用SQL Ass

2 个答案:

答案 0 :(得分:1)

在SQL Assistant中,设置Tools -> Options -> General -> Use a separate Answer window for,默认设置为Each Query。当您运行多个选择使用F5或F9时,您将所有结果集作为选项卡放在一个窗口中,然后File -> Save会要求保存所有工作表?这与{{1}无关}。

在BTEQ中,没有办法将多个结果合并到一个文件中,实际上不支持Excel,它只是非常旧的DIF格式而不是#&# 39; t支持多个标签。

答案 1 :(得分:1)

我遇到过类似的问题。 您可以做的是使用BTEQ将数据导出为CSV,然后使用VBS脚本打开Excel文件并在新工作表中复制CSV。 首先,您需要删除旧的,否则将重命名。

Option Explicit 
Dim MyPath, objExcel, objWorkbook, objSourceData, objTargetSheet

MyPath = "C:\Users\user\"

Set objExcel = CreateObject("Excel.Application")

objExcel.Application.Visible = True

Set objWorkbook = objExcel.Workbooks.Open(MyPath & "ExcelFile.xlsx")

objExcel.Application.DisplayAlerts = False
objExcel.Sheets("worksheetname").Delete
objExcel.Application.DisplayAlerts = True

Set objSourceData = objExcel.Workbooks.Open(MyPath & "csvfilename.csv")

objSourceData.sheets(1).Copy objworkbook.Sheets(objworkbook.Sheets.Count)

objworkbook.Save
objworkbook.Close

objExcel.Application.Quit

WScript.Quit