Você está na página 1de 13

Site: http://translate.google.com.br/translate?hl=ptBR&langpair=en%7Cpt&u=http://blogs.technet.com/b/serviceman ager/archive/2010/04/23/how-to-create-a-custom-report-anddisplay-it-in-the-console.

aspx

http://blogs.technet.com/b/servicemanager/archive/2010/04/23/ho w-to-create-a-custom-report-and-display-it-in-the-console.aspx

Como criar um relatrio personalizado e exibi-lo no console


Neste post eu vou explicar em detalhes como adicionar novas propriedades a uma classe existente e fazer as alteraes correspondentes que so necessrios para habilitar o relatrio sobre as novas propriedades. Para este exemplo, vamos adicionar um novo CostCenter propriedade aos nossos pedidos de mudana, tomar as medidas necessrias para garantir que esta nova propriedade flui para o data warehouse e, finalmente, criar um relatrio personalizado que inclui a nova propriedade. Estender a classe Solicitao de Mudana Primeiro, para adicionar a propriedade CostCenter classe System.WorkItem.ChangeRequest precisamos criar um novo pacote de gerenciamento (vamos cham-lo Woodgrove.ChangeRequest.Extension). Neste pacote de gerenciamento, vamos adicionar uma referncia ao pacote de gerenciamento que definiu a classe, estamos estendendo ... neste caso System.WorkItem.ChangeRequest.Library. Fazemos isso na seo de Referncias do Manifesto como abaixo:
<Manifesto> <> Identidade <ID> Woodgrove.ChangeRequest.Extension </ id> <> Verso 1.0.0.0 </ Version> <Identidade /> <> Nome changeRequest Woodgrove Extenso </ Nome> <> Referncias <Alias Referncia = "ChangeRequestLibrary"> <ID> System.WorkItem.ChangeRequest.Library </ id> <> Verso 7.0.5826.0 </ Version> <PublicKeyToken> 31bf3856ad364e35 <PublicKeyToken /> <Referncia /> </ Referncias> <Manifest />

Agora podemos adicionar a propriedade CostCenter, criando uma classe nova extenso. Esta classe no uma verdade por si s, ele s serve para adicionar uma ou mais propriedades sua classe base (a classe que voc est estendendo). Podemos especificar esta uma classe de extenso por extenso especificando = "true" ao definir a classe como abaixo:
<ClassType ID = "Woodgrove.ChangeRequest.ExtensionClass" Acessibilidade = "Pblico" Base = "ChangeRequestLibrary System.WorkItem.ChangeRequest!" Extenso = "true"> Propriedade < ID = "CostCenter" Type = "int" MaxLength = "5" MinLength = "5" /> </ ClassType>

Criando um relatrio personalizado Vamos em frente e adicione Centro de Custos para a Lista de Solicitaes de Mudana do relatrio que acompanha Service Manager 2010. Para fazer isso, existem 6 principais passos vamos tomar: 1. Certifique-se de Woodgrove.ChangeRequest.Extension implantado com xito para o armazm 2. Personalizar o processo de informao armazenada para recuperar dados de centro de custo 3. Personalize o RDL (de definio de relatrio), que enviados para fora da caixa para exibir o Centro de Custo 4. Criar um pacote de gerenciamento personalizado para torn-lo fcil de implementar todos os recursos necessrios 5. Seal e agrupar o RDL personalizado e procedimento armazenado em nosso pacote de gerenciamento personalizado 6. Importar o pacote de pacote de gerenciamento em Service Manager (isto faz a implantao de todos os recursos) Se voc j trabalhou com o Reporting Services antes, voc provavelmente sabe que voc no precisa criar o pacote de gerenciamento para implantar (voc pode publicar o certo do SQL Server Management Studio) e existem atalhos para muitos dos passos abaixo. Quero mostrar-lhe o melhor processo, mais consistentemente repetidos a seguir. Lembre-se, pacotes de gerenciamento so como os jogos de Xbox e Service Manager como o console Xbox. O jogo tem, no s para incluir a lgica do jogo, mas tambm os grficos e todas as coisas detalhadssima para fazer o trabalho cada vez que voc coloc-lo no console. Voc pode "mod" seu console e talvez fazer coisas legais com menos esforo, mas se voc seguir o processo abaixo voc ser capaz de facilmente handoff um pacote pacote de gerenciamento para qualquer outro time para a garantia da qualidade ou implantao de produo e know-lo corretamente implantar, contm todos os recursos necessrios, e no preciso de sua "expertise" em seguir um guia de implantao. Coisas importantes a Nota! 1. Ns no recomendamos modificar os relatrios e os seus procedimentos armazenados diretamente devido ao fato de que a atualizao para as futuras verses do Service Manager pode potencialmente sobrescrever suas alteraes (SQL suporta alterando um procedimento armazenado inteiro, por exemplo, ento se voc mudar uma linha do mesmo e depois temos de mudar uma linha diferente, a alterao no preservada).

