反馈已提交

网络繁忙

您正在浏览的是 FineBI7.X 帮助文档,点击跳转至: FineBI6.X帮助文档

SUB_DIM(引用维度-指定维度)

  • 文档创建者:April陶
  • 历史版本:17
  • 最近更新:April陶 于 2025-07-22
  • 1. 概述

    1.1 版本

    FineBI版本功能变动
    7.0-

    1.2 函数简介

    语法
    SUB_DIM(维度字段1,维度字段2...)

    返回指定视图中除去函数声明的其他维度

    指定视图定义: 

    • 使用在 DEF 维度参数中,指定为外部视图

    • 使用在其他场景下,指定为当前所在视图

    参数维度字段1,维度字段2...

    支持书写多个维度表达式,表达式之间通过“,”进行区分

    参数可以为空,为空则输出指定视图的全部维度 

    1.3 注意事项

    函数需要配合 DEF/WINDOW/FIELD_IN 使用。

    2. 示例

    下载示例数据:表格图表_办公用品销售数据.xlsx

    2.1 配合 WINDOW 实现组内行间计算 

    2.1.1 应用场景

    例如月累计销售额场景中,不同角色和分析需求关注的维度不同,需要依据不同的分析需求调整维度,查看月累计销售额。

    角色/场景分析需求维度
    cfo
    分析地区月累计销售额省份、城市
    进货预测分析商品月累计销售额大类、产品名称

    WINDOW 的分组维度没法动态的随着用户在分析区的调整保持始终正确的逻辑,维度在省份、城市和大类、产品名称间切换时,需更改计算字段。

    运用 SUB_DIM 函数后,无需调整计算字段,只需更换维度,即可查看相应的月累计销售额。

    2.1.2 实现思路

    WINDOW_SUM 配合 SUB_DIM 实现组内行间计算,用「一份数据模型」适应不同维度的月累计销售额展示需求

    月累计销售额动态字段=WINDOW_SUM(SUM_AGG(销售额),[SUB_DIM(签约时间)],[签约时间],["first",0]) 

    2.1.3 操作步骤

    1)准备分析维度:

    在分析区依次拖入维度字段「省份」「城市」「签约时间」并设置「签约时间」按「年月」分组。如下图所示:

    2)计算组内年月累计销售额:

    添加计算字段,计算动态月累计销售额,如下图所示:

    组内年月累计销售额=WINDOW_SUM(SUM_AGG(销售额),[SUB_DIM(签约时间)],[签约时间],["first",0]) 

    步骤
    公式说明
    计算指标:销售额之和SUM_AGG(销售额)

    基础聚合函数,计算销售额的总和

    详情见文档:聚合函数概述

    按分析区维度字段分组(排除签约时间)[SUB_DIM(签约时间)]

    SUB_DIM 通常表示返回外部视图的维度,且需排除函数声明里的维度。此处返回分析区除了签约时间的字段:省份、城市,在 WINDOW 函数中按省份、城市分组

    指定按签约时间排序[签约时间]

    按签约时间进行升序排

    详情见文档:WINDOW_SUM-跨行求和/求累计

    求累计["first",0]

    窗口范围参数,定义窗口的起始和结束位置

    "first"表示从分区的第一行开始

    0 表示到当前行结束

    详情见文档:WINDOW_SUM-跨行求和/求累计

    计算指定窗口范围内的汇总值WINDOW_SUM(SUM_AGG(销售额),[SUB_DIM(签约时间)],[签约时间],["first",0]) 
    • 返回窗口表达式的合计值

    • WINDOW 基于分析视图进行计算,指标/分组字段/排序字段需要均为聚合性质,且维度字段均需要来源于分析视图

    详情见文档:WINDOW_SUM-跨行求和/求累计

    3)将「组内年月累计销售额」拖入分析区,完成分析。如下图所示:

    2.1.4 效果预览

    计算指定窗口范围内的累计值。可查看每个月省份到城市的组内累计销售额,如下图所示:

    维度切换:例如切换签约时间前的维度为「大类」「产品名称」,会自动展示每个产品的月累计销售额,如下图所示:

    2.2 配合DEF+EARLIER实现组内行间计算 

    2.2.1 应用场景

    例如月累计销售额场景中,不同角色和分析需求关注的维度不同,需要依据不同的分析需求调整维度,查看月累计销售额。

    角色/场景分析需求维度
    cfo分析地区月累计销售额省份、城市
    进货预测分析商品月累计销售额大类、产品名称

    DEF+EARLIER 的分组维度没法动态的随着用户在分析区的调整保持始终正确的逻辑,维度在省份、城市大类、产品名称间切换时,需更改计算字段。

    运用 SUB_DIM 函数后,无需调整计算字段,只需更换维度,即可查看相应的月累计销售额。

    2.2.2 实现思路

    DEF+EARLIER 配合 SUB_DIM 实现组内行间计算,用「一份数据模型」适应不同维度的月累计销售额展示需求

    月累计销售额动态字段=DEF_ADD(SUM_AGG(销售额),[],[EARLIER(SUB_DIM(签约时间-月))=SUB_DIM(签约时间-月),月份<=EARLIER(月份)])

    2.2.3 操作步骤

    1)处理数据表:

    我们希望由小月份到大月份对销售额进行累计,为了能够月份之间方便进行比较,我们可以在处理数据表的时候就提取「年份」「月份」。

    点击获取时间,获取「订单日期」的年份,如下图所示:

    点击获取时间,获取「订单日期」的月份,如下图所示:

    完成后点击保存更新。

    2)准备分析维度:

    复制两次签约时间维度,重命名为「签约时间-年」「签约时间-月」

    在分析区依次拖入维度字段「省份」「城市」「签约时间-年」「签约时间-月」并设置「签约时间-年」按「年」分组,「签约时间-月」按「月份」分组,如下图所示:

    3)计算组内年月累计销售额:

    添加计算字段,计算动态月累计销售额。如下图所示:

    组内年月累计=DEF_ADD(SUM_AGG(销售额),[],[EARLIER(SUB_DIM(签约时间-月))=SUB_DIM(签约时间-月),月份<=EARLIER(月份)])

    步骤公式说明
    计算销售额之和SUM_AGG(销售额)

    基础聚合函数,计算销售额的总和

    详情见文档:聚合函数概述

    获取分析维度[]自动获取分析区拖入的维度字段
    进行条件分组并获取组内指定行的销售额

    [EARLIER(SUB_DIM(签约时间-月))=SUB_DIM(签约时间-月),月份<=EARLIER(月份)]

    注:当 SUB_DIM()  位于 DEF 的 非维度参数时 ,返回当前视图维度。示例返回的是

     DEF_ADD 维度参数引用的分析区字段 - 「签约时间-月」

    • EARLIER(SUB_DIM(签约时间-月))=SUB_DIM(签约时间-月):除了「签约时间-月」外,按分析区内其余维度分组

    • 月份<=EARLIER(月份):获取当前月份及之前的月份销售额,对其求和时得到累计值

    • 详情见文档:EAELIER

    计算分组下按月累计销售额DEF_ADD(SUM_AGG(销售额),[],[EARLIER(SUB_DIM(签约时间-月))=SUB_DIM(签约时间-月),月份<=EARLIER(月份)])

    满足过滤条件并按分析区域中的维度对指标进行计算

    详情见文档:DEF_ADD

    2.2.4 效果预览

    将「组内年月累计」拖入分析区,完成分析,可查看每个月省份到城市的累计销售额,如下图所示:

    维度切换:例如切换签约时间-年签约时间-月前的维度为「大类」「产品名称」,会自动展示每个产品的月累计销售额,如下图所示:




    附件列表


    主题: 进阶学习
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持