Skip to content

Instantly share code, notes, and snippets.

View gstpereira's full-sized avatar
🧑‍💻
Stop starting and start finishing!

Gustavo Pereira gstpereira

🧑‍💻
Stop starting and start finishing!
View GitHub Profile
@gstpereira
gstpereira / cohort.sql
Created October 6, 2022 02:04 — forked from bassemawhoob/cohort.sql
Revenue Retention Cohort Analysis - Postgres
-- Based on: https://medium.com/quick-code/how-to-write-sql-to-calculate-user-cohort-retention-a1b3b57c7a2f
-- Uses DATE_PART instead of DATE_DIFF as it is not supported by Postgres
-- (branch_id, scheduled_for, total_cents)
WITH activities AS (
SELECT branch_id, scheduled_for, total_cents
FROM orders
WHERE orders.status = 'complete'
),
-- (branch_id, cohort_month): cohort month is the first order date
<?php
$payer = new \BUBB\Gateway\Clients\Payer();
$payer->setName('Fernando Maia');
$payer->setDocument('023.434.234-34');
$payer->setAddress('ABC 302 Bloco N');
$payer->setCity('Brasília');
$payer->setZipCode('72000-000');
$payer->setState('DF');
<?php
$sale = new \BUBB\Gateway\Clients\Sale();
$sale->setValue(12.5);
$sale->setNumber(5075093);
$card = new \BUBB\Gateway\Clients\Card();
$card->setNumber(4012001037141112);
$card->setValidity('05/2018');
$card->setIndicator(1);
<?php
$string = '04/09/2013 VANESSA RAFFLER 5199060 28/08/2013 13:40 EMISSAO CO IBITINGA 01 28/08/2013 18:58 TRANSFERENCIA TECA JAD SAO 29/08/2013 00:23 ENTRADA TECA JAD SAO 29/08/2013 02:50 TRANSFERENCIA CO CURITIBA 01 29/08/2013 10:23 TRANSFERENCIA CO UNIAO DA VITORIA 01 29/08/2013 20:20 TRANSFERENCIA CO CURITIBA 01 29/08/2013 23:52 TRANSFERENCIA CO CURITIBA 01 30/08/2013 06:50 TRANSFERENCIA CO UNIAO DA VITORIA 01 30/08/2013 12:44 TRANSFERENCIA CO CHAPECO 01 02/09/2013 08:01 ENTRADA CO CHAPECO 01 02/09/2013 09:50 EM ROTA CO CHAPECO 01 03/09/2013 09:22 ENTREGUE CO CHAPECO 01 03/09/2013 09:26 ENDERECO NAO LOCALIZADO CO CHAPECO 01 04/09/2013 09:40 EM ROTA CO CHAPECO 01 05/09/2013 09:06 ENTREGUE CO CHAPECO 01';
$matches = array();
if (preg_match_all('/[^\s].*?(?=\s\d{2}\/\d{2}\/\d{4})/', $string, $matches)) {
print_r($matches[0]);
}
<?php
$string = '04/09/2013 VANESSA RAFFLER 5199060 28/08/2013 13:40 EMISSAO CO IBITINGA 01 28/08/2013 18:58 TRANSFERENCIA TECA JAD SAO 29/08/2013 00:23 ENTRADA TECA JAD SAO 29/08/2013 02:50 TRANSFERENCIA CO CURITIBA 01 29/08/2013 10:23 TRANSFERENCIA CO UNIAO DA VITORIA 01 29/08/2013 20:20 TRANSFERENCIA CO CURITIBA 01 29/08/2013 23:52 TRANSFERENCIA CO CURITIBA 01 30/08/2013 06:50 TRANSFERENCIA CO UNIAO DA VITORIA 01 30/08/2013 12:44 TRANSFERENCIA CO CHAPECO 01 02/09/2013 08:01 ENTRADA CO CHAPECO 01 02/09/2013 09:50 EM ROTA CO CHAPECO 01 03/09/2013 09:22 ENTREGUE CO CHAPECO 01 03/09/2013 09:26 ENDERECO NAO LOCALIZADO CO CHAPECO 01 04/09/2013 09:40 EM ROTA CO CHAPECO 01 05/09/2013 09:06 ENTREGUE CO CHAPECO 01';
$r = preg_split('/(\d{2}\/\d{2}\/\d{4})/', $string, null, PREG_SPLIT_DELIM_CAPTURE);
echo '<pre>';
print_r($r);
echo '</pre>';