Power BI种关于商机首次下单日期的确定

OEM类型商机一旦开始批量生产后,一般客户每个月都会定期下单一批货,销售管理端需要统计具体商机是什么时候开始下单的,用于统计销售人员年度绩效考核。

此需求用MINX()结合GROUBY()函数可以实现。

基础语法与参数

标准语法1:MINX(<table>, <expression>, [<variant>])

参数说明:

  • table‌:要逐行遍历计算的目标表,也可以是返回表的表达式
  • expression‌:针对表中每一行执行的计算逻辑
  • variant‌(可选):设为TRUE时,若存在混合数据类型,会按升序规则返回最小值

标准语法2:GROUPBY(<table>, <groupBy_columnName>[, <groupBy_columnName>]…[, <name>, <expression>]…)

参数说明:

  1. table‌:要分组的源表(可以是物理表,也可以是返回表的表达式如SUMMARIZECOLUMNS的结果)。
  2. groupBy_columnName‌:用于分组的列名。必须来自源表或其扩展表(通过关系关联的表),‌不能是表达式‌。
  3. name‌(可选):新添加的聚合列的名称需用双引号括起来。
  4. expression‌(可选):计算新列值的表达式。‌关键限制‌:此表达式必须是支持的 ‌X系列迭代聚合函数‌,且第一个参数必须是CURRENTGROUP()

DAX函数结合示例如下:

首单日期 = CALCULATE(MINX('salesorderdetail-商机统计用','salesorderdetail-商机统计用'[创建日期]),GROUPBY('salesorderdetail-商机统计用','salesorderdetail-商机统计用'[ele_h3opportunity]))

一般统计函数写在订单表单上,示例中由于关联订单操作在订单明细行上,所以写在了订单明细行上,用MINX统计出最早的创建日期,用GROUPBY根据商机进行分组,就能得到商机最早创建日期,将订单明细行的商机数据与商机表单数据在模型中创建关联即可。