You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无需预先建立关系,用DAX关联Excel透视表并响应切片器筛选

DAX度量方案:无表关系下关联两表并响应Group切片器

核心思路

不建立物理表关系,通过DAX上下文筛选功能,基于切片器选中的Group集合和透视表当前行的Activity,跨表匹配计算所需指标。


所需DAX度量

1. 总员工数(来自Table1)

根据切片器选中的Group,汇总对应Activity下的Staff Count总和:

总员工数 = 
VAR SelectedGroups = ALLSELECTED(Table2[Group]) -- 获取切片器选中的Group集合
VAR CurrentActivity = SELECTEDVALUE(Table1[Activity]) -- 获取透视表当前行的Activity
RETURN
CALCULATE(
    SUM(Table1[Staff Count]),
    Table1[Group] IN SelectedGroups,
    Table1[Activity] = CurrentActivity
)

注:如果透视表行字段用的是Table2的Activity,将CurrentActivity改为SELECTEDVALUE(Table2[Activity])即可。

2. Activity收入总计(来自Table2)

计算当前Activity下、选中Group范围内的所有Income总和,作为占比计算的分母:

Activity收入总计 = 
CALCULATE(
    SUM(Table2[Income]),
    Table2[Group] IN ALLSELECTED(Table2[Group]),
    ALLEXCEPT(Table2, Table2[Activity]) -- 忽略Category筛选,保留Activity上下文
)

3. 收入占比(各Category占行总计的百分比)

计算当前Category的Income占对应Activity收入总计的比例:

收入占比 = 
DIVIDE(
    CALCULATE(
        SUM(Table2[Income]),
        Table2[Group] IN ALLSELECTED(Table2[Group])
    ),
    [Activity收入总计],
    0 -- 分母为0时返回0,避免错误
)

使用步骤

  1. 在Power Pivot中创建上述三个度量;
  2. 插入切片器,选择Table2[Group](或Table1的Group字段,需和度量中ALLSELECTED的参数对应);
  3. 构建透视表:
    • 行字段:先添加Activity(Table1/Table2均可),再添加Table2[Category](用于展示各收入类型);
    • 值字段:添加[总员工数]和[收入占比],并将[收入占比]设置为百分比格式。

注意事项

  • 确保两个表中Activity和Group字段的取值完全一致(如拼写、大小写),否则会出现匹配错误;
  • 若使用独立的Group维度表(推荐优化数据模型),只需将度量中ALLSELECTED(Table2[Group])替换为ALLSELECTED(Group表[Group])即可。

内容的提问来源于stack exchange,提问作者JohnTdata

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 02:02:57