OEM类型商机一旦开始批量生产后,一般客户每个月都会定期下单一批货,销售管理端需要统计具体商机是什么时候开始下单的,用于统计销售人员年度绩效考核。
此需求用MINX()结合GROUBY()函数可以实现。
基础语法与参数
标准语法1:MINX(<table>, <expression>, [<variant>])
参数说明:
- table:要逐行遍历计算的目标表,也可以是返回表的表达式
- expression:针对表中每一行执行的计算逻辑
- variant(可选):设为TRUE时,若存在混合数据类型,会按升序规则返回最小值
标准语法2:GROUPBY(<table>, <groupBy_columnName>[, <groupBy_columnName>]…[, <name>, <expression>]…)
参数说明:
- table:要分组的源表(可以是物理表,也可以是返回表的表达式如
SUMMARIZECOLUMNS的结果)。 - groupBy_columnName:用于分组的列名。必须来自源表或其扩展表(通过关系关联的表),不能是表达式。
- name(可选):新添加的聚合列的名称需用双引号括起来。
- expression(可选):计算新列值的表达式。关键限制:此表达式必须是支持的 X系列迭代聚合函数,且第一个参数必须是
CURRENTGROUP()。
DAX函数结合示例如下:
首单日期 = CALCULATE(MINX('salesorderdetail-商机统计用','salesorderdetail-商机统计用'[创建日期]),GROUPBY('salesorderdetail-商机统计用','salesorderdetail-商机统计用'[ele_h3opportunity]))
一般统计函数写在订单表单上,示例中由于关联订单操作在订单明细行上,所以写在了订单明细行上,用MINX统计出最早的创建日期,用GROUPBY根据商机进行分组,就能得到商机最早创建日期,将订单明细行的商机数据与商机表单数据在模型中创建关联即可。