我正在创建一个数据仓库,并且我已成功为数据集市创建了数据流任务。我已经为这些数据集市中的所有维度制作了数据流任务。 msdn和其他文章很容易理解。 现在我想为这些数据集市的事实表创建数据流任务。 对于例如 我的源系统中有一个customer表。它的属性是CustomerID,name,age,dateJoined等。我为它创建了一个维度,它具有Customer_Key,CustomerID,name,age,dateJoined等属性。并且在数据流任务中加入了这些,箭头指向源到目的地,我分配了映射。现在我在创建事实表时面临问题? 对于事实表,创建的维度将是源,但我不知道如何将维度的密钥发送到事实表,即在这种情况下如何将Customer_Key作为外键发送到表SalesFactTable?
编辑:如何使用查找数据流任务为销售事实表创建数据流任务?
Customer: cid, cname, age, customersince, level
Store: sid, sname, area, city, country
Product: pid, pname, category, amount
CustomerDimension: customer_key, cid, cname, age, customersince, level
StoreDimension: store_key, sid, sname, area, city, country
ProductDimension: product_key, pid, pname, category
TimeDimension: tid, week, month, year
SalesFactTable: customer_key, store_key, product_key, tid, aggregate_of_amount
在创建维度的数据流任务时,我需要帮助如何为事实表创建示例数据流任务?
问候。
答案 0 :(得分:0)
填充维度后,您需要使用查找数据流任务查找要作为外键添加到事实表的每个主键值。在不知道您的数据的情况下,很难说出您在数据流中需要在查找中使用哪些值,但是在查看数据时应该会很明显。
答案 1 :(得分:0)
您的数据流任务将以OLE_DB源任务开始,该任务将是一个查询,例如
SELECT cid,sid,tid,pid,quantity FROM Sales
将此连接到Lookup任务。在查找任务常规设置中,设置"指定如何处理没有匹配条目的行"到"忽略失败"。在“连接”设置中,单击“"使用SQL查询结果"”。您的查询将是:
SELECT customer_key, cid
FROM CustomerDimension
在“列”设置中,将“可用输入列”中的cid列中的一行拖到“可用查找列”的cid列中。选中Available Lookup Columns下customer_key旁边的框。单击确定。然后返回数据流,拖动另一个Lookup for StoreDimension并连接到Customer查找。重复步骤。对ProductDimension和TimeDimension查找执行相同的操作。将每个连接到下一个。然后将最后一次查找连接到OLE_DST目标。您将在目标任务中看到密钥将在那里。从那里,您可以将它们映射到目标列。