Esempio n. 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"))
Esempio n. 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"))
Esempio n. 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
Esempio n. 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
Esempio n. 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
Esempio n. 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