! " # $ $ %& '( )**+ - PDF
! " # $ $ %& '( )**+
Download "! " # $ $ %& '( )**+"
Geovane Bayer Belo
1 !"#$ $%& '()**+
3 ÍNDICE ÍNDICE 3 CAPÍTULO 1 INTRODUÇÃO AO SAS 5 APLICAÇÕES SAS 5 BIBLIOTECAS 6 PROJECTOS 7 SAS ENTERPRISE GUIDE 7 ENTERPRISE BI SERVER 8 ENTERPRISE MINER 8 CAPÍTULO 2 EXPLORAÇÃO DE DADOS 11 CRIAÇÃO DE PROJECTOS 11 IMPORTAÇÃO DE DADOS 12 LEITURA DE TABELAS DE DADOS SAS 12 PROVENIENTES DE FICHEIROS EXCEL 13 PROVENIENTES DE FICHEIROS DE TEXTO 13 PROVENIENTES DE BASES DE DADOS RELACIONAIS 15 CRIAÇÃO DE RELATÓRIOS 15 LISTAGENS 15 TAREFAS DE AGREGAÇÃO 17 GRÁFICOS 18 UTILIZAÇÃO DE INTERROGAÇÕES SQL 18 INTERROGAÇÕES SIMPLES 18 INTERROGAÇÕES COM AGREGAÇÕES 19 JUNÇÃO DE TABELAS JOIN 19 PARAMETRIZAÇÃO DE INTERROGAÇÕES 20 CAPÍTULO 3 CRIAÇÃO DE CUBOS 23 CRIAÇÃO DE CUBOS A PARTIR DE UMA TABELA DE DETALHE 24 CRIAÇÃO DE CUBOS A PARTIR DE UM ESQUEMA EM ESTRELA 27 CAPÍTULO 4 OLAP 31 OPERAÇÕES OLAP 32 OPERAÇÕES DE ROLL-UP E DRILL-DOWN 33 PIVOTING 34 LINGUAGEM MDX 34 CAPÍTULO 5 INTRODUÇÃO AO ENTERPRISE MINER 37 CRIAÇÃO DE BIBLIOTECAS NO SAS BASE 37 Cláudia Antunes 3
4 Sistemas de Apoio à Decisão - Manual de Laboratório PROCESSO DE DESCOBERTA DE INFORMAÇÃO 38 SELECÇÃO DOS DADOS 39 EXPLORAÇÃO DOS DADOS 41 MODIFICAÇÃO DOS DADOS 42 MODELAÇÃO DOS DADOS 42 AVALIAÇÃO DOS MODELOS 42 CAPÍTULO 6 REGRAS DE ASSOCIAÇÃO 45 CAPÍTULO 7 CLUSTERING 47 SEGMENTAÇÃO PELOS K-VIZINHOS MAIS PRÓXIMOS 47 MEDIDAS DE SEMELHANÇA 48 CAPÍTULO 8 CLASSIFICAÇÃO BASEADA EM INSTÂNCIAS 51 CLASSIFICAÇÃO PELOS K-VIZINHOS MAIS PRÓXIMOS 51 CAPÍTULO 9 ÁRVORES DE DECISÃO 53 CAPÍTULO 10 REDES NEURONAIS 57 CAPÍTULO 11 COMPARAÇÃO DE MODELOS 61 Cláudia Antunes 4
5 Capítulo 1 INTRODUÇÃO AO SAS O software SAS é uma das ferramentas de Business Intelligence actualmente disponíveis no mercado, e integra várias componentes num único produto de software. Destas componentes destacam-se o Enterprise Guide, o Enterprise BI Server e o Enterprise Miner usados na disciplina de Sistemas de Apoio à Decisão do Instituto Superior Técnico. Esta ferramenta será apenas usada como meio para ilustrar e experimentar a aplicação das técnicas e metodologias estudadas. De modo a ilustrar a utilização do software, considerou-se que todos os ficheiros necessários à realização das tarefas serão colocados em pastas na directoria c:/sad. APLICAÇÕES SAS As aplicações SAS são aplicações gráficas interactivas, que funcionam sob uma mesma filosofia. Esta consiste essencialmente na definição de processos que são compostos por uma sequência de tarefas a executar sobre os dados. Estas tarefas correspondem a tipos específicos de análises ou relatórios que podem ser aplicados aos dados. Associado a cada tarefa existe um bloco de código SAS, que é executado sobre os dados analisados pela tarefa, na sequência definida pelo fluxo do processo. De uma forma simplista, a interacção com as aplicações SAS pode ser vista como uma sequência de quatro etapas: 1. Criação de um projecto; 2. Adição dos dados a analisar; 3. Execução das tarefas de análise; 4. Visualização dos resultados / relatórios criados. Cláudia Antunes 5
6 Sistemas de Apoio à Decisão - Manual de Laboratório De modo a facilitar a definição e execução dos processos, as aplicações têm ambientes de trabalho semelhantes, compostos por várias janelas, cada uma das quais desempenhando um objectivo específico. Em particular, todas apresentam: uma Explorer Area em que se listam as fontes de dados disponíveis, organizadas em bibliotecas, que por sua vez se localizam em servidores virtuais; uma Task Area em que se listam as tarefas disponíveis para utilização e uma Process Area em que se define e visualiza o processo a aplicar. Esta área tipicamente dá acesso ao fluxo de processos, aos logs originados durante a execução do processo e ao código SAS gerado. As janelas são acompanhadas por um conjunto de menus e toolbars, dependentes de contexto, pelo que o seu uso é por vezes difícil, uma vez que dependendo da janela activa as opções disponíveis são significativamente diferentes. A Figura 1 apresenta a interface da aplicação base do SAS. Figura 1 Interface da aplicação base do SAS A gestão eficiente dos vários processos é feita através da organização dos diferentes processos em projectos e dos dados em bibliotecas. A definição dos projectos é diferente nas diversas aplicações e será introduzida mais tarde. Bibliotecas Uma biblioteca SAS (Library) é um ponteiro para a localização de uma pasta com os ficheiros criados pelo utilizador. Uma vez criada, o SAS consegue aceder aos ficheiros existentes na biblioteca. Quando uma biblioteca é apagada, os ficheiros mantém-se em disco, mas ficam inacessíveis a partir do SAS. No entanto, é possível criar bibliotecas em várias das aplicações SAS: no SAS Base, no SAS Enterprise Guide Administrator, no SAS OLAP Cube Studio, etc. Em qualquer caso apenas é necessário definir Cláudia Antunes 6
7 Capítulo 1 Introdução ao SAS alguns parâmetros. As aplicações SAS apresentam algumas bibliotecas pré-definidas como é o caso da biblioteca WORK que armazena temporariamente os ficheiros gerados, e da biblioteca SASUSER, que os guarda numa pasta designada My SAS Files (por omissão). É conveniente criar duas bibliotecas: uma para dados e outra para os projectos. NOTA: Apesar de teoricamente as bibliotecas criadas ficarem disponíveis para todas as aplicações SAS, isso não acontece. Para que consigam manipular bibliotecas em cada aplicação do SAS, é necessário criar aí as bibliotecas. Projectos Tal como as bibliotecas, os projectos são apenas formas de gerir, neste caso os conjuntos de dados e os processos aplicados. O objectivo dos projectos é criar espaços de trabalho dedicados a cada problema individual. Assim, deve criar um projecto diferente para cada objectivo a atingir. SAS ENTERPRISE GUIDE O Enterprise Guide é a aplicação cliente do SAS para fazer exploração de dados, permitindo de forma integrada aceder e analisar dados provenientes de diferentes fontes, em particular de diferentes máquinas. A análise pode ser feita sobre tabelas ou cubos de dados, produzindo novas tabelas e relatórios que podem ser partilhados e utilizados pelas restantes aplicações do SAS. No Enterprise Guide, todas as tarefas são parametrizadas segundo uma interface comum, em que as opções de parametrização são apresentadas na área Selection (Selection Pane) do lado esquerdo da janela. Cláudia Antunes 7
8 Sistemas de Apoio à Decisão - Manual de Laboratório ENTERPRISE BI SERVER O SAS Enterprise BI Server é um pacote de ferramentas que integra a construção, exploração e visualização de dados, permitindo a sua organização segundo modelos mais adequados ao apoio à decisão. Nas aulas de laboratório da disciplina, serão usadas apenas parte das potencialidades deste pacote: o SAS OLAP Cube Studio e o SAS Management Console. O SAS OLAP Cube Studio permite a definição e criação de cubos, funcionando em ligação com o servidor de metadados e o servidor de OLAP (que devem estar a correr em background). O SAS Management Console é apenas uma ferramenta que permite a gestão dos vários utilizadores e serviços, nomeadamente a gestão do funcionamento dos servidores referidos. ENTERPRISE MINER O Enterprise Miner é o pacote do SAS para Data Mining, ou seja, que executa processos de extracção de informação, desde o acesso aos dados até à visualização da informação descoberta. Sendo um pacote, funciona dentro do SAS Base. O Instituto SAS define data mining como o processo de Seleccionar (Sample), Explorar (Explore), Modificar (Modify), Modelar (Model) e Avaliar (Assess) SEMMA grandes quantidades de dados, para descobrir padrões previamente desconhecidos : A Selecção dos dados é efectuada com a criação de tabelas. Estas devem conter dados suficientes e significativos, mas ter um tamanho que não inviabilize o processo de descoberta (por o tornar demasiado lento ou inoperante). A Exploração dos dados consiste na análise manual dos dados, de forma a adquirir algum Cláudia Antunes 8
9 Capítulo 1 Introdução ao SAS conhecimento prévio que ajude na definição dos objectivos do processo. A Modificação dos dados é realizada pela criação, selecção e transformação das variáveis envolvidas no problema, de modo a ajudar a escolher o melhor modelo a usar no processo. A Modelação dos dados é concretizada pela aplicação das ferramentas de análise disponíveis no pacote, nomeadamente árvores de decisão, redes neuronais, entre outros. É esta a etapa responsável pela descoberta de informação, propriamente dita. A Avaliação consiste em analisar os resultados obtidos no passo anterior, de modo a determinar a sua utilidade e fiabilidade. O processo é conduzido por um fluxograma, que pode ser modificado e gravado. Este é desenhado de forma a que o analista do negócio, que tem poucos ou nenhums conhecimentos de data mining, o possa utilizar para descobrir informação face a novos dados. O Enterprise Miner contém um conjunto de tarefas de análise que podem ser combinadas de modo a criar e comparar múltiplos modelos. Para além destas existem tarefas para preparação dos dados, nomeadamente para detecção de pontos isolados, transformação de variáveis, amostragem e partição dos dados em conjuntos de treino, teste e de validação. As suas tarefas de visualização mais avançadas permitem uma análise rápida e fácil dos dados e informação obtidos. Cláudia Antunes 9
11 Capítulo 2 EXPLORAÇÃO DE DADOS A forma mais eficiente de explorar dados no SAS é através do SAS Enterprise Guide. Assim, todas as descrições e exercícios neste capítulo dizem respeito a esta aplicação. FICHEIROS NECESSÁRIOS Aceda ao site da disciplina, e copie os ficheiros seguintes para a pasta c:/sad/productsandsuppliers: products.sas7bdat updateorders.sas7bdat supplyinfo.xls orders.txt profit.sas7bdat CRIAÇÃO DE PROJECTOS A criação de projectos no Enterprise Guide é feito do seguinte modo: Exercício 1 1. Seleccione FileNewProject a partir da barra de menus. 2. Como resultado, o espaço de trabalho passa a apresentar a janela de projecto, com a listagem das tarefas de cada processo (Process Window) e com os fluxos de processos definidos no projecto (Process Flow Window). Na altura de criação do projecto ambas as janelas estão vazias. Cláudia Antunes 11
12 Sistemas de Apoio à Decisão - Manual de Laboratório IMPORTAÇÃO DE DADOS Os ficheiros de dados SAS têm extensão.sas7bdat e consistem simplesmente numa tabela de dados, semelhante a uma tabela de um modelo relacional. Sendo os dados aí contidos de um de dois tipos: character (textual) ou numeric (numérico). Os dados do tipo Data, Tempo ou Moeda são armazenados como numeric e podem ser apresentados com formatos específicos mais amigáveis. Há ainda a salientar que um valor omisso (missing value) é representado como um ponto se o atributo for numérico ou em branco se o atributo for textual. Leitura de Tabelas de Dados SAS Quando uma tabela de dados é importada, esta fica em modo de leitura (Read Only), e apenas pode ser consultada, não sendo permitido outro tipo de alterações como a inserção de novas colunas ou edição de valores ou dos rótulos dos atributos. Exercício 2 3. Seleccione FileOpenFrom my computer (ou Existing na versão 1.3) a partir da barra de menus. 4. Abra o ficheiro products.sas7bdat, existente na pasta c:/sad/productsandsuppliers ou arraste o ficheiro a partir da biblioteca ProdSupp da Explorer Window para a Project Window. 5. De imediato será aberta a janela com os dados existentes na tabela. De modo a permitir operações de edição sobre as tabelas importadas é necessário alterar o seu modo para edição (Update). Depois desta alteração é então possível: editar valores, editar e formatar os rótulos dos atributos, apagar linhas e colunas, ordenar os dados e criar novos atributos (colunas) ou novos registos (linhas). Exercício 3 1. Abra a tabela updateorders.sas7bdat, existente na pasta c:/sad/productsandsuppliers. 2. Altere o modo de edição da tabela seleccionando a opção DataRead-only (a tabela tem de estar aberta, para que a opção esteja acessível). Cláudia Antunes 12
13 Capítulo 2 Exploração de Dados 3. Apague o atributo UnitsInStock, seleccionando a opção Delete a partir do menu pop-up que surge quando o rato está sobre o rótulo do atributo. 4. Altere o rótulo do atributo AcctNumber, seleccionando a opção Properties, através do menu pop-up. Altere o nome para CustID e o rótulo para Customer ID. 5. Crie um novo atributo Revenue. Para tal seleccione a última coluna da tabela e seleccione a opção DataColumnsInsert... Preencha o nome e rótulo com Revenue e assegure-se que o tipo do novo atributo é numérico. De forma a criar valores para o atributo criado faça: a) Seleccione o botão... (junto à list box Expression) de modo a abrir o Expression Builder. b) Seleccione a área Values, e dos atributos disponíveis em Value crie a expressão Quantity*SellPrice. c) Seleccione o formato Currency em euros com largura 10 e 2 casas decimais. 6. Volte a colocar a tabela no modo de leitura. Provenientes de Ficheiros Excel Para além dos ficheiros SAS, a aplicação aceita outros ficheiros, por exemplo do tipo EXCEL. Exercício 4 1. Seleccione FileOpenFrom my computer (ou Existing na versão 1.3) a partir da barra de menus. 2. Abra o ficheiro SupplyInfo.xls, existente na pasta c:/sad/productsandsuppliers. 3. Como o ficheiro tem várias folhas (sheets) aparece uma janela para seleccionar a folha. Escolha a opção Suppliers$. 4. Em seguida seleccione a opção Select this option if you want to open the file as a SAS data set, para que o ficheiro seja importado para o formato SAS. 5. Na área Region To Import, active a opção Specify line to use as columns headings, e mantenha a linha Para que o ficheiro seja guardado no sítio certo, aceda à área Results e, clicando no botão Modify, escolha a biblioteca pretendida (ProdSupp) e um nome adequado (SUPPLYINFO). 7. Execute a tarefa, clicando em Run. Novamente, o SAS abrirá a tabela gerada. Provenientes de Ficheiros de Texto A importação de dados provenientes de ficheiros de texto é semelhante à importação do mesmo tipo de ficheiros no Microsoft Excel. Cláudia Antunes 13
14 Sistemas de Apoio à Decisão - Manual de Laboratório Exercício 5 1. Seleccione FileOpenFrom my computer (ou Existing na versão 1.3) a partir da barra de menus. 2. Abra o ficheiro orders.txt, existente na pasta c:/sad/productsandsuppliers. 3. Seleccione a opção Select this option if you want to open the file as a SAS data set, como anteriormente. 4. Em seguida aparecerá uma janela de tarefas, que o guiará na importação deste tipo de ficheiros. Para tal, seleccione Text Format na área Selection, e escolha Delimited caso o seu ficheiro tenha os valores separados por vírgulas ou tabs ou Fixed caso os valores em cada coluna / atributo ocupem o mesmo número de caracteres. 5. No segundo caso, será necessário escolher os limites de cada coluna como na próxima figura. 6. Em seguida pode definir as propriedades de cada coluna, determinando por exemplo o formato em que os dados devem ser lidos (Read format também designado Informat) e apresentados (Display format), assim como o tipo de dados (Type) e o nome (Name) ou rótulo (Label) do atributo. 7. Faça as seguintes alterações aos atributos: a) Column 1: ignore os seus dados (Include in outputno); b) Column 2: Name= ProdId ; Label= Product ID ; Lenght=4; c) Column 3: Name=Label= Quantity ; Type= Numeric ; d) Column 4: Name=Label= SellPrice ; Type= Numeric ; Displayformat=CurrencyEUROw.d(width=8); e) Column 5: Name=Label= Revenue ; Type= Numeric ; Displayformat=CurrencyEUROw.d(width=10); 8. Seleccione Results na área Selection, e altere a localização do ficheiro para a biblioteca ProdSupp (definida no Capítulo 1), assim como o nome para ORDERS. 9. Finalmente, seleccione a opção Run, através do menu pop-up que aparece associado à tarefa Import Data. 10. Salve o projecto. Cláudia Antunes 14
15 Capítulo 2 Exploração de Dados Provenientes de Bases de Dados Relacionais A importação de tabelas de uma base de dados relacional pode ser feita através de uma ligação ODBC. CRIAÇÃO DE RELATÓRIOS De modo a apresentar os resultados de exploração dos dados ao utilizador final, o Enterprise Guide é capaz de gerar relatórios em quatro formatos: texto, HTML, PDF e RTF. Assim, a execução de cada tarefa pode gerar um relatório num destes formatos, sendo possível customizar a sua aparência, assim como os títulos, cabeçalhos e rodapés, a partir da opção Titles na área Selection de cada tarefa. Para a alteração do estilo do relatório a gerar no formato HTML, é possível escolher um estilo já existente em ToolsOptionsResultsHTML, alterá-lo na opção Manage Styles ou criar um novo a partir de um ficheiro.css (procedimento semelhante ao seguido no Microsoft Frontpage). Listagens A listagem (List Data) é o relatório mais simples que o Enterprise Guide consegue gerar. Trata-se de um relatório simples em que se pode escolher, entre outros detalhes: As variáveis a analisar (List variables); Os totais a apresentar (Total of); Que agrupamentos usar (Group By) Exercício 6 1. Seleccione a tabela de dados SupplyInfo. 2. Escolha a opção DescribeList Data a partir da barra de menus. 3. De forma a listar a morada dos fornecedores, agrupados por país (como se mostra), faça: a) Arraste as variáveis CompanyName, Address e City da área Variables para a área Task Roles, como List Variables; b) Seleccione o atributo Country para agrupar os fornecedores (Group By); ordene-os por ordem alfabética; c) Seleccione o atributo Country também como Identifying Label, de modo a que cada país apareça apenas uma vez; d) Para alterar o identificador da coluna de fornecedores, seleccione CompanyName (sob Cláudia Antunes 15
16 Sistemas de Apoio à Decisão - Manual de Laboratório o papel de List Variable) e seguindo a opção Properties, altere o rótulo para Supplier. e) De modo a especificar outras opções escolha a opção Options na área Selection. 4. Para visualizar o relatório, seleccione o nó criado no fluxo de processos e execute-o (Run). Para além de listagens simples, que apenas apresentam os dados registados numa tabela, o Enterprise Guide permite a criação de outros relatórios capazes de apresentar algumas estatísticas sobre os dados, como sejam frequências. Existem dois tipos de relatórios disponíveis a partir do menu Describe: de uma (One-Way Frequency) ou de duas frequências (Two-Way Frequency). A construção do primeiro tipo é semelhante à criação de uma listagem simples pelo que apenas apresentaremos o segundo tipo. Exercício 7 1. Seleccione a tabela de dados Products. 2. Escolha a opção DescribeTable Analysis a partir da barra de menus. 3. De forma a determinar quantos dos produtos vendidos estão actualmente disponíveis versus os que foram descontinuados em cada categoria de alimentos, faça: a) Seleccione as variáveis CategoryName e Discontinued como Table Variables arrastando-as; b) Seleccione a opção Tables na área Selection para definir a estrutura da tabela. Arraste a variável Discontinued das variáveis permitidas para a zona <drag variables here> na área Preview; c) Arraste a variável CategoryName para o centro da tabela. Depois disto deverá ter a seguinte estrutura: d) Em seguida especifique as estatísticas que devem ser apresentadas, a partir da opção Cell Statistics. e) Execute o nó de forma a visualizar o relatório gerado, que deve assemelhar-se a Cláudia Antunes 16
17 Capítulo 2 Exploração de Dados Tarefas de Agregação Para além de frequências é possível gerar relatórios com estatísticas mais interessantes, como são médias, medianas, máximos, variâncias, totais (sum), entre outras. Para tal existem tarefas de agregação (Summary Statistics). Um aspecto relevante é o facto de estas tarefas poderem gerar novas tabelas como resultado das suas operações. Exercício 8 1. Faça a importação da tabela de dados Profit.sas7bdat e seleccione-a. 2. Escolha a opção DescribeSummary Statistics a partir da barra de menus. 3. De forma a criar uma tabela sumário que contenha o total dos proveitos gerados pelos produtos adquiridos a cada um dos fornecedores, faça: a) Seleccione a variável Profit como Analysis Variable arrastando-a; b) Seleccione a variável CompanyName como Classification Variable, mantendo os valores de omissão para estas variáveis; c) Seleccione Country como Copy Variable, de modo a incluí-la nos resultados; d) Escolha a média (Mean) e a soma (Sum) como estatísticas a apresentar na opção StatisticsBasic, na área Selection; 4. De modo a guardar os resultados gerados numa tabela, seleccione a opção ResultsSave statistics to data set, escolhendo o nome da nova tabela seleccionando a opção Modify e introduzindo o respectivo nome. 5. Renomeie o nó Summary Statistics criado para Compute Total Profit e analise a tabela de dados gerados. Cláudia Antunes 17
18 Sistemas de Apoio à Decisão - Manual de Laboratório Gráficos Por fim, o Enterprise Guide disponibiliza ainda a criação de gráficos para incluir nos seus relatórios. Os tipos de gráficos existentes são os geralmente disponíveis noutras aplicações comerciais (Bar, Pie, Area, Line, Surface, Donut,...). E permite a sua geração em diversos formatos (Active X, Java, GIF, JPG). O processo de geração dos gráficos é semelhante à de outras aplicações, como por exemplo o Microsoft Excel. UTILIZAÇÃO DE INTERROGAÇÕES SQL De modo a seleccionar parte dos dados existentes numa tabela, o Enterprise Guide permite a criação de filtros através da definição de interrogações SQL. Tal como noutras aplicações, a definição das interrogações é feita numa interface gráfica designada Query Builder. O Query Builder possui várias funcionalidades, das quais se destacam as existentes nas seguintes áreas de trabalho: Filter Data permite a definição de interrogações SQL simples (apenas com cláusulas WHERE). É, portanto, usado para devolver apenas os registos / linhas que satisfazem os critérios impostos. Estes critérios podem ser baseados em valores de atributos existentes na tabela ou calculados a partir da tabela. Select and Sort é usada para seleccionar que colunas são incluídas no resultado e que papéis desempenham nas interrogações. Tables é usado para fazer junção de várias tabelas que tenham alguma relação entre elas (Join). Group Filters semelhante ao Filter Data mas para interrogações com agregações (Group By e cláusulas HAVING). Esta área não está disponível, caso não exista nenhuma variável seleccionada com o papel group na área Select and Sort. Parameters permite definir parâmetros para criar interrogações parametrizáveis, ou seja, interrogações que dependendo dos valores introduzidos pelo o utilizador durante a execução, devolvem resultados diferentes. Interrogações Simples Exercício 9 1. Seleccione a tabela de dados SupplyInfo. Cláudia Antunes 18
19 Capítulo 2 Exploração de Dados 2. Escolha a opção Create query... a partir do menu pop-up. 3. De forma a criar uma tabela que contenha apenas os fornecedores não-americanos, apresentando unicamente os atributos Country, CompanyName e City faça: a) Na área Filter Data, seleccione a variável Country e arraste-a para a área de edição do filtro; b) Seleccione o botão Column Values de modo a gerar a lista de valores possíveis para a variável em causa (o Enterprise Guide devolve um máximo de 250 valores distintos, por omissão); c) Da lista gerada, seleccione o valor USA ; d) Active a opção Apply NOT to filter; e) De modo a incluir apenas os 3 atributos pretendidos, desactive as check-boxes de todos os atributos excepto os pretendidos, na área Select and Sort. f) Ao ser executada a interrogação irá gerar uma nova tabela, renomeie-a para Non_US_Suppliers na área Advanced, clicando em Change. 4. Execute a interrogação (Run query) e analise a tabela gerada. Interrogações com Agregações Exercício Seleccione a tabela de dados Profit. 2. Escolha a opção Create query... a partir do menu pop-up. 3. De forma a criar uma tabela que contenha uma linha por cada produto cuja média do lucro obtido nas várias encomendas é superior a 25 faça: a) Na área Select and Sort: i ) exclua os atributos City, QuantityPerUnit, UnitCost e CategoryName; ii ) na coluna Group By and Summary Functions (identificada por Σ), para o atributo ProductName, seleccione <group>; iii ) na mesma coluna, mas para o atributo Profit seleccione AVG. Clique uma vez no nome do atributo (CC1) e renomeie-o para ProfitAvg; iv ) desactive a opção Allow Duplicate Rows. b) Na área Group Filters: i ) ii ) arraste o atributo ProfitAvg da área de selecção para a área de edição; na janela de diálogo Edit Filter Condition, seleccione o operador <, less than e o valor 25 no campo Value. c) Na área Advanced, altere o nome do ficheiro a gerar para ProfitAvg. d) Depois de alterar o nome da tabela, execute a interrogação. Junção de Tabelas JOIN Exercício Seleccione a interrogação criada no Exercício 9 alínea f) e crie uma cópia. 2. Renomeie a cópia para ComputeTotalProfit. 3. Clique duas vezes sobre a nova interrogação de modo a editá-la. Deste modo usará a interrogação do Exercício 9 como template. 4. Na área Tables seleccione a opção Add DataProject. Mantendo a tecla CTRL pressionada, seleccione as tabelas Products e Orders. 5. A relação entre a tabela Products e SupplyInfo aparecerá na área Filter Data, mas surgirá uma mensagem de erro por não existir nenhuma relação (automaticamente detectável) entre aquelas tabelas e a tabela Orders. Cláudia Antunes 19
20 Sistemas de Apoio à Decisão - Manual de Laboratório 6. Clique em OK e estabeleça a relação manualmente, ligando as tabelas Products e Orders através dos atributos ProductID e ProdID. (A ligação é feita clicando no 1º atributo e mantendo o botão do rato premido, enquanto se arrasta o rato para o 2º atributo e se liberta o botão do rato. Aparece uma linha a ligar as duas tabelas). 7. Através da área Select and Sort, apague os atributos ProductID, SupplierID, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued e ProdID. 8. Adicione um novo atributo seleccionando a opção New...; altere o campo Alias para Profit e crie uma expressão para calcular os valores do novo atributo, seleccionando a opção Change... a) Seleccione CurrentQuery na área ValuesData Source, e SellPrice em ValuesValue, clicando em Insert. b) Continue a expressão de modo a obter (SellPrice-UnitCost)*Quantity. c) Defina o formato do novo atributo como Currency e EUROw.d d) Altere o nome do ficheiro para ComputeTotalProfit, na área Advanced. 9. Execute a interrogação e analise os resultados. Parametrização de Interrogações Um parâmetro é identificado pelo símbolo &. O Enterprise Guide disponibiliza vários tipos de parâmetros: Character String apresenta uma caixa de texto que apenas aceita caracteres; Number apresenta uma caixa de texto que apenas aceita dígitos; Item from a list apresenta uma drop-down list com os valores aceites, que são introduzidos na área Parameter validation; Item from an editable list semelhante à anterior, mas permite a introdução de um novo valor; Multiple items from a list semelhante à Item from a list, mas permite a selecção de vários valores; Date apresenta uma caixa de texto que apenas aceita valores correspondentes a datas, no formato MONTH DD, YYYY. Clicando sobre a seta é possível escolher uma data a partir de um calendário; Time apresenta uma caixa de texto que apenas aceita valores correspondentes a tempo, no formato HOURS:MINUTES:SECONDS AM/PM; Date and time apresenta uma caixa de texto que apenas aceita valores correspondentes a datas seguidas de tempos. Exercício Seleccione a tabela de dados ComputeTotalProfit. 2. Escolha a opção Create Query... a partir do menu pop-up. 3. Seleccione a opção ParametersNew..., e na janela de diálogo de Properties escolha: a) Number como tipo de parâmetro; b) Atribua o nome Profit_Limit ao atributo; c) Introduza como mensagem a apresentar ao utilizador a string Display Suppliers with Total Profits Exceeding $, no campo Message for user; Cláudia Antunes 20
21 Capítulo 2 Exploração de Dados d) Seleccione None no campo Enclose user input with e atribua 0 ao valor por omissão (Default value). 4. De modo a usar o filtro definido, crie uma interrogação a partir da área Filter Data: a) Arraste o atributo Profit para a área de edição; b) Na janela de diálogo Edit Filter Condition, seleccione a opção >, greater than como operação; c) Na mesma janela seleccione o parâmetro &Profit_Limit para servir de parâmetro para a interrogação (clicando em Parameter Names aparecem os parâmetros disponíveis). 5. Na área Select and Sort, remova os atributos _WAY, _TYPE e _FREQ. 6. Altere o nome do ficheiro para ProfitLimit, na área Advanced. 7. Execute a interrogação e altere o nome da tabela para ProfitLimit. Nota: De modo a que seja sempre pedido um novo valor para o parâmetro, seleccione ToolsOptionsQueryFor queries with parameters, always prompt for values. Cláudia Antunes 21
23 Capítulo 3 CRIAÇÃO DE CUBOS FICHEIROS NECESSÁRIOS Aceda ao site da disciplina, e copie os ficheiros seguintes para uma pasta c:/sad/company/data: books.sas7bdat music.sas7bdat electronics.sas7bdat company.sas7bdat De modo a implementar uma instanciação de um modelo multidimensional, o SAS fornece o pacote SAS OLAP Cube Studio, entre outros (por exemplo o SAS ETL Studio). Em concreto, o que é necessário é criar o(s) cubo(s) que melhor se adequa(m) às necessidades. Para tal é fundamental seguir 4 passos: Definir conceptualmente o cubo, ou seja, definir as medidas, as dimensões e respectivas hierarquias, assim como as agregações que se pretende analisar (como explicado nos livros de texto). Criar uma nova biblioteca para armazenar as tabelas com os dados originais tabelas fonte, e registar a sua localização no servidor de meta-dados. Registar as tabelas fonte no servidor de meta-dados. Construir o(s) cubo(s) e definir as permissões associadas. Cláudia Antunes 23
24 Sistemas de Apoio à Decisão - Manual de Laboratório CRIAÇÃO DE CUBOS A PARTIR DE UMA TABELA DE DETALHE Uma tabela de detalhe é uma tabela que resulta da desnormalização completa dos dados referentes a um assunto que se pretende analisar. Nos exercícios seguintes considere a tabela company que se ilustra em baixo. Exercício 1 LIGAÇÃO AO SERVIDOR DE METADADOS 1. Garanta que os servidores de OLAP SAS OLAP Server e de metadados SAS Metadata Server foram lançados com sucesso a) Pode verificar se o servidor foi correctamente lançado, a partir da análise dos serviços activos no sistema operativo (em Computer Management Services and Applications Services): verifique que os serviços SAS Lev1 MS SASservers e SAS Lev1 OL SASservers estão a funcionar. 2. Lance o pacote de software SAS OLAP Cube Studio. a) Seleccione a opção FileOpen Metadata Profile... b) Seleccione Open an existing metadata profile e escolha o perfil criado durante o processo de configuração de software perfil SASservers. Exercício 2 REGISTO DA TABELA DE DADOS 1. Ainda no SAS OLAP Cube Studio, seleccione a opção Source Designer (ToolsSource Designer) de modo a definir a localização dos dados. a) Escolha a opção SAS como tipo de fonte. b) Se for solicitada a ligação ao servidor SAS, use o servidor SAS Main, ligue-se usando a conta sasadmin (password= admin ) Cláudia Antunes 24