Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
analytics.py126 linesDownload Raw Back to pypika
1"""2Package for SQL analytic functions wrappers3"""4 5from __future__ import annotations6 7from pypika.terms import (8    AnalyticFunction,9    IgnoreNullsAnalyticFunction,10    WindowFrameAnalyticFunction,11)12 13__author__ = "Timothy Heys"14__email__ = "theys@kayak.com"15 16 17class Preceding(WindowFrameAnalyticFunction.Edge):18    modifier = "PRECEDING"19 20 21class Following(WindowFrameAnalyticFunction.Edge):22    modifier = "FOLLOWING"23 24 25CURRENT_ROW = "CURRENT ROW"26 27 28class Rank(AnalyticFunction):29    def __init__(self, **kwargs):30        super().__init__("RANK", **kwargs)31 32 33class DenseRank(AnalyticFunction):34    def __init__(self, **kwargs):35        super().__init__("DENSE_RANK", **kwargs)36 37 38class RowNumber(AnalyticFunction):39    def __init__(self, **kwargs):40        super().__init__("ROW_NUMBER", **kwargs)41 42 43class NTile(AnalyticFunction):44    def __init__(self, term, **kwargs):45        super().__init__("NTILE", term, **kwargs)46 47 48class FirstValue(WindowFrameAnalyticFunction, IgnoreNullsAnalyticFunction):49    def __init__(self, *terms, **kwargs):50        super().__init__("FIRST_VALUE", *terms, **kwargs)51 52 53class LastValue(WindowFrameAnalyticFunction, IgnoreNullsAnalyticFunction):54    def __init__(self, *terms, **kwargs):55        super().__init__("LAST_VALUE", *terms, **kwargs)56 57 58class Median(AnalyticFunction):59    def __init__(self, term, **kwargs):60        super().__init__("MEDIAN", term, **kwargs)61 62 63class Avg(WindowFrameAnalyticFunction):64    def __init__(self, term, **kwargs):65        super().__init__("AVG", term, **kwargs)66 67 68class StdDev(WindowFrameAnalyticFunction):69    def __init__(self, term, **kwargs):70        super().__init__("STDDEV", term, **kwargs)71 72 73class StdDevPop(WindowFrameAnalyticFunction):74    def __init__(self, term, **kwargs):75        super().__init__("STDDEV_POP", term, **kwargs)76 77 78class StdDevSamp(WindowFrameAnalyticFunction):79    def __init__(self, term, **kwargs):80        super().__init__("STDDEV_SAMP", term, **kwargs)81 82 83class Variance(WindowFrameAnalyticFunction):84    def __init__(self, term, **kwargs):85        super().__init__("VARIANCE", term, **kwargs)86 87 88class VarPop(WindowFrameAnalyticFunction):89    def __init__(self, term, **kwargs):90        super().__init__("VAR_POP", term, **kwargs)91 92 93class VarSamp(WindowFrameAnalyticFunction):94    def __init__(self, term, **kwargs):95        super().__init__("VAR_SAMP", term, **kwargs)96 97 98class Count(WindowFrameAnalyticFunction):99    def __init__(self, term, **kwargs):100        super().__init__("COUNT", term, **kwargs)101 102 103class Sum(WindowFrameAnalyticFunction):104    def __init__(self, term, **kwargs):105        super().__init__("SUM", term, **kwargs)106 107 108class Max(WindowFrameAnalyticFunction):109    def __init__(self, term, **kwargs):110        super().__init__("MAX", term, **kwargs)111 112 113class Min(WindowFrameAnalyticFunction):114    def __init__(self, term, **kwargs):115        super().__init__("MIN", term, **kwargs)116 117 118class Lag(AnalyticFunction):119    def __init__(self, *args, **kwargs):120        super().__init__("LAG", *args, **kwargs)121 122 123class Lead(AnalyticFunction):124    def __init__(self, *args, **kwargs):125        super().__init__("LEAD", *args, **kwargs)126 
codekingpro/portable-devtools · Team Ai