
Dentsu
Dentsu 使用 Tabular Editor 大规模自动化、优化和管理语义模型。
通过集成, Dentsu 实现了更快的开发、提高了 DAX 代码质量、优化了性能,并在企业级语义模型上实现了更高效的团队协作。
通过这种转型,Tabular Editor 已成为 Dentsu BI 生态系统的基石,使公司能够自信地扩展、更快地创新,并保持高标准的数据完整性和运营效率。
关于
挑战
性能瓶颈:大型 50–100GB 模型存在刷新速度缓慢的风险,如果不进行仔细优化,可能会超出维护窗口。
协作挑战:有限的版本控制和部署结构使并行开发具有风险和不一致性。
解决方案
自动化:用 C# 脚本和宏代替手动分区,将数天的重复工作减少到几分钟。
优化:模型分析器和优化器用于大规模地查明问题并加快刷新时间。
治理:Git 集成、自动化部署和高级建模功能实现了并行开发的一致性。
简介
在当今快节奏的营销环境中,数据是每个战略决策的核心。 对于全球广告和营销领导者 Dentsu 来说,管理在数十个源系统之上构建的大型复杂语义模型对于为其客户提供可操作的洞察至关重要。 随着公司扩展其分析能力,确保 Power BI 语义模型中的性能、准确性和协作变得越来越具有挑战性。
除了与客户相关的广告和营销报告外,Dentsu 还投资了一个内部绩效管理报告平台。 为了实现数据驱动的决策,从销售、财务和绩效的视角监测跨国机构网络的绩效至关重要。
本文探讨了 Dentsu 如何利用 Tabular Editor 来克服这些挑战,实现更快的开发、更好的 DAX 代码质量、优化的性能,并在企业级语义模型上实现更高效的团队协作。
Dentsu 在扩展和优化企业语义模型方面的挑战
大规模管理数据带来了独特的挑战,对于 Dentsu 来说,这在其企业语义模型的设计中尤其明显。 由于大量源系统输入共享事实表,团队需要一种有效协调和组织数据的方法。 虽然数据分布在多个 Synapse 表中,但所有这些最终都必须在语义层流入单个事实表。 为了支持性能和可管理性, Dentsu 需要能够为每个事实表创建多个分区,包括年度分区。 然而,由于某些模型需要数百个分区,手动创建和维护这些分区的想法并不现实。 这种方法将是高度重复、容易出错的,并且每个更新周期都会耗费数天的精力。
数据的规模也带来了新的性能需求。 Dentsu 的语义模型大小在 50GB-100GB 之间,这意味着模型刷新时间可能会迅速膨胀,并可能超过可用的维护窗口。 超出计划窗口的刷新可能会延迟下游流程并影响报告可用性。 团队需要一种策略来识别瓶颈发生的位置,无论是在 DAX 计算、数据压缩还是存储设计中。 简单地扩大 Power BI Premium 容量并不是一种高效或经济的选择,因此在模型层面进行优化变得至关重要。
除了规模和性能之外,协作增加了另一层复杂性。 由于六位开发人员同时处理同一语义模型,并行开发具有挑战性。 仅 Power BI Desktop 对基于团队的开发提供有限的支持,并且没有适当的版本控制,没有可靠的方法来跟踪谁进行了更改、了解修改了什么,或者在出现问题时恢复到稳定版本。 这种缺乏可见性的情况增加了冲突、覆盖和返工的风险。 此外,团队需要一种结构化的方法来跨多个环境(开发、测试和生产)进行部署。 如果没有自动化和治理,在这些环境中保持一致性将很困难,并且容易出现人为错误。
在 Dentsu,采用 Tabular Editor 改变了我们构建企业级 Power BI 语义模型的旅程,这些模型不仅具有高性能和可扩展性,而且随着时间的推移具有可持续性和可维护性。
Dentsu 电子商务情报总监 Patrick Sura
Dentsu 如何使用 Tabular Editor 解决复杂的挑战
大规模分区管理
为了有效管理大规模数据,Dentsu 依靠 Tabular Editor 来简化其语义模型中分区的创建。 对于单个模型,团队管理数百个分区。 手动创建和维护这些将是一项乏味而耗时的任务,需要数小时甚至数天的时间。 通过在 Tabular Editor 中使用 C# 脚本,Dentsu 实现了此过程的自动化,在确保准确性和一致性的同时,只需几分钟即可完成工作。
性能模型优化
对于 50GB-100GB 之间的语义模型,性能优化对 Dentsu 至关重要。 虽然 Power BI 的内置性能分析器会突出显示哪些视觉对象运行缓慢,但它不会揭示性能瓶颈的根本原因。 通过采用 Tabular Editor 的 Best Practice Analyzer、VertiPaq Analyzer 和 DAX Optimizer,Dentsu 可以更深入地挖掘——识别低效的 DAX 表达式、存储引擎问题和影响速度的建模模式。 这使团队能够微调其语义模型,并大规模提供更快、更可靠的性能。
并行开发和 DevOps 启用
当多个开发人员为同一语义模型做出贡献时,协作是关键。 为了支持这一点, Dentsu 使用 Tabular Editor 的“保存到文件夹”功能将模型分解为元数据文件,然后通过 Git 存储库进行管理。 这种方法使团队能够跟踪更改、查看版本历史记录并在需要时恢复更新。 通过将此工作流程集成到其 DevOps 管道中,Dentsu 还实现了自动化部署,从而能够快速且一致地将同一模型推送到三个不同的工作区(环境)。 这不仅加快了交付速度,而且还加强了治理和可靠性。
提高构建语义模型的生产力
在 Dentsu,团队利用 Tabular Editor 极大地提高了在 Power BI 中构建语义模型时的生产力。 通过利用 C# 脚本的强大功能,他们简化了重复性任务,例如批量重命名对象、更新 M 代码以替换查询中的架构,甚至自动生成模型文档。 此外,他们还利用宏,宏可以保存和重新运行,以加快常规工作流程,确保项目之间的一致性和效率。
加速和加强 DAX 开发
Dentsu 利用 Tabular Editor 的高级编码功能提高了 DAX 开发的质量和速度。 代码辅助功能通过智能建议帮助开发人员更快地编写 DAX 度量值,从而减少语法错误并加快编码速度。 使用“预览定义”,团队可以即时查看引用对象的 DAX 代码,而无需离开当前工作,从而保持上下文完整并节省时间。 内置的 DAX Formatter 确保代码始终清晰、一致且易于在整个团队中阅读。 此外,代码操作会主动提出改进建议,例如遵循最佳实践、避免常见陷阱和反模式、消除弃用的函数以及重构代码以提高清晰度。
利用高级建模功能
Dentsu 充分利用 Tabular Editor 的高级建模功能,更有效地构建和管理企业级语义模型。 团队在 Tabular Editor 中创建透视图,以创建简化的、基于角色的视图,使最终用户能更轻松地浏览模型。 借助部署模型功能,他们可以快速生成模型的副本,简化测试和迭代。 图表视图允许开发人员直观地管理和创建表格之间的关系,而数据刷新为 Dentsu 提供了直接在 Tabular Editor 中预览数据的能力,以便更快地进行验证。 为了使模型井然有序且易于维护,Dentsu 还创建了逻辑分组相关对象的文件夹。
Tabular Editor 是 Dentsu 商业智能战略的基石
通过采用 Tabular Editor,Dentsu 改变了构建、管理和优化企业语义模型的方式。 自动化和脚本编写简化了分区管理和常规模型维护,而高级优化工具则确保了高性能,即使在大规模(50GB-100GB 模型每天刷新数次)的情况下也是如此。 开发人员可以编写更清晰、更快的 DAX,维护有序的模型,并在多个环境中有效协作,所有这些都不会影响治理或质量。 对于 Dentsu 而言,Tabular Editor 已成为其商业智能战略的基石,使团队能够在全球范围内提供更快的洞察、提高生产力并支持数据驱动的决策。