报表示例方案: 如何在自定义视图中包括仪表板和报表
发布日期: 2016年5月
适用于: System Center 2012 SP1 - Service Manager,System Center 2012 R2 Service Manager,System Center 2012 - Service Manager
System Center 2012 – Service Manager 对 Microsoft SharePoint 存在依赖关系并且在 Service Manager 框中包含新的 Microsoft 联机分析处理 (OLAP),这方面存在的其中一项好处是非常便于在 Microsoft SharePoint Server 2010 或 Microsoft Excel 中使用 PerformancePoint Services 来创建 SharePoint 仪表板。 然后,你可以在 Service Manager 中创建自定义视图以显示这些仪表板。
在 Service Manager 控制台中使用下列过程创建自定义视图,以从你的环境中显示 SharePoint 仪表板。 完成下列全部三个过程以使它们出现。
若要创建仪表板管理包,请执行以下操作
在 Service Manager 控制台 中,单击**“管理”**。
在“任务”窗格中,单击“启动 PowerShell 会话”。
在 Windows PowerShell 窗口处,键入下列内容,然后按 Enter:
New-SCManagementPack –DisplayName Dashboards
在 Service Manager 控制台 中,单击**“工作项”**。 在“工作项”窗格中,右键单击“事件管理”,然后单击“创建文件夹”。
在**“创建新文件夹”对话框中,键入 Dashboards 作为“文件夹名称”。 选择 Dashboards 作为“管理包”,然后单击“确定”**。
在 Windows PowerShell 中,键入下列两个命令:
Get-SCManagementPack –DisplayName Dashboards | Export-SCManagementPack –Path C:\DashBoards
Get-SCManagementPack –DisplayName Dashboards | Remove-SCManagementPack
若要在 Visual Studio 中编辑仪表板管理包,请执行以下操作
启动 Microsoft Visual Studio。
在 Visual Studio 中,依次单击“文件”、“打开”、“文件”,然后在“打开文件”对话框中,指向“C:\DashBoards”文件夹并打开你刚才导出的管理包文件。 文件名称的格式为 ManagementPack.<GUID>.xml。
在 Visual Studio 中编辑管理包文件,如接下来若干步骤中所述。
找到 <Assembly> 标记,并将其替换为下列代码:
<Assembly>EnterpriseManagement!WpfViewsAssembly</Assembly>
将当前 ID 替换为 IncidentDashboards,如下所示:
找到下列代码块:
<Identity> <ID>ManagementPack.aded6801e732473d80731943d22d33dc</ID> <Version>7.5.1088.276</Version> </Identity>
在该块中,更新 <ID> 块,如下所示:
<ID>IncidentDashboards</ID>
然后,找到下列代码块:
<DisplayStrings> <DisplayString ElementID="ManagementPack.aded6801e732473d80731943d22d33dc"> <Name>Dashboards</Name> </DisplayString>
在该块中,更新 <DisplayString> 标记,如下所示:
<DisplayString ElementID="IncidentDashboards">
选择**“文件”、“将 ManagementPack.<GUID>.xml 另存为”,然后在“文件另存为“对话框中,键入 C:\DashBoards\IncidentDashboards.xml 作为“文件名”**。
在 <References> 部分中,添加对 System.Library 管理包的引用。 生成的 <References> 部分应如下所示:
<References> <Reference Alias="EnterpriseManagement"> <ID>Microsoft.EnterpriseManagement.ServiceManager.UI.Console</ID> <Version>7.5.1088.276</Version> <PublicKeyToken>31bf3856ad364e35</PublicKeyToken> </Reference> <Reference Alias="IncidentManagement"> <ID>ServiceManager.IncidentManagement.Library</ID> <Version>7.5.1088.276</Version> <PublicKeyToken>31bf3856ad364e35</PublicKeyToken> </Reference> <Reference Alias="System"> <ID>System.Library</ID> <Version>7.5.1088.276</Version> <PublicKeyToken>31bf3856ad364e35</PublicKeyToken> </Reference> </References>
保存已更新的文件。
在 PresentationsType 部分和 </Categories> 部分之间添加新的 <Presentation> 部分。 此添加的最终结果应如下所示:
</Categories> <PresentationTypes> <ViewTypes> <ViewType ID="Dashboard" Accessibility="Public"> <Configuration> <xsd:any minOccurs="0" maxOccurs="unbounded" processContents="skip" xmlns:xsd="http://www.w3.org/2001/XMLSchema" /> </Configuration> <ViewImplementation> <Assembly>Console!WpfViewsAssembly</Assembly> <Type>Microsoft.EnterpriseManagement.UI.WpfViews.Overview</Type> </ViewImplementation> </ViewType> </ViewTypes> </PresentationTypes> <Presentation>
保存已更新的文件。
通过在 <Presentation> 标记和 <Folders> 标记之间添加下列内容,添加视图声明。 生成的代码应如下所示:
<Presentation> <Views> <View ID="View.IncidentDashboard" Accessibility="Public" Enabled="true" Target="System!System.Entity" TypeID="Dashboard" Visible="true"> <Category>NotUsed</Category> <Configuration> <Presentation> <Header /> <Content> <WebBrowser xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml" Name="wb1" Source="http://Dashboards/IncidentDashboard.aspx"/> </Content> </Presentation> </Configuration> </View> </Views> <Folders>
说明
将 Source 属性中的 URL 替换为指向你的环境中的仪表板的 URL。 此 URL 应显示用户的浏览器可以在 Intranet 或 Internet 上访问的内容。保存已更新的文件。
将新的 FolderItem 元素添加到 FolderItems 部分。 生成的代码应如下所示:
<Folders> <Folder ID="Folder.dd2ff258eca54d93a4f10c312df00673" Accessibility="Public" ParentFolder="IncidentManagement!ServiceManager.Console.IncidentManagement" /> </Folders> <FolderItems> <FolderItem ElementID="View.IncidentDashboard" ID="FolderItem.View.IncidentDashboard" Folder="Folder.dd2ff258eca54d93a4f10c312df00673"/> <FolderItem ElementID="EnterpriseManagement!Microsoft.EnterpriseManagement.ServiceManager.UI.Console.Task.CreateGridView" ID="FolderItem.695321a1458140e7af75fe3a95888f8e" Folder="Folder.dd2ff258eca54d93a4f10c312df00673" /> </FolderItems>
重要事项
[Folder ID](assetId:///Folder ID) 每次均不同,因为它由控制台在创建文件夹时生成。 从 ID 元素中复制 <Folder> 属性,并将其作为 Folder 元素中的 FolderItem 属性进行粘贴。 确保 Folder 元素的 ID 属性值和 FolderItem 元素的 Folder 属性值完全相同。保存已更新的文件。
使用上个步骤中的 DisplayString 更新 ID。 找到下列代码:
<DisplayString ElementID="Folder.<ID>”
使用上个步骤中的 ID 将其更新。 这段代码现在应类似于下列内容:
<DisplayString ElementID="Folder.dd2ff258eca54d93a4f10c312df00673">
将新的 ImageReference 元素添加到 ImageReferences 部分。 生成的代码应如下所示:
<ImageReferences> <ImageReference ElementID="View.IncidentDashboard" ImageID="IncidentManagement!IncidentMgmt_AllIncidents_16"/> <ImageReference ElementID="Folder.dd2ff258eca54d93a4f10c312df00673" ImageID="EnterpriseManagement!Microsoft.EnterpriseManagement.ServiceManager.UI.Console.Image.Folder" /> </ImageReferences>
说明
此 ImageReference 元素指向 Service Manager 控制台中“所有事件”视图所用的默认“事件”图标。 你可以改为使用自定义的图像资源。保存已更新的文件。
将新的 DisplayString 元素添加到 DisplayStrings 部分。 生成的代码应如下所示:
<LanguagePacks> <LanguagePack ID="ENU" IsDefault="true"> <DisplayStrings> <DisplayString ElementID="View.IncidentDashboard"> <Name>Incident Dashboard</Name> </DisplayString> <DisplayString ElementID="IncidentDashboards"> <Name>Dashboards</Name> </DisplayString> <DisplayString ElementID="Folder.dd2ff258eca54d93a4f10c312df00673"> <Name>Dashboards</Name> </DisplayString> </DisplayStrings> </LanguagePack> </LanguagePacks>
保存已更新的文件。
若要在自定义视图中显示仪表板,请执行以下操作
在 Service Manager 的 Windows PowerShell 会话中,运行下列命令以验证 IncidentDashboards 管理包:
Test-SCManagementPack –FullName C:\DashBoards\IncidentDashboards.xml
如果验证成功,则通过运行下列命令导入管理包:
Import-SCManagementPack –FullName C:\DashBoards\IncidentDashboards.xml
关闭 Service Manager 控制台,然后再将其重新打开。
单击“工作项”。 在“工作项”窗格中,展开“事件管理”,然后展开“仪表板”。 选择**“事件仪表板”**视图,以便从 Service Manager 控制台 中托管的 SharePoint 站点查看仪表板。
说明
如果你要在没有 Service Manager 数据仓库的环境中运行此过程,则仪表板可能不会显示实际的数据。