Пример #1
0
def get_total_by_cash_register(sales_df):
    if sales_df is None:
        return None

    sales_df = sales_df.filter(get_sales_data_validations())
    sales_group = sales_df.groupby('numero_caja').agg({'venta': 'sum'})
    sales_group = sales_group.orderBy(sales_group['sum(venta)'].desc())

    return sales_group.select(funcs.col("numero_caja"),
                              funcs.col("sum(venta)").alias("ventas"))
Пример #2
0
def get_total_by_products(sales_df):
    if sales_df is None:
        return None

    sales_df = sales_df.filter(get_sales_data_validations())
    sales_group = sales_df.groupby('producto').agg({'venta': 'sum'})
    sales_group = sales_group.orderBy(sales_group['sum(venta)'].desc())

    return sales_group.select(funcs.col("producto"),
                              funcs.col("sum(venta)").alias("ventas"))
Пример #3
0
def get_sales_percentile(sales_df, percentile):
    if sales_df is None:
        return None

    sales_df = sales_df.filter(get_sales_data_validations())
    total_registers_df = get_total_by_cash_register(sales_df)

    return total_registers_df\
        .selectExpr('percentile(ventas, ' + str(percentile) + ') as percentile')\
        .first().percentile
Пример #4
0
def get_product_with_more_sales(sales_df):
    if sales_df is None:
        return None

    sales_df = sales_df.filter(get_sales_data_validations())
    sales_group = get_total_by_products(sales_df)
    product_most_unit_sold = sales_group.orderBy(
        sales_group['ventas'].desc()).first().producto

    return product_most_unit_sold
Пример #5
0
def get_product_with_more_units_sold(sales_df):
    if sales_df is None:
        return None

    sales_df = sales_df.filter(get_sales_data_validations())
    sales_group = sales_df.groupby('producto').agg({'cantidad': 'sum'})
    product_most_unit_sold = sales_group.orderBy(
        sales_group['sum(cantidad)'].desc()).first().producto

    return product_most_unit_sold
Пример #6
0
def get_cash_register_with_least_sales(sales_df):
    if sales_df is None:
        return None

    sales_df = sales_df.filter(get_sales_data_validations())
    sales_group = get_total_by_cash_register(sales_df)
    cr_with_most_sales = sales_group.orderBy(
        sales_group['ventas'].asc()).first().numero_caja

    return cr_with_most_sales