简化数据分析和可视化
来源:CPDA数据分析师网 / 作者:数据君 / 时间:2021-01-12
Power BI中重要的功能之一是 DirectQuery
它提供了一种连接到外部数据源的机制,而无需将数据导入到您自己的本地分析存储中,尽管数据导入总是比使用远程数据源更有效,但是您可能无法将数据导入Power BI实例,这可能是出于监管或数据所有权的原因,或者数据变化迅速并且没有导入空间,或者您根本就没有复制数据的存储能力。
使用DirectQuery
DirectQuery连接的行为与标准导入不同,建立查询的方式与建立其他查询的方式几乎相同,选择源和表。不同之处在于,没有数据导入,并且在创建或更新可视化效果时,Power BI将在报表构建过程中查询远程数据源。这可能会花费一些时间,特别是如果您正在处理可能不支持内存中查询或其他Power BI优化的非常大的数据集,并非每个受支持的连接器都提供DirectQuery,尽管您会发现大多数连接器都是其他业务分析工具或大型仓库,这是有道理的:您不需要花费所有时间来建立大型Teradata仓库或设置SQL Server Analysis Services来复制Power BI中的所有工作。通过使用熟悉的工具构建模型,然后将Power BI用作可视化和报告层,您可以充分利用可用资源和技能,并在服务器上进行大规模分析,并在PC上进行可视化和探索。
通过使用DirectQuery,您可以开始围绕这些现有模型进行构建
将它们与其他数据结合起来以快速构建自定义分析,也许您有一家大型商店的销售数据仓库,并希望将其与ERP系统中的数据绑定在一起,而又不会因复杂的查询而使系统超载,也不会向报告服务器填充数TB的昂贵数据。Microsoft承诺在将来的版本中提供更多DirectQuery连接器,重点放在旨在交互工作的此类系统上。
使用DirectQuery从实时数据构建报告
由于来自现有分析服务的模型通常是围绕自己的度量构建的,因此它们已经在使用汇总数据。DirectQuery可以使用这些度量而不是基础数据,因此您不会重复工作,不会为查询增加不必要的复杂性。现在,您可以使用Apache Spark之类的大数据分析工具, 让专门的工具管理非结构化数据并从Power BI内部利用其专门的功能,而无需设计自己的复杂查询,一旦建立了基于DirectQuery连接的可视化或报表,基于对源进行的一次查询,可视化将初是静态的,如果刷新视图,它将重新加载,如果您将它们用作仪表板中的图块,则需要设置刷新时间表-通常每小时一次,打开报告时,您将看到上一次刷新状态,并且如果要在报告更新时间表之外获取数据,则必须手动刷新数据。
使用DirectQuery的另一个很好的理由
如果您的数据需要安全,那么将访问权限管理层应用于源数据意味着仅将批准的数据交付给Power BI,DirectQuery连接将凭据从Power BI传递到源,从而可以将受保护的数据发布给授权用户。通过这种方式进行分区查询,可确保开发团队可以测试CEO和CFO的仪表板,而不会破坏敏感数据,重要的是要注意,DirectQuery确实限制了某些Power BI功能,无论是在构建模型还是在运行报告中。它们不是重要的问题,但是例如,如果您依赖于计算表,则您可能更喜欢使用传统连接,阻止您使用Power BI基于机器学习的某些功能,例如Quick Insights和Q&A,因为它们依赖于本地数据集来提高速度或构建ML模型。
使用DirectQuery和Power BI构建链式分析
有趣的是将DirectQuery与Power BI数据集和 Azure Analysis Services结合使用。近发布的预览版,可让您将自己模型中的数据与其他数据,现有DirectQuery连接或其他数据源中的数据进行合并。也许您在Excel中有一个粗糙的数据集,并想了解它如何影响预测或其他分析,您可以快速建立与现有Power BI模型的实时连接并开始进行更改,这种方法使您可以选择链接模型和数据集,例如从Azure Analysis Services模型开始,该模型在Azure Data Lake中引入了多个源 ,通过Power BI中的DirectQuery连接,您可以将其与其他来源混合以构建新模型。也许您正在使用来自风电场的IoT数据来显示不同风速下的功率输出,并将其与天气预报混合,以生成可预测风电场性能的Power BI模型,通过将该模型链接到另一个可以预测价格的模型,您可以构建一个系统,以建议获得价格所需的时间安排和数量。
您目前多可以链接三个模型-过多的模型都会给您带来错误。您还需要注意,来自一个模型的数据可能会流入另一个模型,这可能会导致意外的信息泄漏-尤其是在其中一个临时数据集是标准查询的情况下。
不难看出这些新功能的重要性
它提供了一种连接到外部数据源的机制,而无需将数据导入到您自己的本地分析存储中,尽管数据导入总是比使用远程数据源更有效,但是您可能无法将数据导入Power BI实例,这可能是出于监管或数据所有权的原因,或者数据变化迅速并且没有导入空间,或者您根本就没有复制数据的存储能力。
使用DirectQuery
DirectQuery连接的行为与标准导入不同,建立查询的方式与建立其他查询的方式几乎相同,选择源和表。不同之处在于,没有数据导入,并且在创建或更新可视化效果时,Power BI将在报表构建过程中查询远程数据源。这可能会花费一些时间,特别是如果您正在处理可能不支持内存中查询或其他Power BI优化的非常大的数据集,并非每个受支持的连接器都提供DirectQuery,尽管您会发现大多数连接器都是其他业务分析工具或大型仓库,这是有道理的:您不需要花费所有时间来建立大型Teradata仓库或设置SQL Server Analysis Services来复制Power BI中的所有工作。通过使用熟悉的工具构建模型,然后将Power BI用作可视化和报告层,您可以充分利用可用资源和技能,并在服务器上进行大规模分析,并在PC上进行可视化和探索。
通过使用DirectQuery,您可以开始围绕这些现有模型进行构建
将它们与其他数据结合起来以快速构建自定义分析,也许您有一家大型商店的销售数据仓库,并希望将其与ERP系统中的数据绑定在一起,而又不会因复杂的查询而使系统超载,也不会向报告服务器填充数TB的昂贵数据。Microsoft承诺在将来的版本中提供更多DirectQuery连接器,重点放在旨在交互工作的此类系统上。
使用DirectQuery从实时数据构建报告
由于来自现有分析服务的模型通常是围绕自己的度量构建的,因此它们已经在使用汇总数据。DirectQuery可以使用这些度量而不是基础数据,因此您不会重复工作,不会为查询增加不必要的复杂性。现在,您可以使用Apache Spark之类的大数据分析工具, 让专门的工具管理非结构化数据并从Power BI内部利用其专门的功能,而无需设计自己的复杂查询,一旦建立了基于DirectQuery连接的可视化或报表,基于对源进行的一次查询,可视化将初是静态的,如果刷新视图,它将重新加载,如果您将它们用作仪表板中的图块,则需要设置刷新时间表-通常每小时一次,打开报告时,您将看到上一次刷新状态,并且如果要在报告更新时间表之外获取数据,则必须手动刷新数据。
使用DirectQuery的另一个很好的理由
如果您的数据需要安全,那么将访问权限管理层应用于源数据意味着仅将批准的数据交付给Power BI,DirectQuery连接将凭据从Power BI传递到源,从而可以将受保护的数据发布给授权用户。通过这种方式进行分区查询,可确保开发团队可以测试CEO和CFO的仪表板,而不会破坏敏感数据,重要的是要注意,DirectQuery确实限制了某些Power BI功能,无论是在构建模型还是在运行报告中。它们不是重要的问题,但是例如,如果您依赖于计算表,则您可能更喜欢使用传统连接,阻止您使用Power BI基于机器学习的某些功能,例如Quick Insights和Q&A,因为它们依赖于本地数据集来提高速度或构建ML模型。
使用DirectQuery和Power BI构建链式分析
有趣的是将DirectQuery与Power BI数据集和 Azure Analysis Services结合使用。近发布的预览版,可让您将自己模型中的数据与其他数据,现有DirectQuery连接或其他数据源中的数据进行合并。也许您在Excel中有一个粗糙的数据集,并想了解它如何影响预测或其他分析,您可以快速建立与现有Power BI模型的实时连接并开始进行更改,这种方法使您可以选择链接模型和数据集,例如从Azure Analysis Services模型开始,该模型在Azure Data Lake中引入了多个源 ,通过Power BI中的DirectQuery连接,您可以将其与其他来源混合以构建新模型。也许您正在使用来自风电场的IoT数据来显示不同风速下的功率输出,并将其与天气预报混合,以生成可预测风电场性能的Power BI模型,通过将该模型链接到另一个可以预测价格的模型,您可以构建一个系统,以建议获得价格所需的时间安排和数量。
您目前多可以链接三个模型-过多的模型都会给您带来错误。您还需要注意,来自一个模型的数据可能会流入另一个模型,这可能会导致意外的信息泄漏-尤其是在其中一个临时数据集是标准查询的情况下。
不难看出这些新功能的重要性
Microsoft将过去需要大量开发工作的分析功能引入了其桌面商务智能工具,混合数据集以生成复杂的见解可以帮助即使是小的组织也可以从其数据中获得的业务价值,从Azure中的大数据到执行查询中执行桌面上的目标仪表板,由此产生的信息将帮助那些高管以更及时的方式做出更好的决策,在一个不确定的世界中,这值得建立。