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

基于不同日期统计事件出现次数的计算字段实现方法咨询

基于不同日期统计事件出现次数的计算字段实现方法咨询

嗨,我完全懂你的需求啦——你要统计每个事件ID(Inc ID)对应的不同日期的数量,而不是简单按行数计数,毕竟同一个事件ID可能对应多行产品数据,但你只关心它在多少个不同日期被上报过对吧?下面我针对几种常用工具给你具体的实现方法,按需选用就行:

1. Excel 环境下的实现方法

方法一:适合Excel 365/2021(支持动态数组)

  1. 先提取所有唯一的事件ID:在空白单元格(比如E2)输入公式 =UNIQUE(A2:A9),回车后会自动列出所有不重复的Inc ID。
  2. 统计每个ID的唯一日期数:在F2单元格输入公式 =COUNT(UNIQUE(FILTER(C2:C9,A2:A9=E2))),下拉填充即可得到每个Inc ID对应的不同日期数量。

方法二:适合旧版Excel(无动态数组支持)

直接在每行的空白列(比如D列)输入公式:

=SUMPRODUCT((A$2:A$9=A2)/COUNTIFS(A$2:A$9,A$2:A$9,C$2:C$9,C$2:C$9))

下拉填充后,每行都会显示当前Inc ID对应的唯一日期总数,重复的Inc ID会显示相同的计数结果。

2. SQL 环境下的实现方法

如果你的数据存在数据库里,用COUNT(DISTINCT)分组统计是最直接的方式:

SELECT 
    "Inc ID",
    COUNT(DISTINCT "Date Raised") AS unique_date_count
FROM 
    your_table_name  -- 替换成你的表名
GROUP BY 
    "Inc ID";

这个查询会按Inc ID分组,自动去重每个组内的重复日期,返回每个事件ID对应的不同日期数量。

3. Tableau 环境下的实现方法

方式一:创建计算字段

新建一个计算字段,输入以下LOD表达式:

{FIXED [Inc ID]: COUNTD([Date Raised])}

这个字段会固定每个Inc ID维度,计算其关联的不同日期数量,不管有多少行产品数据,都能得到正确的计数。

方式二:可视化拖放操作

  1. 将[Inc ID]拖到“行”功能区;
  2. 将[Date Raised]拖到标记卡的“文本”区域;
  3. 右键点击标记卡中的[Date Raised],选择「度量 > 计数(不同)」,即可自动展示每个Inc ID的唯一日期数。

4. Power BI 环境下的实现方法

可以创建一个度量值或者计算列:

  • 度量值(适合报表交互):
Unique Date Count = CALCULATE(DISTINCTCOUNT('Table'[Date Raised]), ALLEXCEPT('Table','Table'[Inc ID]))
  • 计算列(适合直接在表格中显示):
Unique Date Count = CALCULATE(DISTINCTCOUNT('Table'[Date Raised]), FILTER('Table','Table'[Inc ID]=EARLIER('Table'[Inc ID])))

核心思路其实很简单:对每个Inc ID,统计其关联的唯一日期的数量,不同工具的实现都是围绕“去重后计数”这个核心来的,选你常用的工具方法就行~

备注:内容来源于stack exchange,提问作者user9351236

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.20 12:38:04