怎样使用DAX公式_数据模型高级计算语言【BI进阶】
DAX是数据模型中的高级计算语言,支持动态聚合、跨表计算和时间分析。其核心操作包括创建上下文敏感的度量值、定义计算列、构建计算表,以及应用时间智能函数进行周期对比。使用变量还能提升公式可读性与性能。掌握这些方法有助于充分发挥数据模型的潜力。
想在Power BI或Analysis Services里玩转动态聚合、跨表计算和时间分析?那DAX公式这关,你非过不可。它就像是数据模型里的“高级编程语言”,用对了,数据才能“活”起来。下面这五个核心操作路径,就是帮你从入门到精通的实战指南。

一、创建度量值进行动态聚合计算
度量值是DAX的“灵魂”,它的妙处在于“上下文敏感”。简单说,它的计算结果不是固定的,而是随着报表里你选择的筛选器、切片器或者行列分组实时变化的。像求和、求平均、计数这类聚合场景,就是它的主场。
具体操作起来很简单:在Power BI Desktop的“模型”视图里,右键任意表,选择“新建度量值”。接着,在公式栏里按标准语法输入就行,比如:总销售额 = SUM(Sales[Amount])。输入时,编辑器会智能提示函数和参数,帮你检查括号匹配。确认无误后回车,这个度量值就会自动出现在字段窗格里,随时可以拖到图表中使用。
二、定义计算列实现行级静态派生
如果说度量值是“动态”的,那计算列就是“静态”的。它在数据刷新时一次性算好,结果直接存储在模型里,每行一个值。这特别适合基于本行其他列做一些逻辑判断或格式转换,比如计算利润率、拼接字段等。
操作上,在“数据”视图中右键目标表,选“新建列”。然后输入表达式,注意列名要用方括号括起来。举个例子:销售利润率 = DIVIDE(Sales[Profit], Sales[Revenue], 0)。如果需要用到关联表里的字段,别忘了用RELATED函数,比如:产品类别 = RELATED('Product'[Category])。回车后,新列会立刻填充所有行的值,之后就能当普通列一样用来筛选或分组了。
三、构建计算表生成衍生维度或汇总结果
计算表能让你用DAX公式“无中生有”,生成一个完整的表对象。这在创建独立的日期表、分类映射表,或者预先聚合一些中间结果时特别有用,完全不受原始数据结构的限制。
方法是在“建模”选项卡里点击“新建表”。公式编辑框打开后,你可以用CALENDAR、DATATABLE这些表构造函数。比如,创建一个日期表:日期表 = CALENDAR(DATE(2020,1,1), DATE(2025,12,31))。之后,再用ADDCOLUMNS函数给它加上“年份”、“季度”这些派生列。记住,关键一步是选中这个新建的表,在“表工具”里把它“标记为日期表”,并指定日期列。只有这样,后面用到的时间智能函数才能正确工作。
四、应用时间智能函数处理周期对比
同比、环比、累计至今……这些业务分析中最关键的指标,都离不开时间智能函数。但使用它们有个前提:你得有一个标记好的日期表,并且它和事实表之间通过日期列建立了有效的(通常是单向的)活动关系。
条件满足后,新建度量值直接调用函数即可。例如,用TOTALYTD计算年累计销售额:年累计销售额 = TOTALYTD(SUM(Sales[Amount]), '日期表'[Date])。用SAMEPERIODLASTYEAR计算去年同期数据:去年同期销售额 = CALCULATE(SUM(Sales[Amount]), SAMEPERIODLASTYEAR('日期表'[Date]))。把这些度量值和日期表的年、月字段一起放到矩阵或折线图里,系统就会根据你选择的日期范围自动计算了。
五、利用变量提升公式可读性与复用性
当公式逻辑变复杂时,一堆嵌套的函数会让人眼花缭乱。这时候,就该变量(VAR)出场了。它不仅能避免重复计算同一个子表达式,提升性能,更能让复杂的逻辑变得清晰易懂,方便调试。
用法是在新建度量值或计算列时,用VAR关键字声明变量。你可以连续声明多个,后面的变量还能引用前面定义好的。比如:
VAR CurrentYearSales = SUM(Sales[Amount])
VAR PriorYearSales = CALCULATE([CurrentYearSales], SAMEPERIODLASTYEAR('日期表'[Date]))
所有变量都必须在RETURN语句之前定义。最后,在RETURN后面写出最终要返回的表达式,比如计算增长率:RETURN DIVIDE(CurrentYearSales - PriorYearSales, PriorYearSales)。执行时,每个变量只计算一次,最终结果就是RETURN后面的值。
Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
















