从sql到qlikview

时间:2016-05-23 07:42:03

标签: sql qlikview

我正在尝试加载" ABCD_BKP"中的所有表格。以TEST _

开头

我的数据库中的表格如下:

ABCD_BKP
   TEST_1
   TEST_2
   TEST_3

我正在尝试按照以下方式加载它,但它似乎不起作用。

SELECT *
FROM "ABCD_BKP".dbo.TEST_*

1 个答案:

答案 0 :(得分:3)

要加载所有表,首先需要列表,然后遍历此列表并逐个加载表。

例如,如果您使用的是MSSQL,那么您的脚本将是:

// Get all tables in "ABCD_BKP"
TableNames:
sql
SELECT TABLE_NAME FROM "ABCD_BKP".dbo.Tables;

// Filter only table names that are starting with "TEST_"
Test_TableNames:
Load distinct
  TABLE_NAME
Resident
    TableNames as TestTables
Where 
   left(TABLE_NAME, 5) = 'TEST_'
;

Drop Table TableName; // the table with all table names is no longer needed

for i = 1 to FieldValue('TestTables') // loop through all "TEST_*" tables
  let vTableName = FieldValue( 'TestTables', $(i) ); // current iteration table name

  $(vTableName): //give our QV table the same name as the SQL table
  sql
  Select * From "ABCD_BKP".dbo.$(vTableName); // load the sql table in QV

next

Drop Table Test_TableNames; // drop the QV table that contains the list with the "TEST_" tables

使用数据库中的表获取列表的sql对于每个数据库都是不同的