2.

Para evitar alteraes conflitantes, recomendamos que voc criar relatrios personalizados e os correspondentes procedimentos armazenados.

Passo 1: Certifique-se de Woodgrove.ChangeRequest.Extension implantado com xito para o armazm Antes de podermos comear a personalizar a lista do relatrio de Solicitao de Mudana, precisamos garantir a Woodgrove.ChangeRequest.Extension pacote de gerenciamento completou importar para Service Manager, sincronizado com servio de depsito Data Manager atravs do trabalho MPSync, e implantado com sucesso. Para saber mais sobre MPSync ver Data Warehouse - Anatomy of Management sincronizao Pacote . Para determinar o pacote de gesto tem implantado com sucesso, podemos clicar sobre o Data Warehouse wunderbar -> Pacotes de Gerenciamento, digite o Woodgrove.ChangeRequest.Extension nome na caixa de busca na parte superior da pgina (que diz Filter), e podemos ver o status da implantao desta MP. Se for concluda, o MP implantado com xito.

Uma vez que o MP Woodgrove.ChangeRequest.Extension implantado com xito, a viso que representa a dimenso changeRequest (changeRequestDimvw) ser atualizado automaticamente para incluir centro de custo.

Uma vez que o ChangeRequestDimvw atualizado com o novo centro de custos de propriedade, quando escolher uma solicitao de mudana, seremos capazes de filtrar nesta propriedade do selecionador Dimension automaticamente, sem qualquer modificao de relatrios.

Por favor, veja a imagem Picker Dimenso para Solicitao de Mudana. Antes da implantao do Woodgrove.ChangeRequest.Extension:

Aps a implantao do Woodgrove.ChangeRequest.Extension:

Passo 2: Como personalizar o procedimento armazenado para recuperar dados de Centro de Const Lista de Solicitaes de Mudana No servidor que hospeda o SQL Service Manager Data Warehouse Datamart 1. Abra o Microsoft SQL Server Management Studio, 2. Ir para bancos de dados -> DWDataMart - Programao> -> Stored Procedures, clique direito sobre ServiceManager

_Report_ChangeManagement_SP_GetListOfRFCs_Install, Script Stored Procedure como> CREATE Para> Nova Janela Editor de Consultas 3. Na Janela do Editor, modificar o nome do procedimento a ser Woodgrove _Report_ChangeManagement_SP_GetListOfRFCs_Install e depois na clusula Select, adicione o Centro de Custos (veja figura abaixo), Clique em Executar

4.

Voc vai encontrar o procedimento armazenado personalizado instalado em DWDataMart - Programao> -> Stored Procedures.

Copie o procedimento armazenado personalizado da janela do editor e col-lo em um arquivo eo nome do arquivo como este Woodgove.Report.ChangeManagement.SP.GetListOfRFCs.Install.sql. Este script SQL ser chamado pelo pacote de gerenciamento mais tarde, quando fazemos a implantao . Precisamos modificar este arquivo um pouco para garantir sua reexecutvel (assim voc pode implant-lo quantas vezes quiser sem ficar excees SQL). Antes da instruo CREATE PROCEDURE, vamos adicionar o seguinte trecho de cdigo:
- Drop procedimento armazenado se ele j existe IF EXISTS ( SELECT * FROM INFORMATION_SCHEMA.ROUTINES ONDE SPECIFIC_SCHEMA = N 'dbo' E SPECIFIC_NAME = 'Woodgrove_Report_ChangeManagement_SP_GetListOfRFCs_Install' N ) Dbo.Woodgrove_Report_ChangeManagement_SP_GetListOfRFCs_Install DROP PROCEDURE GO

