如何将同门店同天多条照片记录统计为单次到店并计算月到店总次数
问题原因
你现有计算的聚合粒度不符合需求:{FIXED [Store Name] : [CountStoresVisits]} 仅绑定了门店名称维度,统计的是单个门店全量时间范围内的去重日期总数,既没有纳入「同门店同一天算一次」的双维度聚合规则,也无法按单月维度拆分统计。
正确实现方案
1. Tableau 计算逻辑(适配你现有的 LOD 写法)
你可以直接调整计算字段,按「门店+日期」双维度去重统计即可:
MonthlyStoreVisits = COUNTD(STR([Store Name]) + "_" + STR(DATE([AEDTcreatedAt])))
如果需要保留分层聚合的写法,可以调整 LOD 的绑定维度:
// 先按门店+日期标记有效到店,同一组合仅计数1次 IsValidVisit = {FIXED [Store Name], DATE([AEDTcreatedAt]) : 1} // 单月总到店次数直接求和,放入视图时会自动按月份维度过滤聚合 TotalMonthlyVisits = SUM([IsValidVisit])
2. 原生 Postgres SQL 查询逻辑
如果直接写 SQL 统计单月到店次数,可以参考以下写法:
-- 统计指定月份的总门店到店次数示例 SELECT COUNT(DISTINCT CONCAT(store_name, '_', DATE(aedtcreated_at))) AS monthly_total_visits FROM 你的表名 WHERE DATE_TRUNC('month', aedtcreated_at) = '2024-05-01'::DATE; -- 分组聚合写法,支持同时输出各门店的单月到店次数 SELECT store_name, COUNT(DISTINCT DATE(aedtcreated_at)) AS store_monthly_visits FROM 你的表名 WHERE DATE_TRUNC('month', aedtcreated_at) = '2024-05-01'::DATE GROUP BY store_name;
内容的提问来源于stack exchange,提问作者Timothy Lombard
相关产品推荐
相关产品推荐

