自动生成完整日期序列!又有了新方法...
🏖️盛夏时节,阳光如火🔥,愿你心中荡漾着欢乐与清凉🧊,享受这美丽的夏日时光😎。
今日,上海的气温高达37℃,尽管相较于前几日的酷热略有缓和,但依旧保持着令人难以忽视的高温。在这样的气候条件下,小剑真想寻求片刻的休憩。然而,我意识到,作为一名知识分享者,我应当利用自身的专业所长,为广大求知者提供更多的实用信息,以确保他们能够在学习的道路上更加顺畅无阻。
案例介绍
在今日的分享中,我将向大家介绍一项FineBI数据处理的高效技巧——如何在数据集中自动生成完整日期序列。以2024年为例,该技巧能够快速生成从2024年1月1日至12月31日的所有日期,极大地简化了数据准备工作。在数据分析的工作中,完整日期序列作为关键的分析维度,其重要性不言而喻。特别是在预算执行分析和预算预测分析等场景下,这一数据元素能够发挥其独特的价值。通过精确的日期序列,分析师能够细致地追踪预算的实际执行情况,并对未来的预算趋势进行科学预测。
或许有观点认为,在Excel中手动创建日期序列同样便捷。然而,Excel操作依赖于人工输入,且需频繁上传更新,这在数据分析领域中属于重复性劳动,不仅耗时且易出错。因此,我们应当追求自动化解决方案,以提升数据分析工作的效率和准确性。通过FineBI的这一功能,我们能够确保数据处理的流畅性和高效性,从而为后续的分析工作奠定坚实基础。
实操演示
我们首先第一步需要准备一份详细的销售数据集。这一步骤的核心目的是从庞大的销售流水记录中提取出日期信息,并进一步确定每个日期所对应的年份。随后,基于这些年份信息,我们可以运用FineBI,来生成相应年份的完整日期序列。
第二步的操作至关重要。我们需要从销售流水数据中精确地提取出最早时间和最晚时间。这一步骤不仅简单明了,而且极为关键,因为它为我们确定了销售流水表的时间范围,即日期的跨度。
第三步(接下来的每一步都非常关键,一定不要跳过),我们将依据从销售流水数据中提取的最早和最晚时间,构建一个完整的年份序列。以图示为例,若最早时间为2019年9月24日,最晚时间为2023年1月24日,那么我们生成的年份序列将精确地涵盖2019年至2023年,即:2019、2020、2021、2022、2023。
这一步我们使用到了一个隐藏函数:range。此函数在FineBI函数列表并没有明确展示的介绍,但是却非常有用。
range(YEAR(${最早时间}),YEAR(${最晚时间}),1)
相关隐藏函数的介绍请翻阅我的另外一篇文章:FineBI中的秘密函数,只需1秒便开挂,提升数据分析效率!
第四步是对前一步骤所生成的日期序列数组进行细致的格式化处理。具体操作上,我们需要对数组进行精简,即去除其外围的中括号。这一任务可以通过replace函数高效完成,确保日期序列以更加简洁和规范的形式展现。
REPLACE(REPLACE(${年份序列},"","")
第五步的操作尤为关键,它涉及一个可能被忽视但却功能强大的技术——行列拆分。尽管这一功能在日常数据处理中不常被提及,但它的实用性不容小觑。
通过以下简洁的5步操作,我们可以将前一步骤中生成的年份扩展值,按照逗号分隔符,精确地分配到每一行中。这一过程不仅展示了数据处理的精细技巧,也体现了在数据分析中对细节的重视和把控。通过这样的操作,数据的可读性和可用性得到了显著提升,为后续的深入分析和决策支持提供了坚实的基础。
第六步的操作是对月份数据进行细致的构建与拆分。这一步骤借鉴了前述对年份处理的方法,展现了数据分析中的连贯性和逻辑性。
首先,我们生成一个从1至12的月份序列,接着,我们去除序列值中的中括号。最后,通过拆分行列的操作,我们将数据按照逗号分隔符精确地分配到不同的行中,这一过程如下面三个图所示,清晰地展示了数据处理的精细步骤。
月份序列:
range(1,12,1)
月份扩展:
REPLACE(REPLACE(${月份序列},"","")
第七步聚焦于日维度的序列生成与拆分,这一步骤延续了前两步的逻辑。基于前两步所得到的年份序列和月份序列,我们生成对应年月的完整日数据序列。随后,我们去除序列中的中括号。最终,通过拆分操作,我们将这些日数据精确地分配到每一行中,从而实现年、月、日的完整扩展。
在这一步中,我们将使用到隐藏函数:range和dateinmonth,字符替换函数:replace,日期函数:date 和 day。
日序列:
range(DAY(DATE(${年份扩展-拆分行结果},${月份扩展-拆分行结果},"01")),DAY(dateinmonth(DATE(${年份扩展-拆分行结果},${月份扩展-拆分行结果},"01"),-1)),1)
日扩展:
REPLACE(REPLACE(${日序列},"","")
第八步,这一步就是将上面扩展后的年、月、日组装成日期即可。这一步骤虽然看似简单,却是确保数据完整性和可用性的关键一环。
DATE(${年份扩展-拆分行结果},${月份扩展-拆分行结果},${日扩展-拆分行结果})
第九步,也就是我们的最后一步,我们只需要将前面几个辅助字段隐藏保留日期字段即可。
结果验证
至此,我们已经完成了从年份到每日数据的全面扩展。为了确保每一步操作的准确无误,我们进行了一次简单的验证。
通过检查日期数据的最早和最晚日期,我们能够确认数据的完整性和时间跨度。此外,统计各年份的天数,如下图所示,不仅验证了数据的一致性,也展示了数据处理的细致入微。这些简单的验证步骤,如同数据分析的守护者,确保了我们的数据在后续应用中的可靠性和准确性。
总结
通过一个简明易懂的实际案例,我们不仅掌握了FineBI工具的使用技巧,还深入理解了函数的综合应用。这一过程不仅提升了我们的操作技能,更为数据分析带来了全新的视角,让分析工作变得高效而流畅,如同顺水推舟般自然。
那么,你是否已经掌握了这些技巧呢?让我们一起将理论转化为实践,让数据分析成为你手中的利器,轻松应对各种挑战。
为助你将这些分析理论精华融入业务,特在帆软官网视频课推出系统化的《FineBI6.1:业财融合实战进阶课 - 视频课 - 帆软学院 (fanruan.com)》,课程引用真实零售快销公司数据作为案例,涵盖多种数据分析模型、方法、技巧、经验,助力思维跃升。
立即报名,开启学习之旅!