E no final deste arquivo, anexamos o seguinte:


GRANT EXECUTE ON dbo.Woodgrove_Report_ChangeManagement_SP_GetListOfCustomRFCs_Install TO reportuser GO

Este Grant Executa o comando muito importante, pois garante que qualquer pessoa que tenha direitos para executar os relatrios (ou seja, no papel reportuser) pode executar o procedimento armazenado. Sem isso, o relatrio ir falhar para usurios que no tm pleno acesso ao armazm de dados (ea maioria dos usurios relatrio

no deve!). Para o procedimento completo armazenado, consulte os arquivos anexados. Ns tambm precisamos criar um script de desinstalao, que ser chamada quando o pacote de gerenciamento personalizado desinstalado (esta limpa objetos de banco de dados aps a MP no mais necessrio). Ver o anexo (Woodgrove.Report.ChangeManagement.SP.GetListOfRFCs. Un install.sql), realmente no to interessante assim que eu no inclu-lo no prprio posto. Estes scripts instalar e desinstalar SQL (bem como a RDL que estamos prestes a criar) ter empacotados em um nico pacote de pacote de gerenciamento que ir facilitar a implantao fcil. Passo 3: Como personalizar a Lista de Solicitaes de Mudana RDL para adicionar Centro de Custo no relatrio
1. 2. 3. 4. 5. 6. 7. 8. 9. Abra o Internet Explorer Navegue at http:// name> servidor <report / reports Clique SystemCenter Clique ServiceManager Clique ServiceManager.Console.Reporting.ChangeManagement Clique ServiceManager.Report.ChangeManagement.ListOfRFCs Clique na guia Propriedades Clique em Editar na definio de relatrio seo Clique em Salvar, especifique um local de arquivo

10. Abra o SQL Server Business Intelligence Studio 11. Clique em Arquivo> Novo projeto 12. Clique Project Server Report, o nome do projeto e clique em OK 13. Boto direito do mouse fontes de dados compartilhadas no No Solution Explorer, no painel direito. 14. Selecione Adicionar Nova Fonte de Dados 15. DWDataMart tipo na caixa de texto Nome 16. Clique no boto Editar ao lado da rea de texto Connection String

17. Tipo name> servidor <DW no "Server Name" caixa de texto 18. Selecione DWDataMart no "Selecione ou digite um nome de banco de dados" na lista suspensa 19. Clique em OK 20. Boto direito do mouse fontes de dados compartilhadas no No Solution Explorer, no painel direito. 21. Selecione Adicionar Nova Fonte de Dados 22. DWStagingandConfig tipo na caixa de texto Nome 23. Clique no boto Editar ao lado da rea de texto Connection String 24. Tipo name> servidor <DW no "Server Name" caixa de texto 25. Selecione DWStagingandConfig no "Selecione ou digite um nome de banco de dados" na lista suspensa 26. Clique em OK 27. Boto direito do mouse Relatrios 28. Clique em Adicionar> Existing Item 29. Selecione o arquivo que voc baixou na ServiceManager.Report.ChangeManagement.ListOfRFCs.rdl etapa 9 acima 30. D um duplo clique no relatrio ServiceManager.Report.ChangeManagement.ListOfRFCs adicionado no painel Solution Explorer para abri-lo no modo Design

31. No lado esquerdo painel Dados do Relatrio, clique no DWDataMart, e ento d


um duplo clique no Table_RFC, no abrir a janela Propriedades do Conjunto de Dados, selecione o
Woodgrove_Report_ChangeManagement_SP_GetListOfRFCs_Install procedimento armazenado personalizado (que anteriormente criado) no menu

suspenso campos de Selecione ou digite nome do procedimento armazenado.

32. No painel Design, boto direito do mouse sobre o [ttulo]> Coluna> Inserir direito,
na clula vazia, selecione o CostCenter da lista de exibio.

33. Boto direito do mouse


ServiceManager.Report.ChangeManagement.ListOfRFCs.rdl no Solution Explorer, no painel direito, selecione Renomear e altere o nome para Woodgrove.Report.ChangeManagement.ListOfRFCs.rdl

34. Salvar este projeto


Voc poderia implementar isso para servidor do Reporting Services, neste momento, mas recomendamos que voc continue lendo um pouco mais e aprender sobre a agregao de pacotes de gerenciamento e de implantao, fcil repetvel. Passo 4: Como criar um pacote de gerenciamento personalizado

