Beispiel #1
0
 public function transform(RowInterface $row)
 {
     $original = $row->get($this->inputColumnName);
     $existing = $row->get($this->outputColumnName);
     if ($this->override || !$existing) {
         $row->set($this->outputColumnName, $original);
     }
 }
Beispiel #2
0
 /**
  * {@inheritdoc}
  */
 public function transform(RowInterface $row)
 {
     $purchased = $row->get($this->purchasedColumnName);
     $sold = $row->get($this->soldColumnName);
     if ($purchased > 0) {
         $score = round(100 * $sold / $purchased);
     } else {
         $score = 0;
     }
     $row->set($this->outputColumn->getName(), $score);
 }
Beispiel #3
0
 public function transform(RowInterface $row)
 {
     // var_dump($this->inputColumnName);die;
     $original = $row->get($this->inputColumnName);
     $values = explode($this->delimiter, $original);
     if (count($values) == count($this->outputColumnNames)) {
         foreach ($this->outputColumnNames as $i => $col) {
             $row->set($col['name'], $values[$i]);
         }
     }
 }
Beispiel #4
0
 /**
  * {@inheritdoc}
  */
 public function load(RowInterface $row)
 {
     if ($this->row++ == 0) {
         foreach ($this->columns as $column) {
             $this->output->write(sprintf("%s\t", $column->getAlias()));
         }
     }
     foreach ($this->columns as $column) {
         $this->output->write(sprintf("%s\t", $row->get($column->getAlias())));
     }
     $this->output->writeln('');
 }
Beispiel #5
0
 /**
  * {@inheritdoc}
  */
 public function transform(RowInterface $row)
 {
     $datestring = $row->get($this->dateColumnName);
     $date = new DateTime($datestring);
     $quarter = ceil($date->format('n') / 3);
     $weekday = 'Y';
     if ($date->format('N') == 6 || $date->format('N') == 7) {
         $weekday = 'N';
     }
     $row->set('year', (int) $date->format('Y'));
     $row->set('month', (int) $date->format('m'));
     $row->set('weekday', (int) $date->format('N'));
     $row->set('weekdayname', $date->format('l'));
     $row->set('weekdayflag', $weekday);
     $row->set('weeknumber', (int) $date->format('W'));
     $row->set('yearmonth', (int) $date->format('Ym'));
     $row->set('quarter', (int) $quarter);
     $row->set('yearquarter', sprintf("%s%s", (int) $date->format('Y'), $quarter));
     $row->set('yearquartermonth', sprintf("%s%s%s", (int) $date->format('Y'), $quarter, $date->format('m')));
 }
Beispiel #6
0
 /**
  * {@inheritdoc}
  */
 public function load(RowInterface $row)
 {
     $sql = 'INSERT INTO ' . $this->tablename;
     $sql .= ' (';
     foreach ($this->columns as $column) {
         $sql .= $column->getAlias() . ', ';
     }
     $sql = rtrim($sql, ', ');
     $sql .= ') VALUES (';
     $values = array();
     foreach ($this->columns as $column) {
         $values[] = $row->get($column->getAlias());
         $sql .= '?, ';
     }
     $sql = rtrim($sql, ', ');
     $sql .= ');';
     $this->stmt = $this->pdo->prepare($sql);
     if (!$this->stmt->execute($values)) {
         throw new \Exception(sprintf("Query '%s' failed with values %s.", $sql, implode(', ', $values)));
     }
 }