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

reg . Teradata SQL / BTEQ / BTET . Export to an excel report with 2 tabs using BTEQ

我可以在 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 通过某种方法报告 除了 BTET ( P.S BTET in BTEQ 没有意义,我只在 SQL Ass 中使用它。所以不要意味着使用 BTET

在 SQL 助手中有一个设置 Tools -> Options -> General -> Use a separate Answer window for,默认设置为 Each Query。当您 运行 多个 Select 使用 F5 或 F9 时,您会在单个 window 中将所有结果集作为选项卡获得,然后 File -> Save 要求 全部保存sheets? 这与 BT/ET.

无关

在 BTEQ 中,无法将多个结果放入一个文件中,事实上不支持 Excel,它只是非常古老的 DIF 格式,不支持多个选项卡。

我遇到过类似的问题。 您可以做的是使用 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