在用湖屋(Lakehouse)或仓库(Data Warehouse)做数据分析时,Power BI 通常会附带一个默认的语义模型,也就是系统自动帮你生成的模型,用来支持报表和分析。这种模型开箱即用,挺方便的。
但你也可以自己动手,创建一个自定义语义模型。这就像你自己搭建一个分析框架,完全根据你的业务需求来设计。
那问题来了:到底用默认的好,还是自己做一个更靠谱?
默认语义模型
生成湖屋或仓库时,它们附带 SQL Analytics 终结点和 Power BI 的默认语义模型 。下面是与湖屋关联的默认语义模型的屏幕截图。
默认语义模型会自动创建并与湖屋关联。若要编辑它,请从湖屋资源管理器的下拉列表中选择它,转到 SQL Analytics 终结点。
进入 SQL Analytics 终结点的“模型”选项卡后,可以看到模型中的表并开始编辑它们。
虽然默认语义模型用起来很方便,但它的编辑功能是有限的。
你可以做一些基础操作,比如:
-
建立表之间的关系; -
设置列属性,比如隐藏某些列、调整格式; -
创建一些 DAX 度量值(比如总销售额、平均值之类的指标)。
这些功能对于做一些简单报表已经够用了。
但如果你想做更复杂的事情,比如:
-
创建计算列或计算表; -
设置行级安全性(比如不同用户看到不同的数据);
那就不行了——这些功能在默认模型的编辑器里是做不了的。
所以说,默认语义模型更像是一个“轻量级”的工具,适合快速上手
自定义语义模型
可以使用 “报告” 下“ 数据”选项卡中的按钮从湖屋(或仓库)SQL 分析终结点创建自定义语义模型,以创建新的语义模型 。
以这种方式创建语义模型时,可以选择所需的表并将它们添加到此语义模型中
增强的模型编辑器
生成自定义语义模型时,将导航到增强的模型编辑器体验,这与默认语义模型中的体验明显不同。
*模型中的更改将在您应用时自动保存。
增强模型编辑器不适用于默认语义模型
总结建议:创建自定义语义模型
在实际项目中,我强烈建议你不要依赖默认语义模型,而是自己动手创建一个自定义语义模型。为什么呢?因为自定义模型的编辑体验更强大,功能也更全面。
虽然默认模型用起来很方便,但它的编辑器功能是有限的。你可以做一些基础操作,比如建关系、隐藏列、创建度量值,但你不能创建计算列或表,也不能设置行级安全性——这些在真实项目里往往是必须的。
相比之下,自定义语义模型的在线编辑器就强很多:
-
可以设置层次结构和计算组; -
可以创建新的表和字段; -
可以配置行级安全性; -
更适合复杂业务逻辑和多团队协作。
虽然未来这些功能可能也会支持默认模型,但现在还不行,所以如果你想做得专业、可扩展,还是建议用自定义模型。
另外要注意一点:如果你用 Power BI Desktop 来创建语义模型,可能会默认用“导入数据”或“DirectQuery”模式,这跟 Direct Lake 的体验是不一样的。所以建议你从 SQL Analytics 终结点 开始,直接创建新的语义模型。
最后一个建议:不要每个报表都建一个模型。尽量使用共享语义模型的方式,这样你可以让多个报表连接到同一个模型,统一指标定义,也更容易维护。这种方式也更符合 Power BI 多层架构的最佳实践。

