PowerBi中CALCULATE怎么使用?

CALCULATE() 是 Power BI(DAX)中最核心、最强大的函数之一,它能让你在不同的上下文 中进行度量计算,可以说是"灵魂函数" 💡


✅ 一句话总结:

CALCULATE 用来 更改筛选条件后再进行计算,比如你想计算"某个条件下的销售额",就要用它!


🧠 基本语法:

DAX 复制代码
CALCULATE(<表达式>, <筛选条件1>, <筛选条件2>, ...)
  • <表达式>:通常是一个聚合函数,比如 SUM(), COUNT(), AVERAGE()
  • <筛选条件>:可以是列的筛选、FILTER() 表达式、ALL()REMOVEFILTERS()

🎯 示例 1:计算电子产品的销售额

DAX 复制代码
电子销售额 =
CALCULATE(
    SUM(Sales[Amount]),
    Product[Category] = "电子产品"
)

👉 意思是:在 Product[Category] = 电子产品 这个条件下,计算 Sales[Amount] 的总和。


🎯 示例 2:计算当前年销售额(结合时间智能)

DAX 复制代码
今年销售额 =
CALCULATE(
    SUM(Sales[Amount]),
    YEAR(Sales[Date]) = YEAR(TODAY())
)

🎯 示例 3:去掉某些筛选(使用 ALL()

DAX 复制代码
所有产品销售额 =
CALCULATE(
    SUM(Sales[Amount]),
    ALL(Product)
)

👉 不管当前页面筛选了哪个产品,都返回总销售额


🔥 常见搭配用法:

组合函数 用途
FILTER() 更复杂的多列或条件过滤
ALL() 移除某列或表的筛选
REMOVEFILTERS() ALL() 类似,语义更清晰
VALUES() 获取当前上下文的唯一值列表

🧠 小口诀:

💬 想让"计算"变聪明,就用 CALCULATE() 加条件!


🔧 示例实战:计算毛利润

假设你有:

  • Sales 表:有销售数量、销售金额
  • Product 表:有每件商品的成本价

你可以写一个利润度量字段:

DAX 复制代码
总利润 =
CALCULATE(
    SUMX(
        Sales,
        Sales[Quantity] * (RELATED(Product[Price]) - RELATED(Product[Cost]))
    )
)
相关推荐
逍遥德6 分钟前
怎样跨过PostgreSQL性能专家的门槛
数据库·sql·postgresql·数据分析
InfiniSynapse13 小时前
连上Snowflake就能取数:InfiniSynapse + Spider2-Snow实战企业数据分析
数据结构·图像处理·人工智能·算法·语言模型·数据挖掘·数据分析
clarance201513 小时前
智能分析实战:DataFocus如何用自然语言打破数据分析壁垒
经验分享·数据挖掘·数据分析
李昊哲小课13 小时前
国际足球比赛数据集分析报告(1872-2025)
信息可视化·数据挖掘·数据分析·pandas·matplotlib·pyecharts·seaborn
V1ncent Chen14 小时前
SQL大师之路 13 聚合函数和分组
数据库·sql·mysql·数据分析
川爻18 小时前
Superstore Sales Dataset数据分析(兼数据分析步骤学习)
学习·数据挖掘·数据分析
龙腾AI白云18 小时前
数字孪生国内外发展现状
数据分析·flask·virtualenv·fastapi
城数派19 小时前
1901-2024年中国1km逐月潜在蒸散发数据集
数据分析
七夜zippoe19 小时前
Elasticsearch全文搜索与数据分析实战指南
大数据·python·elasticsearch·数据分析·全文搜索
JZC_xiaozhong21 小时前
医疗器械行业供应商主数据管理:多视角下的破局与重构
大数据·数据库·重构·数据分析·mdm·主数据管理·数据集成与应用集成