窗口函数中的 case when
今天我们看一下窗口函数和case when 的各种花活,最近的需求各种窗口,一个需求中十几个窗口,加上各种条件边界,所以写了大量的窗口函数和case when的组合,今天我们来看一下。
我们的数据如下
%spark.pyspark
df2 = spark.createDataFrame([
("2024-10-12", 50, "西南第2店"),
("2024-10-13", 60, "西南第2店"),
("2024-10-14",100 , "西南第2店"),
("2024-10-15", 180, "西南第2店"),
("2024-10-16", None, "西南第2店"),
("2024-10-17", 90, "西南第2店"),
("2024-10-18", 95, "西南第2店"),
("2024-10-19", None, "西南第2店")
]).toDF("date", "income", "shop")
df2=df2.withColumn("date",df2.date.cast('date'))
df2.cre