2017-05-31 51 views
0

我正在构建一个SSIS项目以创建一个ETL来加载使用星型模式模型的数据仓库。SSIS - 增量加载 - 查找对象

我有3个维度:

- Customer (Customer_ID, Customer_Name, Email) 
- Employees (Employee_ID, Employee_Name, Salary) 
- Product (Product_ID, Product_Category) 

我的事实表非常simples,只是:

- Customer_ID 
- Employee_ID 
- Product_ID 
- Sales_Amount 

我试图创建一个使用SSIS包。我看到很多的网络研讨会,以学习如何使用SSIS进行增量负载,许多人建议我使用以下对象结构: enter image description here

在OLE DB源我有以下查询:

SELECT a.Customer_ID, 
     b.Employee_ID, 
     c.Product_ID, 
     sa.Sale_Amount 
FROM Staging_Area_table sa 
LEFT JOIN Customer a ON 
sa.Customer_Name = a.Customer_Name 
LEFT JOIN Employee b ON 
sa.Employee_Name = b.Employee_Name 
LEFT JOIN Product c ON 
sa.Product_Category = c.Product_Category 

我的问题是: 1)它给了我:)这一个错误:

[Lookup [61]] Error: Row yielded no match during lookup. 

2)如果我想在事实表好好尝试一下比赛中的行,为什么我把“查找匹配输出“ p对象

3)这是加载我的事实表的好方法?

谢谢!!!!!

+0

如果你正在查询源查询中的键,你在查找组件中做什么? – billinkc

+0

我查找了每个Dimension,它会查看源查询中是否存在业务密钥。我应该在源查询中做些什么? –

+0

您可以告诉我们您的登台表有哪些列? – TheEsnSiavashi

回答

1

回答你的第一个问题 -

你所得到的错误,因为组件是在查找transaformation选择在常规选项卡失败。所以你得到错误,因为没有匹配的行。要忽略错误选择“重定向行中查找的常规选项卡NOMATCH输出

第二个问题 - 。是被需要的许多查找,因为我们必须确保所有的dimentions在事实表加载之前存在

第三个问题 - 是的,这是很多人关注的方法