使用Power BI Desktop基于Analysis Services表格模型创建报表(下)

本教程将通过使用示例数据集完成以下步骤来演示如何在 Analysis Services 表格模型中实现行级别安全性以及如何在 Power BI 报表中使用它。

使用 Power BI Desktop 从数据获得见解,然后进行相关操作利用可视化分析免费创建内容丰富的交互式报表,一切尽在指尖。

Power BI Desktop正式版


本教程将通过使用示例数据集完成以下步骤来演示如何在 Analysis Services 表格模型中实现行级别安全性以及如何在 Power BI 报表中使用它。

  • 在 AdventureworksDW2012 数据库中创建新的安全表
  • 生成含有所需事实数据表和维度表的表格模型
  • 定义用户角色和权限
  • 将模型部署到 Analysis Services 表格实例
  • 生成 Power BI Desktop 报表,为访问报表的用户显示量身定制的数据
  • 将报表部署到 Power BI 服务
  • 基于报表创建新的仪表板
  • 与您的同事共享仪表板

注意:本教程要求使用AdventureworksDW2012 数据库

使用 Power BI Desktop 基于 Analysis Services 表格模型创建报表

启动 Power BI Desktop 并选择“获取数据” > “数据库” 。从数据源列表中选择“SQL Server Analysis Services 数据库”,然后选择“连接” 。

连接到 SQL Server Analysis Services 数据库

填写 Analysis Services 表格实例详细信息,然后选择“实时连接” 。然后,选择“确定” 。

Analysis Services 详细信息

使用 Power BI 时,动态安全性仅适用于实时连接。

可以看到部署的模型位于 Analysis Services 实例中。选择相应的模型,然后选择“确定” 。

现在,Power BI Desktop 在画布右侧的“字段” 窗格中显示所有可用字段。在“字段”窗格中,从“FactInternetSales”表中选择“SalesAmount”度量值,从“SalesTerritory”表中选择“SalesTerritoryRegion”维度 。

为了让此报表看上去简单明了,现在不会再添加任何列。若要让数据表示形式更有意义,请将可视化效果更改为“环形图” 。

环形图可视化效果

等报表准备就绪后,你就可以将它直接发布到 Power BI 门户。从 Power BI Desktop 的“主页” 功能区中选择“发布” 。

创建和共享仪表板

已创建报表并将其发布到 Power BI 服务。现在,可以使用先前步骤中创建的示例来演示模型安全性方案。

在销售经理角色中,用户Grace可以看到所有不同销售区域的数据。Grace会创建此报表并将其发布到 Power BI 服务。此报表是在以前任务中创建的。Grace 发布报表后,接下来需在 Power BI 服务中基于该报表创建名为 TabularDynamicSec 的仪表板 。在下图中,请注意 Grace 可以看到所有销售区域的对应数据。

Power BI 服务仪表板

现在,Grace 与同事 Rita 共享此仪表板,后者负责澳大利亚地区的销售。

共享 Power BI 仪表板

当 Rita 登录到 Power BI 服务并查看 Grace 创建的共享仪表板时,只能看到 Australia 区域的销售额。

最后,Power BI 服务显示本地 Analysis Services 表格模型中定义的动态行级别安全性。Power BI 使用 EffectiveUserName 属性将当前 Power BI 用户凭据发送到本地数据源,以运行查询。

了解幕后发生了什么

此任务假定你熟悉 SQL Server Profiler,因为你需要通过 SQL Server Profiler 捕获本地 SSAS 表格实例上发生的事件。只要用户 (Rita) 访问 Power BI 服务中的仪表板,会话就会初始化。你会发现,salesterritoryusers 角色立即生效,有效用户名为 rita@contoso.com