Poderamos criar um pacote de gerenciamento do risco ou podemos usar o MP ServiceManager.ChangeManagement.Report.Library que vem com o Service Manager como um modelo e modific-lo para satisfazer as nossas necessidades. (Lembre-se, o pacote de gerenciamento final anexado, mas uma tima idia para ler este para entender como chegamos l Para obter o xml do MP ServiceManager.ChangeManagement.Report.Library, consulta o banco de dados ServiceManager:
selecionar CONVERT (xml, mpxml) de ManagementPack onde MPName = 'ServiceManager.ChangeManagement.Report.Library'

Copiar a sada para um arquivo e nome-lo como Woodgrove.ChangeManagement.Report.Library.xml Abra este arquivo e edit-lo.: 1. Alterar a identidade do mp e seu nome para
Woodgrove.ChangeManagement.Report.Library (o ID deve coincidir com o

nome do arquivo)
<> Identidade <ID> Woodgrove.ChangeManagement.Report.Library </ id> <> Verso 7.0.5826.0 </ Version>

<Identidade /> <> Nome Alterar Woodgrove Biblioteca Relatrio de Gesto </ Nome>

2.

Remova todas as sees que no so necessrios para este relatrio personalizado: No n <DataWarehouseScripts>, apagar todos os ns, exceto
<DataWarehouseScript ID = "ServiceManager.Report.ChangeManagement.SP.GetListOfRFCs.Script" Acessibilidade = "Pblico">

No n <> Relatrios de apagar todos os ns, exceto Relatar <


"Pblico" Visible = "true" Target = "Alterar System.WorkItem.ChangeRequest!">

ID =

"ServiceManager.Report.ChangeManagement.ListOfRFCs" Acessibilidade =

No n <DisplayStrings>, exclua todas as cadeias de exibio para os outros relatrios No n <> Recursos, apenas manter os recursos para o GetListOfRFCs, apagar todos os outros recursos

3.

Em seguida, vamos precisar modificar alguns dos elementos do pacote de gerenciamento Para alterar a pasta onde o relatrio vai ficar implantado, apagar todos os elementos sob <Folder> <Folders> e adicione o seguinte.
<> Apresentao <> Pastas Pasta < ID = "Console.Reporting.ChangeManagement Woodgrove." Acessibilidade = "Pblico" ParentFolder = "SMReport! ServiceManager" /> </ Pastas> <FolderItems> <FolderItem ElementID = "Woodgrove. Report.ChangeManagement.ListOfRFCs" ID = "ChangeManagement.FolderItem.1" Pasta = "Console.Reporting.ChangeManagement Woodgrove." /> </ FolderItems>

Note que qualquer pasta no Reporting Services em / SystemCenter / ServiceManager ir aparecer automaticamente no console. O ParentFolder acima (SMReport! ServiceManager) referncias desta pasta raiz nos bastidores, mas voc pode implantar arquivos RDL l diretamente, se voc gostaria.
Mudar o ID Relatrio e todas as cadeias de exibio correspondentes (muitos deles)

<Relatrios ID = "Woodgrove. Report.ChangeManagement.ListOfRFCs" Acessibilidade = "Pblico" Visible = "true" Target = "Alterar System.WorkItem.ChangeRequest!">

...

<DisplayString ElementID = "Woodgrove. Report.ChangeManagement.ListOfRFCs" SubElementID = "RFCName"> <Nome> Nome </ Name </ DisplayString>

Alterar os arquivos de recurso vinculativa para os procedimentos armazenados personalizados (a partir do passo 1) e RDL (a partir do passo 2)
<Recursos> Recurso < ID = "ServiceManager.Report.ChangeManagement.SP.GetListOfRFCs.Install" Acessibilidade = "Pblico" FileName =

"Woodgrove.Report.ChangeManagement.SP.GetListOfRFCs.Install.sql" HasNullStream = "false" /> Recurso < ID = "ServiceManager.Report.ChangeManagement.SP.GetListOfRFCs.Uninstall" Acessibilidade = "Pblico" FileName = "Woodgrove.Report.ChangeManagement.SP.GetListOfRFCs.Uninstall.sql" HasNullStream = "false" /> <ReportResource ID =

"ServiceManager.Report.ChangeManagement.ListOfRFCs.ReportRdl" Acessibilidade = "Pblico" FileName = "Woodgrove.Report.ChangeManagement.ListOfRFCs.rdl" HasNullStream = "false" MIMEType = "application / octet-stream" />

</ Recursos>

Atualizar os caracteres visveis para os elementos modificados


<DisplayString ElementID = "Woodgrove. ChangeManagement.Report.Library"> <> Nome Alterar Woodgrove Biblioteca Relatrio de Gesto </ Nome> </ Description> </ DisplayString> <DisplayString ElementID = "Woodgrove. Console.Reporting.ChangeManagement"> <> Nome Gerenciamento de Mudanas Woodgrove </ Nome> <> Descrio Contm relatrios Alterar Woodgrove Gesto </ Description> </ DisplayString>

Adicione uma referncia ao n mp <referncias>


<Referncia Alias = "ChangeReport"> <ID> ServiceManager.ChangeManagement.Report.Library </ id> <> Verso 7.0.5826.0 </ Version>

<PublicKeyToken> 31bf3856ad364e35 <PublicKeyToken /> <Referncia /> ...

Salve o arquivo, aps as alteraes. Se voc chegou at aqui, palmadinhas nas costas ... estamos quase acabando.
Passo 5: Seal e agrupar o RDL personalizado e procedimento armazenado no pacote de gerenciamento personalizado

Lembre-se, pacotes de gerenciamento importados para obter Servio CMDB Gestor atravs do console ou powershell, em seguida, mais puxado para o armazm, atravs do trabalho MPSync (Gesto de sincronizao Pack). Use fastseal.exe baixado de pacotes de gerenciamento de vedao blog para selar este mp. Para gerar o par de chaves, consulte Como: Criar um par de chaves Pblico / particular . Aps a selagem do pacote de gerenciamento, temos Woodgrove.ChangeManagement.Report.Library.mp.
Existem vrios mtodos que voc pode usar para agrupar um pacote de gerenciamento de arquivos com seus recursos, como o uso do New-MPBFile script para Windows PowerShell. Voc pode aprender mais e descarregue esta rom f script Apresentando Management Pack Bundles blog. Por convenincia, o arquivo e fastseal.exe New-MPBFile.ps1 esto anexados a este blog.

Para tornar o pacote de pacote de gerenciamento voc deve colocar todos os recursos na mesma pasta ... vamos criar c: \ relatrios personalizados e copiar os seguintes arquivos para esta pasta:
Woodgrove.Report.ChangeManagement.SP.GetListOfRFCs.Install.sql (a partir do passo 2), Woodgrove.Report.ChangeManagement.SP.GetListOfRFCs.Uninstall.sql (a partir do passo 2), Woodgrove.Report.ChangeManagement.ListOfRFCs.rdl (a partir do passo 3), Woodgrove.ChangeManagement.Report.Library.mp (a partir do passo 4), New-MPBFile.ps1 (arquivo anexado)

Agora o fogo at o console Powershell e tipo (em uma linha):


. \ New-MPBFile.ps1. \ Woodgrove.ChangeManagement.Report.Library.mp woodgroveReport

woodgroveReport o nome do pacote de gerenciamento de pacote. Ele deve ser parecido:

Passo 6: Importar o pacote de pacote de gerenciamento A partir do console voc pode importar o pacote woodgroveReport.mpb pacote de gerenciamento do espao de trabalho da Administrao ou voc pode usar cmdlet powershell como:
Add-PSSnapin smcmdletsnapin Import SCSMManagementPackwoodgroveReport.mpb

Note-se que devemos sempre importao gesto pack (pacote) em Service Manager em vez de servio de Data Warehouse Manager. Uma vez importado e implantao completa, voc ver uma pasta novo relatrio na rea de trabalho relatrio chamado Woodgrove Gesto da Mudana e dever conter o relatrio que acaba de ser criada. As seguintes so algumas screenshots do novo relatrio personalizado.

Voc pode baixar o rdl personalizado, extenso mp arquivo de formatao XML, relatrio personalizado mp arquivo de formatao XML, arquivos sql de relatrio, a aplicao fastSeal.exe, New-MPBFile.ps1 roteiro powershell daqui..:

Você também pode gostar