我正在处理的数据是石油和天然气生产数据。生产表唯一地标识每个井并包含生产值的时间序列。我希望能够计算包含生产表中每个井的生产月份数的列。这需要是一个计算,因此我可以根据生产月而不是日历月来绘制各种井的产量。 (我想比较油井寿命期间各井的良好性能。)另请注意,生产数据可能存在差距,因此您不能依赖每口井进行12个月的顺序生产。
我尝试使用这篇文章RankValues中的答案,但计算永远不会完成。我有超过400万行的生产数据。
在下面的表格中,ProdMonth中显示的值是我需要根据ProdDate中显示的时间来计算的。这需要作为每个唯一WellId的行计算执行
感谢。
WellID ProdDate ProdMonth
1 12/1/2011 1
1 1/1/2012 2
1 2/1/2012 3
1 3/1/2012 4
… … …
1 11/1/2012 12
2 3/1/2014 1
2 4/1/2014 2
2 5/1/2014 3
2 6/1/2014 4
2 7/1/2014 5
… … …
2 2/1/2014 12
答案 0 :(得分:0)
我会创建一个新的日期表,每天有一行(数据的粒度)。然后我会在该表中添加ProdMonth列。这将确保您拥有所有日期的日期(即使井报告数据存在差距)。然后,您可以在ProdDate字段上使用油井生产数据和日期表之间的关系。然后,如果您从日期表中提取ProdMonth,您将获得所有ProdMonths的列表(提示:您可能需要在字段中的字段右键单击菜单中选择“显示没有数据的值”)。然后,如果您添加到相同的可视化WellID,您应该能够看到哪些井在ProdMonth中处于活动状态。如果WellID是一个数字,您可能需要使用WellID上的“不总结”功能来获得您想要的结果。
答案 1 :(得分:0)
我在PowerPivotPro上发布了这个问题,Tom Allan提供了我需要的DAX公式。第一步是计算连接年份和月份(YearMonth)的字段。然后使用RANKXX函数:
= RANKX(FILTER(数据,[WellID] = EARLIER([WellID])),[YearMonth] ,, 1,DENSE)
这样就可以在12毫米的行上快速完成。