public function deriveColumn($index)
    {
        $this->validateColumnIndex($index);
        
        $column = new DerivedColumn($this->columns[$index]->getAlias());
        
        return $column->setTable($this);
    }