def get_statistics_for_single_obsid(obsid ='', table='w_levels', data_columns=None): Statistics_list = [0]*4 if data_columns is None: data_columns = ['meas', 'level_masl'] data_column = data_columns[0] #default value #number of values, also decide wehter to use meas or level_masl in report for column in data_columns: sql = r"""select Count(%s) from %s where obsid = '%s'"""%(column, table, obsid) ConnectionOK, number_of_values = db_utils.sql_load_fr_db(sql) if number_of_values and number_of_values[0][0] > Statistics_list[2]:#this will select meas if meas >= level_masl data_column = column Statistics_list[2] = number_of_values[0][0] #min value sql = r"""select min(%s) from %s where obsid = '%s'"""%(data_column, table, obsid) ConnectionOK, min_value = db_utils.sql_load_fr_db(sql) if min_value: Statistics_list[0] = min_value[0][0] #median value median_value = db_utils.calculate_median_value(table, data_column, obsid) if median_value: Statistics_list[1] = median_value #max value sql = r"""select max(%s) from %s where obsid = '%s'"""%(data_column, table, obsid) ConnectionOK, max_value = db_utils.sql_load_fr_db(sql) if max_value: Statistics_list[3] = max_value[0][0] return data_column, Statistics_list
def get_statistics(obsids, table, column, sql_function_order=None, median=True, dbconnection=None): if not isinstance(dbconnection, db_utils.DbConnectionManager): dbconnection = db_utils.DbConnectionManager() if sql_function_order is None: sql_function_order = ['min', 'max', 'avg', 'count'] if not isinstance(obsids, (list, tuple)): obsids = [obsids] sql = 'select obsid, %s from %s where obsid in (%s) group by obsid' % ( ', '.join(['%s(%s)' % (func, column) for func in sql_function_order ]), table, ', '.join(["'{}'".format(x) for x in obsids])) _res = db_utils.get_sql_result_as_dict(sql, dbconnection=dbconnection)[1] res = dict([(obsid, list(v[0])) for obsid, v in _res.items()]) if median: [ v.append( db_utils.calculate_median_value(table, column, obsid, dbconnection)) for obsid, v in res.items() ] return res
def get_statistics(obsids, table, column, sql_function_order=None, median=True, dbconnection=None): if not isinstance(dbconnection, db_utils.DbConnectionManager): dbconnection = db_utils.DbConnectionManager() if sql_function_order is None: sql_function_order = ['min', 'max', 'avg', 'count'] if not isinstance(obsids, (list, tuple)): obsids = [obsids] sql = 'select obsid, %s from %s where obsid in (%s) group by obsid'%(', '.join(['%s(%s)'%(func, column) for func in sql_function_order]), table, ', '.join(["'{}'".format(x) for x in obsids])) _res = db_utils.get_sql_result_as_dict(sql, dbconnection=dbconnection)[1] res = dict([(obsid, list(v[0])) for obsid, v in _res.items()]) if median: [v.append(db_utils.calculate_median_value(table, column, obsid, dbconnection)) for obsid, v in res.items()] return res
def GetStatistics(obsid=''): Statistics_list = [0] * 4 columns = ['meas', 'level_masl'] # default value meas_or_level_masl = 'meas' #number of values, also decide wehter to use meas or level_masl in report for column in columns: sql = r"""select Count(%s) from w_levels where obsid = '%s'""" % ( column, obsid) ConnectionOK, number_of_values = db_utils.sql_load_fr_db(sql) if number_of_values and number_of_values[0][0] > Statistics_list[ 2]: #this will select meas if meas >= level_masl meas_or_level_masl = column Statistics_list[2] = number_of_values[0][0] #min value if meas_or_level_masl == 'meas': sql = r"""select min(meas) from w_levels where obsid = '%s'""" % obsid else: sql = r"""select max(level_masl) from w_levels where obsid = '%s'""" % obsid ConnectionOK, min_value = db_utils.sql_load_fr_db(sql) if min_value: Statistics_list[0] = min_value[0][0] #median value median_value = db_utils.calculate_median_value('w_levels', meas_or_level_masl, obsid) if median_value: Statistics_list[1] = median_value #max value if meas_or_level_masl == 'meas': sql = r"""select max(meas) from w_levels where obsid = '%s' """ % obsid else: sql = r"""select min(level_masl) from w_levels where obsid = '%s' """ % obsid ConnectionOK, max_value = db_utils.sql_load_fr_db(sql) if max_value: Statistics_list[3] = max_value[0][0] return meas_or_level_masl, Statistics_list
def GetStatistics(obsid = ''): Statistics_list = [0]*4 columns = ['meas', 'level_masl'] # default value meas_or_level_masl= 'meas' #number of values, also decide wehter to use meas or level_masl in report for column in columns: sql = r"""select Count(%s) from w_levels where obsid = '%s'"""%(column, obsid) ConnectionOK, number_of_values = db_utils.sql_load_fr_db(sql) if number_of_values and number_of_values[0][0] > Statistics_list[2]:#this will select meas if meas >= level_masl meas_or_level_masl = column Statistics_list[2] = number_of_values[0][0] #min value if meas_or_level_masl=='meas': sql = r"""select min(meas) from w_levels where obsid = '%s'""" % obsid else: sql = r"""select max(level_masl) from w_levels where obsid = '%s'""" % obsid ConnectionOK, min_value = db_utils.sql_load_fr_db(sql) if min_value: Statistics_list[0] = min_value[0][0] #median value median_value = db_utils.calculate_median_value('w_levels', meas_or_level_masl, obsid) if median_value: Statistics_list[1] = median_value #max value if meas_or_level_masl=='meas': sql = r"""select max(meas) from w_levels where obsid = '%s' """ % obsid else: sql = r"""select min(level_masl) from w_levels where obsid = '%s' """ % obsid ConnectionOK, max_value = db_utils.sql_load_fr_db(sql) if max_value: Statistics_list[3] = max_value[0][0] return meas_or_level_masl, Statistics_list
def get_statistics_for_single_obsid(obsid='', table='w_levels', data_columns=None): Statistics_list = [0] * 4 if data_columns is None: data_columns = ['meas', 'level_masl'] data_column = data_columns[0] #default value #number of values, also decide wehter to use meas or level_masl in report for column in data_columns: sql = r"""select Count(%s) from %s where obsid = '%s'""" % ( column, table, obsid) ConnectionOK, number_of_values = db_utils.sql_load_fr_db(sql) if number_of_values and number_of_values[0][0] > Statistics_list[ 2]: #this will select meas if meas >= level_masl data_column = column Statistics_list[2] = number_of_values[0][0] #min value sql = r"""select min(%s) from %s where obsid = '%s'""" % (data_column, table, obsid) ConnectionOK, min_value = db_utils.sql_load_fr_db(sql) if min_value: Statistics_list[0] = min_value[0][0] #median value median_value = db_utils.calculate_median_value(table, data_column, obsid) if median_value: Statistics_list[1] = median_value #max value sql = r"""select max(%s) from %s where obsid = '%s'""" % (data_column, table, obsid) ConnectionOK, max_value = db_utils.sql_load_fr_db(sql) if max_value: Statistics_list[3] = max_value[0][0] return data_column, Statistics_list