Utilizar SSIS Para Carregar Dados Para Um Modelo de Master Data Services - BI4ALL | Creating Business Intelligence
Este artigo descreve como primeiro criar e configurar Master Data Services e depois criar um package SSIS simples que carregue os dados de uma fonte independente, carregá-la para uma tabela de staging e finalmente para o MDS.
> Master Data Services é a solução de SQL Services para gestão de dados mestre.
> MDS contém modelos. Estes são o agrupamento da estrutura de dados mestre de mais alto nivel. MDS permite a criação destes modelos para gerir grupos de dados similares.
> Por outro lado, um model contém uma ou mais entidades que contém membros e que por sua vez são dados. Uma entidade é semelhante a uma tabela.
Configuração de uma base de dados MDS e configuração web:
> Este exemplo foi feito sobre uma máquina local, mas pode ser feito sobre uma máquina remota:
> Aceder ao Master Data Services Configuration Manager e selecionar a opção "Create Database Manager". Preencher as janelas de instalação e estabelecer uma conexão com uma instância (remota ou local) do SQL Server. Dá-se um nome à base de dados MDS e configura-se uma conta de administração (apenas uma é permitida) e finaliza-se.
> Este processo irá criar uma nova base de dados chamada MDS_DEMO com tabelas, views, procedimentos, etc. gerados pelo próprio MDS.
> Na configuração de base de dados, seleciona-se a nova base de dados e procede-se ao menu de configuração Web
> No menu de configuração Web, cria-se um novo website (dropdown). Nomeia-se o Website e a Application Pool.
> Finalmente clica-se apply e seleciona-se a opção de: "Launch web application in browser"
> Ao clicar-se nesta opção, o site do MDS será aberto onde os dados podem ser configurados, adicionados e manipulados (Deve-se criar um atalho no browser para aceder ao Website mais tarde e com mais facilidade)
> No website seleciona-se o modelo criado e procede-se ao menu de Administração de Menu
> Cria-se uma nova entidade:
> Neste exemplo foi criado uma entidade chamada Human_Resources e tem dois campos gerados pelo próprio MDS: Name e Code. Os dados das tabelas de staging serão carregados para esta entidade
Building the SSIS Package
> Agora que o MDS está configurado, é necessário criar o package que vai carregar os dados para as tabelas de staging e para o MDS:
> No Microsoft Visual Studio, cria-se um Business Intelligence Project – SSIS e nomeia-se para algo relacionado com MDS. Neste exemplo ficou como MDS_DEMO.
> As seguintes variáveis têm que ser criadas no package:
> strMDSEntityName tem o nome da entidade criada no MDS para onde serão carregados os dados
> strMDSUser tem o nome do domínio e o utilizador configurados no servidor do MDS
> strModelName tem o nome do modelo do MDS
> As seguintes conexões têm de ser criadas:
> Esta é a conexão para a datasource externa
> Esta é a conexão para a base de dados MDS
> Na janela de Control Flow arrasta-se um "Execute SQL Task" e dá-se o nome de "Clear Staging Tables"
> Estabelece-se conexão desta tarefa para a base de dados criada no MDS e adiciona-se o seguinte query:
> Configuram-se os parâmetros como indicado:
> Arrasta-se uma data flow task, nomeia-se para "Load Staging Tables" e liga-se a task "Clear Staging Tables" à mesma:
> Fazendo duplo click na task Load Staging Tables irá abrir a janela data flow
> Arrasta-se uma OLE DB Source tool e estabelece-se conexão a uma fonte de dados externa que contem os dados a ser carregados para o MDS pretendidos. Neste caso irão ser carregados duas colunas da tabela "Employee" da base de dados AdventureWorks2014: BusinessEntityID e JobTitle.
> Adiciona-se uma "derived column tool" e nomeia-se para "Add User and Model Info". Liga-se a OLE DB Source anterior a esta.
> Abre-se a tarefa Add User and Model Info e adiciona-se as seguintes colunas:
> ModelName tem a expressão para a variável strModelName.
> UserName tem a expressão para a variável strMDSUser.
> Arrasta-se uma nova derived column tool para adicionar JobTitle e Member.
> Arrasta-se uma OLE DB Destination e estabelece-se uma conexão à base de dados MDS_DEMO. Escolhe-se a tabela mdm.tblStgMember:
> Configura-se os mapeamentos como indicado abaixo:
> Volta-se à janela de Control Flow e adiciona-se outra "Execute SQL Task", liga-se à Load Staging Tables e nomeia-se para Sweep Stage
> Estabelece-se conexão com a base de dados MDS_DEMO e adiciona-se a seguinte query:
> Configura-se o mapeamento de parâmetros da seguinte forma:
> Esta tarefa irá trazer os dados da fonte para o modelo.
> Finalmente arrasta-se outra Execute SQL Task e liga-se à Sweep Stage. Nomeia-se para "Validate Model"
> Estabelece-se conexão com a MDS_DEMO e adciona-se a seguinte query:
> Esta tarefa irá validar todos os dados carregados para o Modelo MDS
> A solução final deverá ficar da seguinte forma:
> De forma a verificar os dados carregados, vai-se a entidade Human_Resources criada no MDS. Na entidade podemos ver ou alterar os dados carregados:
> Outra forma de o fazer, seria de instalar o add-in do Excel de Master Data e ligar ao modelo MDS_DEMO:
> Com o add-in, os dados podem ser adicionados e/ou alterados para depois ser publicados para o model
> Master Data Services é uma ferramenta muito util para a criação, gestão e manutenção de listas corretas e consistentes de dados-mestre. Melhora o cumprimento de regras de negócio, reporting, rentabilidade, tomada de decisão e qualidade de dados. Este artigo descreve a implementação de um package SSIS simples para carregar dados para o MDS. Pode ser considerado como um ponto de partida para projetos mais complexos e/ou providenciar alguma ajuda para aqueles que necessitam de conhecimentos de Master Data Management.