code: def adhoc_metric_to_sqla(self, metric, cols):
          
          expression_type = metric.get('expressionType')
          label = utils.get_metric_name(metric)
  
          if expression_type == utils.ADHOC_METRIC_EXPRESSION_TYPES['SIMPLE']:
              column_name = metric.get('column').get('column_name')
              table_column = cols.get(column_name)
              if table_column:
                  sqla_column = table_column.get_sqla_col()
              else:
                  sqla_column = column(column_name)
              sqla_metric = self.sqla_aggregations[metric.get('aggregate')](sqla_column)
          elif expression_type == utils.ADHOC_METRIC_EXPRESSION_TYPES['SQL']:
              sqla_metric = literal_column(metric.get('sqlExpression'))
          else:
              return None
  
          return self.make_sqla_column_compatible(sqla_metric, label)
docs: Turn an adhoc metric into a sqlalchemy column.
  
          :param dict metric: Adhoc metric definition
          :param dict cols: Columns for the current table
          :returns: The metric defined as a sqlalchemy column
          :rtype: sqlalchemy.sql.column