在 SQL Server Reporting Services 中为 Configuration Manager 创建自定义报表模型
适用于: Configuration Manager(current branch)
示例报表模型包含在 Configuration Manager 中,但你也可以定义报表模型以满足自己的业务需求,然后将报表模型部署到 Configuration Manager,以在创建新的基于模型的报表时使用。 下表提供了创建和部署基本报表模型的步骤。
注意
有关创建更高级报表模型的步骤,请参阅本主题 中的在 SQL Server Reporting Services 中创建高级报表模型的步骤 部分。
步骤 | 说明 | 更多信息 |
---|---|---|
验证是否已安装 SQL Server Business Intelligence Development Studio | 报表模型是使用 SQL Server Business Intelligence Development Studio 设计和生成的。 验证 SQL Server Business Intelligence Development Studio 是否已安装在要创建自定义报表模型的计算机上。 | 有关 SQL Server Business Intelligence Development Studio 的详细信息,请参阅 SQL Server 2008 文档。 |
创建报表模型项目 | 报表模型项目包含数据源的定义 (.ds 文件) ,数据源视图的定义 (.dsv 文件) ,报表模型 (.smdl 文件) 。 | 有关详细信息,请参阅本主题中的 创建报表模型项目 部分。 |
定义报表模型的数据源 | 创建报表模型项目后,必须定义一个从中提取业务数据的数据源。 通常,这是 Configuration Manager 站点数据库。 | 有关详细信息,请参阅本主题中的 定义报表模型的数据源 部分。 |
为报表模型定义数据源视图 | 定义报表模型项目中使用的数据源后,下一步是为项目定义数据源视图。 数据源视图是基于一个或多个数据源的逻辑数据模型。 数据源视图封装对基础数据源中包含的物理对象(如表和视图)的访问。 SQL Server Reporting Services 从数据源视图生成报表模型。 数据源视图通过提供指定的数据的有用表示形式来促进模型设计过程。 无需更改基础数据源,即可重命名表和字段,并在数据源视图中添加聚合字段和派生表。 为了获得有效的模型,请仅将这些表添加到要使用的数据源视图中。 |
有关详细信息,请参阅本主题中的 定义报表模型的数据源视图 部分。 |
创建报表模型 | 报表模型是数据库顶部的一个层,用于标识业务实体、字段和角色。 发布后,通过使用这些模型,报表生成器用户可以开发报表,而无需熟悉数据库结构或了解和编写查询。 模型由一组相关报表项组成,这些报表项以友好名称分组在一起,这些业务项之间具有预定义的关系,以及预定义的计算。 使用称为语义模型定义语言的 XML 语言 (SMDL) 定义模型。 报表模型文件的文件扩展名为 .smdl。 | 有关详细信息,请参阅本主题中的 创建报表模型 部分。 |
发布报表模型 | 若要使用刚创建的模型生成报表,必须将其发布到报表服务器。 数据源和数据源视图在发布时包含在模型中。 | 有关详细信息,请参阅本主题中的 发布用于 SQL Server Reporting Services 的报表模型 部分。 |
将报表模型部署到 Configuration Manager | 必须先将报表模型部署到 Configuration Manager,然后才能使用 “创建报表向导” 中的自定义报表模型来创建基于模型的报表。 | 有关详细信息,请参阅本主题中的将 自定义报表模型部署到 Configuration Manager 部分。 |
在 SQL Server Reporting Services 中创建基本报表模型的步骤
可以使用以下过程创建基本报表模型,站点中的用户可以使用该模型基于 Configuration Manager 数据库的单个视图中的数据生成基于特定模型的报表。 创建一个报表模型,该模型向报表作者提供有关站点中客户端计算机的信息。 此信息取自 Configuration Manager 数据库中 的 v_R_System 视图。
在执行这些过程的计算机上,请确保已安装 SQL Server Business Intelligence Development Studio,并且计算机与 Reporting Services 点服务器的网络连接。 有关 SQL Server Business Intelligence Development Studio 的详细信息,请参阅 SQL Server 2008 文档。
创建报表模型项目
在桌面上,依次单击“ 开始”、“ Microsoft SQL Server 2008”、“ SQL Server Business Intelligence Development Studio”。
在 Visual Studio Microsoft打开 SQL Server Business Intelligence Development Studio 后,依次单击“ 文件”、“ 新建”和“ 项目”。
在“新建项目”对话框中,在“模板”列表中选择“报表模型项目”。
在“ 名称 ”框中,指定此报表模型的名称。 对于此示例,键入 Simple_Model。
若要创建报表模型项目,请单击“ 确定”。
Simple_Model解决方案显示在解决方案资源管理器中。
注意
如果看不到 “解决方案资源管理器 ”窗格,请单击“ 视图”,然后单击“ 解决方案资源管理器”。
定义报表模型的数据源
在 SQL Server Business Intelligence Development Studio 的“解决方案资源管理器”窗格中,右键单击“数据源”,选择“添加新数据源”。
在 “欢迎使用数据源向导” 页上,单击“ 下一步”。
在 “选择如何定义连接 ”页上,验证是否选择了“ 基于现有连接或新连接创建数据源 ”,然后单击“ 新建”。
在“ 连接管理器 ”对话框中,为数据源指定以下连接属性:
服务器名称:键入 Configuration Manager 站点数据库服务器的名称,或在列表中选择它。 如果使用的是命名实例而不是默认实例,请键入 <数据库服务器>\<实例名称>。
选择“ 使用 Windows 身份验证”。
在 “选择或输入数据库名称 ”列表中,选择 Configuration Manager 站点数据库的名称。
若要验证数据库连接,请单击“ 测试连接”。
如果连接成功,请单击“ 确定 ”关闭“ 连接管理器 ”对话框。 如果连接不成功,请验证输入的信息是否正确,然后再次单击“ 测试连接 ”。
在 “选择如何定义连接 ”页上,验证是否选择了 “基于现有连接或新连接创建数据源 ”,验证是否在“ 数据连接”中选择了刚刚指定的数据源,然后单击“ 下一步”。
在 “数据源名称”中,指定数据源的名称,然后单击“ 完成”。 对于此示例,键入 Simple_Model。
数据源Simple_Model.ds 现在显示在“数据源”节点下的“解决方案资源管理器”中。
注意
若要编辑现有数据源的属性,请在“解决方案资源管理器”窗格的“数据源”文件夹中双击数据源,以显示数据源设计器中的数据源属性。
定义报表模型的数据源视图
在 “解决方案资源管理器”中,右键单击“ 数据源视图 ”,选择“ 添加新数据源视图”。
在 “欢迎使用数据源视图向导” 页上,单击“ 下一步”。 将显示 “选择数据源” 页。
在 “关系数据源 ”窗口中,验证 是否选择了Simple_Model 数据源,然后单击“ 下一步”。
在 “选择表和视图” 页上,在“ 可用对象 ”列表中选择报表模型中使用的以下视图: v_R_System (dbo) 。
提示
若要帮助查找 “可用对象 ”列表中的视图,请单击列表顶部的 “名称” 标题,按字母顺序对对象进行排序。
选择视图后,单击 > 以将对象传输到 “包含的对象 ”列表。
如果显示 “名称匹配 ”页,请接受默认选择,然后单击“ 下一步”。
选择所需的对象后,单击“ 下一步”,然后指定数据源视图的名称。 对于此示例,键入 Simple_Model。
单击“完成”。 Simple_Model.dsv 数据源视图显示在解决方案资源管理器的“数据源视图”文件夹中。
创建报表模型
在 “解决方案资源管理器”中,右键单击“ 报表模型 ”,选择“ 添加新报表模型”。
在 “欢迎使用报表模型向导” 页上,单击“ 下一步”。
在 “选择数据源视图” 页上,在“可用数据源视图”列表中选择 数据源视图 ,然后单击“ 下一步”。 对于此示例,请选择“ Simple_Model.dsv”。
在 “选择报表模型生成规则 ”页上,接受默认值,然后单击“ 下一步”。
在 “收集模型统计信息 ”页上,验证是否选择了“ 生成前更新模型统计信息 ”,然后单击“ 下一步”。
在 “完成向导” 页上,指定报表模型的名称。 对于此示例,请验证 是否显示Simple_Model 。
若要完成向导并创建报表模型,请单击“ 运行”。
若要退出向导,请单击“ 完成”。 报表模型显示在“设计”窗口中。
发布在 SQL Server Reporting Services 中使用的报表模型
在 “解决方案资源管理器”中,右键单击报表模型以选择“ 部署”。 对于此示例,报表模型 为 Simple_Model.smdl。
检查 SQL Server Business Intelligence Development Studio 窗口左下角的部署状态。 部署完成后,将显示 “部署成功 ”。 如果部署失败,失败的原因将显示在 “输出 ”窗口中。 新的报表模型现已在 SQL Server Reporting Services 网站上提供。
单击“ 文件”,单击“ 全部保存”,然后关闭 SQL Server Business Intelligence Development Studio。
将自定义报表模型部署到 Configuration Manager
找到在其中创建了报表模型项目的文件夹。 例如,%USERPROFILE%\Documents\Visual Studio 2008\Projects\<Project Name>。
将以下文件从报表模型项目文件夹复制到计算机上的临时文件夹:
<Model Name.dsv>
<Model Name.smdl>
使用文本编辑器(如记事本)打开上述文件。
在文件 <Model Name.dsv> 中,找到文件的第一行,如下所示:
<DataSourceView xmlns="https://schemas.microsoft.com/analysisservices/2003/engine">
编辑此行,如下所示:
<DataSourceView xmlns="<https://schemas.microsoft.com/analysisservices/2003/engine>" xmlns:xsi="RelationalDataSourceView">
将文件的全部内容复制到 Windows 剪贴板。
关闭模型名称>.dsv 文件<。
在文件< Model Name.smdl> 中,找到文件的最后三行,如下所示:
</Entity>
</Entities>
</SemanticModel>
将文件 <Model Name.dsv> 的内容直接粘贴到文件的最后一行之前,< (SemanticModel>) 。
保存并关闭模型名称>.smdl 文件<。
将文件 <Model Name.smdl> 复制到 Configuration Manager 站点服务器上的 %programfiles%\Microsoft Configuration Manager \AdminConsole\XmlStorage\Other 文件夹。
重要
将报表模型文件复制到 Configuration Manager 站点服务器后,必须退出并重启 Configuration Manager 控制台,然后才能在 “创建报表向导”中使用报表模型。
在 SQL Server Reporting Services 中创建高级报表模型的步骤
可以使用以下过程创建高级报表模型,站点中的用户可使用该模型基于 Configuration Manager 数据库的多个视图中的数据生成基于特定模型的报表。 创建一个报表模型,该模型向报表作者提供有关这些计算机上安装的客户端计算机和操作系统的信息。 此信息取自 Configuration Manager 数据库中的以下视图:
V_R_System:包含有关发现的计算机和 Configuration Manager 客户端的信息。
V_GS_OPERATING_SYSTEM:包含有关在客户端计算机上安装的操作系统的信息。
上述视图中的选定项合并到一个列表中,给定友好名称,然后在报表生成器中呈现给报表作者以包含在特定的报表中。
在执行这些过程的计算机上,请确保已安装 SQL Server Business Intelligence Development Studio,并且计算机与 Reporting Services 点服务器的网络连接。 有关 SQL Server Business Intelligence Development Studio 的详细信息,请参阅 SQL Server 文档。
创建报表模型项目
在桌面上,依次单击“ 开始”、“ Microsoft SQL Server 2008”、“ SQL Server Business Intelligence Development Studio”。
在 Visual Studio Microsoft打开 SQL Server Business Intelligence Development Studio 后,依次单击“ 文件”、“ 新建”和“ 项目”。
在“新建项目”对话框中,在“模板”列表中选择“报表模型项目”。
在“ 名称 ”框中,指定此报表模型的名称。 对于此示例,请键入 Advanced_Model。
若要创建报表模型项目,请单击“ 确定”。
解决方案资源管理器中会显示Advanced_Model解决方案。
注意
如果看不到 “解决方案资源管理器 ”窗格,请单击“ 视图”,然后单击“ 解决方案资源管理器”。
定义报表模型的数据源
在 SQL Server Business Intelligence Development Studio 的“解决方案资源管理器”窗格中,右键单击“数据源”,选择“添加新数据源”。
在 “欢迎使用数据源向导” 页上,单击“ 下一步”。
在 “选择如何定义连接 ”页上,验证是否选择了“ 基于现有连接或新连接创建数据源 ”,然后单击“ 新建”。
在“ 连接管理器 ”对话框中,为数据源指定以下连接属性:
服务器名称:键入 Configuration Manager 站点数据库服务器的名称,或在列表中选择它。 如果使用的是命名实例而不是默认实例,请键入 <数据库服务器>\<实例名称>。
选择“ 使用 Windows 身份验证”。
在 “选择或输入数据库名称 ”列表中,选择 Configuration Manager 站点数据库的名称。
若要验证数据库连接,请单击“ 测试连接”。
如果连接成功,请单击“ 确定 ”关闭“ 连接管理器 ”对话框。 如果连接不成功,请验证输入的信息是否正确,然后再次单击“ 测试连接 ”。
在 “选择如何定义连接 ”页上,验证是否已选择“ 基于现有连接或新连接创建数据源 ”,验证是否在“ 数据连接 ”列表框中选择了刚刚指定的数据源,然后单击“ 下一步”。
在 “数据源名称”中,指定数据源的名称,然后单击“ 完成”。 对于此示例,请键入 Advanced_Model。
数据源Advanced_Model.ds 显示在“数据源”节点下的“解决方案资源管理器”中。
注意
若要编辑现有数据源的属性,请在“解决方案资源管理器”窗格的“数据源”文件夹中双击数据源,以显示数据源设计器中的数据源属性。
定义报表模型的数据源视图
在 “解决方案资源管理器”中,右键单击“ 数据源视图 ”,选择“ 添加新数据源视图”。
在 “欢迎使用数据源视图向导” 页上,单击“ 下一步”。 将显示 “选择数据源” 页。
在 “关系数据源 ”窗口中,验证 是否选择了Advanced_Model 数据源,然后单击“ 下一步”。
在 “选择表和视图” 页上,在“ 可用对象 ”列表中选择以下视图,以用于报表模型:
v_R_System (dbo)
v_GS_OPERATING_SYSTEM (dbo)
选择每个视图后,单击 > 以将对象传输到 “包含的对象 ”列表。
提示
若要帮助查找 “可用对象 ”列表中的视图,请单击列表顶部的 “名称” 标题,按字母顺序对对象进行排序。
如果出现 “名称匹配 ”对话框,请接受默认选择,然后单击“ 下一步”。
选择所需的对象后,单击“ 下一步”,然后指定数据源视图的名称。 对于此示例,请键入 Advanced_Model。
单击“完成”。 Advanced_Model.dsv 数据源视图显示在解决方案资源管理器的“数据源视图”文件夹中。
在数据源视图中定义关系
在 “解决方案资源管理器”中,双击“ Advanced_Model.dsv ”打开“设计”窗口。
右键单击 “v_R_System ”窗口的标题栏,选择“ 替换表”,然后单击“ 使用新的命名查询”。
在“ 创建命名查询 ”对话框中,单击“ 添加表 ”图标 (通常是功能区) 中的最后一个图标。
在“ 添加表 ”对话框中,单击“ 视图 ”选项卡,在列表中选择 “V_GS_OPERATING_SYSTEM ”,然后单击“ 添加”。
单击“ 关闭 ”以关闭“ 添加表 ”对话框。
在“ 创建命名查询 ”对话框中,指定以下信息:
名字: 指定查询的名称。 对于此示例,请键入 Advanced_Model。
描述: 指定查询的说明。 对于此示例,请键入 示例 Reporting Services 报表模型。
在 “v_R_System ”窗口中,选择要在报表模型中显示的对象列表中的以下项:
ResourceID
ResourceType
Active0
AD_Domain_Name0
AD_SiteName0
Client0
Client_Type0
Client_Version0
CPUType0
Hardware_ID0
User_Domain0
User_Name0
Netbios_Name0
Operating_System_Name_and0
在 “v_GS_OPERATING_SYSTEM ”框中,选择要在报表模型中显示的对象列表中的以下项:
ResourceID
Caption0
CountryCode0
CSDVersion0
说明0
InstallDate0
LastBootUpTime0
Locale0
Manufacturer0
Version0
WindowsDirectory0
若要将这些视图中的对象作为一个列表呈现给报表作者,必须使用联接指定两个表或视图之间的关系。 可以使用对象 ResourceID 联接这两个视图,该对象显示在两个视图中。
在“v_R_System”窗口中,单击并按住 ResourceID 对象,并将其拖动到v_GS_OPERATING_SYSTEM窗口中的 ResourceID 对象。
单击“确定”。
Advanced_Model窗口替换v_R_System窗口,并包含v_R_System和v_GS_OPERATING_SYSTEM视图中报表模型所需的所有必要对象。 现在可以从数据源视图设计器中删除 v_GS_OPERATING_SYSTEM 窗口。 右键单击 v_GS_OPERATING_SYSTEM 窗口的标题栏,选择“ 从 DSV 中删除表”。 在“ 删除对象 ”对话框中,单击“ 确定 ”以确认删除。
单击“ 文件”,然后单击“ 全部保存”。
创建报表模型
在 “解决方案资源管理器”中,右键单击“ 报表模型 ”,选择“ 添加新报表模型”。
在 “欢迎使用报表模型向导” 页上,单击“ 下一步”。
在 “选择数据源视图” 页上,在“可用数据源视图”列表中选择 数据源视图 ,然后单击“ 下一步”。 对于此示例,请选择“ Simple_Model.dsv”。
在 “选择报表模型生成规则 ”页上,不要更改默认值,然后单击“ 下一步”。
在 “收集模型统计信息 ”页上,验证是否选择了“ 生成前更新模型统计信息 ”,然后单击“ 下一步”。
在 “完成向导” 页上,指定报表模型的名称。 对于此示例,请验证 是否显示Advanced_Model 。
若要完成向导并创建报表模型,请单击“ 运行”。
若要退出向导,请单击“ 完成”。
报表模型显示在“设计”窗口中。
修改报表模型中的对象名称
在 “解决方案资源管理器”中,右键单击报表模型以选择“ 视图设计器”。 对于此示例,请选择“ Advanced_Model.smdl”。
在报表模型“设计”视图中,右键单击任意对象名称,选择“ 重命名”。
为所选对象键入新名称,然后按 Enter。 例如,可以将对象重命名 CSD_Version_0 以读取 Windows Service Pack 版本。
重命名完对象后,单击“ 文件”,然后单击“ 全部保存”。
发布在 SQL Server Reporting Services 中使用的报表模型
在 “解决方案资源管理器”中,右键单击“ Advanced_Model.smdl ”,选择“ 部署”。
检查 SQL Server Business Intelligence Development Studio 窗口左下角的部署状态。 部署完成后,将显示 “部署成功 ”。 如果部署失败,失败的原因将显示在 “输出 ”窗口中。 新的报表模型现已在 SQL Server Reporting Services 网站上提供。
单击“ 文件”,单击“ 全部保存”,然后关闭 SQL Server Business Intelligence Development Studio。
将自定义报表模型部署到 Configuration Manager
找到在其中创建了报表模型项目的文件夹。 例如,%USERPROFILE%\Documents\Visual Studio 2008\Projects\<Project Name>。
将以下文件从报表模型项目文件夹复制到计算机上的临时文件夹:
<Model Name.dsv>
<Model Name.smdl>
使用文本编辑器(如记事本)打开上述文件。
在文件 <Model Name.dsv> 中,找到文件的第一行,如下所示:
<DataSourceView xmlns="https://schemas.microsoft.com/analysisservices/2003/engine">
编辑此行,如下所示:
<DataSourceView xmlns="<https://schemas.microsoft.com/analysisservices/2003/engine>" xmlns:xsi="RelationalDataSourceView">
将文件的全部内容复制到 Windows 剪贴板。
关闭模型名称>.dsv 文件<。
在文件< Model Name.smdl> 中,找到文件的最后三行,如下所示:
</Entity>
</Entities>
</SemanticModel>
将文件 <Model Name.dsv> 的内容直接粘贴到文件的最后一行之前,< (SemanticModel>) 。
保存并关闭模型名称>.smdl 文件<。
将文件 <Model Name.smdl> 复制到 Configuration Manager 站点服务器上的 %programfiles%\Microsoft Endpoint Manager\AdminConsole\XmlStorage\Other 文件夹。
重要
将报表模型文件复制到 Configuration Manager 站点服务器后,必须退出并重启 Configuration Manager 控制台,然后才能在 “创建报表向导”中使用报表模型。