专栏名称: PowerBI战友联盟
微软 Power BI MVP BI佐罗 带你学习BI真经。
目录
相关文章推荐
51好读  ›  专栏  ›  PowerBI战友联盟

PowerBI 数据建模必备:提升性能的八大技巧

PowerBI战友联盟  · 公众号  ·  · 2024-12-18 18:53

正文

欢迎关注 【BI佐罗数据分析】 ,今日精华包括:视频案例,技巧干货。

↓ 预约直播,更多干货,不要错过 ↓

在 Power BI 中,设计高效的数据模型是实现高性能、可扩展报表的关键。本篇文章将分享设计星型模型、优化存储模式、减少内存消耗及提升数据加载性能的八大实用技巧,帮助你打造一个简洁、高效的数据模型。

采用星型模型设计

星型模型 是创建高效、用户友好 Power BI 语义模型的最佳方法。它将数据分为两大类:

  • 事实表 :存储数值型数据,通过外键与维度表相连。(如销售订单)。

  • 维度表 :提供业务实体(如产品、客户、地区)描述性数据,支持筛选和分组操作,简化报告生成,提供数据上下文。

星型模型的优势:

  • • 更易理解和使用

  • • 简化开发和维护

  • • DAX 公式更简单

  • • 加速数据刷新

  • • 减少数据冗余

设计关键点:

  • 粒度 :决定数据的详细程度。高粒度意味着数据更详细,如交易明细,但会增加模型大小。

  • 规范化 :减少冗余,效率更高(适合复杂数据模型)。

  • 非规范化 :将相关数据合并到单个表中,适用于简单数据源,但效率较低。

选择合适的存储模式

Power BI 提供三种存储模式,针对不同场景选择正确的存储模式至关重要。

导入模式

  • • 数据完全缓存到内存中,提供最佳查询性能。

  • • 适用于中小型数据集或不需要实时更新的场景。

DirectQuery 模式

  • • 直接从数据源查询数据,不进行缓存。

  • • 适用于大数据集或需要实时数据的场景。

双重模式

  • • 支持在 缓存 (导入)和 非缓存 (DirectQuery)之间动态切换。

  • • 适合复合模型中共享的维度表,提升性能并优化查询。

  • • 通过减少有限关系的数量和优化查询来提高性能。

👉 建议 :参考微软文档,了解每种模式的优势、缺点和限制,选择最佳方案,网址: https://learn.microsoft.com/zh-cn/power-bi/transform-model/desktop-storage-mode

移除不必要的表和列

简化数据模型对于性能优化至关重要。随着时间的推移,数据模型可能会积累不必要的表和列,导致刷新时间变长、复杂度增加,用户导航困难。

关键:

  • • 定期识别并安全删除不必要的列和表。

  • • 在删除前确保不影响依赖报告,避免数据断裂。

分组和汇总数据

通过对数据进行分组和汇总,可以有效 减少模型大小 并提升性能。例如,按天、月或客户预聚合事实表,可以显著减少行数。

虽然这会将模型大小减少多达 90%,但它限制了详细分析。一种平衡的方法是在 导入模式 下使用聚合表进行快速报告,使用 DirectQuery 表获取详细数据。例如,可以使用导入模式表来获取 快速摘要报告 (例如,每月销售额),并使用 DirectQuery 模式 表来深入浏览各个销售订单。这种组合确保了高性能,同时保持了在必要时分析更精细细节的灵活性。

对大型数据集进行分区

冷热分区 通过按数据使用情况拆分表,提高大数据集的性能:

  • 热数据 :近期数据,存储在导入模式中,快速访问。

  • 冷数据 :历史数据,使用 DirectQuery 模式,节省内存并减少导入大小。

主要优势

  • • 提高查询速度,特别是对经常访问的数据。







请到「今天看啥」查看全文