<PropertyList><Catalog>DefinedSalesTabular</Catalog><Timeout>600</Timeout><Content>SchemaData</Content><Format>Tabular</Format><AxisFormat>TupleFormat</AxisFormat><BeginRange>-1</BeginRange><EndRange>-1</EndRange><ShowHiddenCubes>false</ShowHiddenCubes><VisualMode>0</VisualMode><DbpropMsmdFlattened2>true</DbpropMsmdFlattened2><SspropInitAppName>PowerBI</SspropInitAppName><SecuredCellValue>0</SecuredCellValue><ImpactAnalysis>false</ImpactAnalysis><SQLQueryMode>Calculated</SQLQueryMode><ClientProcessID>6408</ClientProcessID><Cube>Model</Cube><ReturnCellProperties>true</ReturnCellProperties><CommitTimeout>0</CommitTimeout><ForceCommitTimeout>0</ForceCommitTimeout><ExecutionMode>Execute</ExecutionMode><RealTimeOlap>false</RealTimeOlap><MdxMissingMemberMode>Default</MdxMissingMemberMode><DisablePrefetchFacts>false</DisablePrefetchFacts><UpdateIsolationLevel>2</UpdateIsolationLevel><DbpropMsmdOptimizeResponse>0</DbpropMsmdOptimizeResponse><ResponseEncoding>Default</ResponseEncoding><DirectQueryMode>Default</DirectQueryMode><DbpropMsmdActivityID>4ea2a372-dd2f-4edd-a8ca-1b909b4165b5</DbpropMsmdActivityID><DbpropMsmdRequestID>2313cf77-b881-015d-e6da-eda9846d42db</DbpropMsmdRequestID><LocaleIdentifier>1033</LocaleIdentifier><EffectiveUserName>rita@contoso.com</EffectiveUserName></PropertyList>

基于有效用户名请求,Analysis Services 在查询本地 Active Directory 后将请求转换为真实的 contosorita 凭据。Analysis Services 获取凭据后,Analysis Services 会返回用户有权查看和访问的数据。

如果仪表板发生更多活动,则通过 SQL Profiler 可以看到根据 DAX 查询设定,Analysis Services 表格模型会相应返回一个特定的查询。例如,如果 Rita 从仪表板转到基础报表,则会进行以下查询。

DAX 查询返回到 Analysis Services 模型还可在下方看到执行用于填充报表数据的 DAX 查询。

EVALUATE  ROW(    "SumEmployeeKey", CALCULATE(SUM(Employee[EmployeeKey]))  )<PropertyList >``          <Catalog>DefinedSalesTabular</Catalog>          <Cube>Model</Cube>          <SspropInitAppName>PowerBI</SspropInitAppName>          <EffectiveUserName>rita@contoso.com</EffectiveUserName>          <LocaleIdentifier>1033</LocaleIdentifier>          <ClientProcessID>6408</ClientProcessID>          <Format>Tabular</Format>          <Content>SchemaData</Content>          <Timeout>600</Timeout>          <DbpropMsmdRequestID>8510d758-f07b-a025-8fb3-a0540189ff79</DbpropMsmdRequestID>          <DbPropMsmdActivityID>f2dbe8a3-ef51-4d70-a879-5f02a502b2c3</DbPropMsmdActivityID>          <ReturnCellProperties>true</ReturnCellProperties>          <DbpropMsmdFlattened2>true</DbpropMsmdFlattened2>          <DbpropMsmdActivityID>f2dbe8a3-ef51-4d70-a879-5f02a502b2c3</DbpropMsmdActivityID>        </PropertyList>

注意:

  • Power BI 的本地行级别安全性只能用于实时连接。
  • 处理模型后,数据的任何更改都将立即提供给从 Power BI 服务通过实时连接访问报表的用户。

由于内容过多,本次内容分为上下篇发布。点击查看上篇>>

Power BI Desktop 2020年2月版发布,新增多种可视化图表,可点击此处查看


想要购买Power BI Desktop正版授权,或了解更多产品信息请点击【咨询在线客服】

关注慧聚IT微信公众号 了解产品的最新动态及最新资讯。


标签:

来源:慧都

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年1月12日
下一篇 2020年1月12日

相关推荐

发表回复

登录后才能评论