Esta seção descreve cada um dos layouts de integração, detalhando todas as colunas, seus respectivos tipos de dados e limites.
Introdução aos tipos de dados utilizados
Para garantir a padronização e a interoperabilidade entre sistemas, os campos dos layouts seguem os tipos e formatos abaixo:
string: sequência de texto livre (letras, números, símbolos). Pode ter limites de tamanho, como 500 caracteres.int: número inteiro sem casas decimais. Não deve ter separador de milhar.decimal: número com casas decimais, utilizando o ponto (.) como separador decimal. Não deve ter separador de milhar.date: representa uma data no formato yyyy-MM-dd, conforme o padrão internacional ISO 8601. Usado em filtros temporais e para indicar a data de fatos.timestamp: representa data e hora completas no formato yyyy-MM-dd HH:mm:ss, também conforme o padrão ISO 8601. Ideal para registros de eventos com precisão de horário.enum: valor textual restrito a um conjunto específico de opções predefinidas (ex: ATIVO, INATIVO).ℹ️ O uso do padrão ISO 8601 assegura compatibilidade entre diferentes tecnologias e bancos de dados, e é amplamente adotado por sistemas de integração, APIs REST e formatos como JSON e XML.
Legenda
A tabela de Loja Cliente recebe os dados do cadastro de lojas e deve ser criada com a nomenclatura LOJA_CLIENTE e estruturada conforme o layout abaixo.
A seguinte coluna forma a chave primária da tabela:
store_id: Identificador interno da loja.Esse campo deve estar sempre presente e corretamente preenchido para garantir a consistência e unicidade da informação.
| CAMPO | DESCRIÇÃO | TIPO |
|---|---|---|
🔒 date |
Data dos dados. | date |
🔒🔑 store_id |
Identificador interno da loja. | string |
store_cluster |
Nome da clusterização da loja. | string |
size |
Identificador do tamanho da loja. | string |
economic_group |
Identificador do grupo econômico consumidor. | string |
🔒 store |
Nome para fácil identificação da loja. | string |
store_brand |
Nome para fácil identificação da rede / bandeira da loja. | string |
cnpj |
Identificação na Receita Federal da loja. | string |
🔒 store_type |
Tipo de Loja. | string |
address |
Logradouro da loja. | string |
number |
Número do logradouro. | string |
complement |
Complemento do logradouro. | string |
neighbourhood |
Bairro do logradouro. | string |
city |
Cidade da loja. | string |
🔒 uf |
Unidade federativa da loja. | string |
cep |
CEP da loja. | string |
latitude |
Latitude da loja. | decimal |
longitude |
Longitude da loja. | decimal |
🔒 status |
Status da loja. Aceita apenas os valores ATIVA ou INATIVA. |
enum |
📅 🔒 last_change |
Data e hora da última modificação do cadastro da loja. | timestamp |
Para facilitar a visualização, acesse a tabela de exemplos aqui
Snippet SQL
CREATE OR REPLACE VIEW INFOPRICE.LOJA_CLIENTE AS
SELECT
date AS "DATE",
store_id AS STORE_ID,
NULL AS STORE_CLUSTER,
NULL AS "SIZE",
NULL AS ECONOMIC_GROUP,
store AS "STORE",
NULL AS STORE_BRAND,
cnpj AS CNPJ,
store_type AS STORE_TYPE,
address AS ADDRESS,
number AS "NUMBER",
complement AS COMPLEMENT,
neighbourhood AS NEIGHBOURHOOD,
city AS CITY,
uf AS UF,
cep AS CEP,
NULL AS LATITUDE,
NULL AS LONGITUDE,
status AS STATUS,
last_change AS LAST_CHANGE
FROM loja_cliente_source -- ajuste conforme nome real da tabela base
Dados
| date | store_id | store_cluster | size | economic_group | store | store_brand | cnpj | store_type | address | number | complement | neighbourhood | city | uf | cep | latitude | longitude | status | last_change |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2025-08-01 | 001 | SUPER PREÇO CERTO - LOJA 01 | PREÇO CERTO | 76535891000142 | VAREJO | Rua dos Trilhos | 1058 | Sobreloja | Centro | São Paulo | SP | 09550-000 | ATIVA | 2022-08-01 03:45:02 | |||||
| 2025-08-01 | 27 | ATACADO PREÇO CERTO - LOJA 27 | PREÇO CERTO | 76535891000242 | ATACADO | Av das Dores | 450 | Jardim | Rio de Janeiro | SP | 014521-001 | ATIVA | 2023-09-14 10:11:09 | ||||||
| 2025-08-01 | 1895 | BELTRAME_55024 | BELTRAME | 76535891000342 | VAREJO | Tv. A | 4 | Jd. das Flores | Rio de Janeiro | SP | 131452-044 | INATIVA | 2020-04-05 13:05:41 |
Para facilitar a visualização, acesse a tabela de exemplos aqui
A tabela de produtos recebe os dados dos produtos cadastrados por data e deve ser criada com a nomenclatura PRODUTO_CLIENTE. Essa tabela contém informações detalhadas do produto, incluindo identificadores, embalagem, categoria, marca e fornecedor.
As seguintes colunas formam a chave composta da tabela e definem a granularidade dos registros:
product_id: Identificador do produto únicobarcode: Código de barras principal do produto (pode ser o código que identifica o item)Esses campos devem estar sempre presentes e corretamente preenchidos para garantir a consistência e unicidade da informação.
| CAMPO | DESCRIÇÃO COMPLETA | TIPO |
|---|---|---|
🔒 date |
Data da referência do cadastro do produto. | date |
🔒 🔑 product_id |
Identificador único do produto. | string |
🔒 product_id_type |
Tipo do identificador do produto (ex: SKU, EAN, etc). | string |
product_id_package |
Identificador da embalagem do produto. | string |
product_id_unit |
Identificador da unidade do produto. | string |
🔒 🔑 barcode |
Código de barras principal do produto. | string |
🔒 barcode_type |
Tipo do código de barras (ex: EAN13, UPC, etc). | string |
🔒 description |
Descrição detalhada do produto. | string |
🔒 status |
Status do produto. Enum: só aceita ATIVO e INATIVO. | enum |
🔒 units_per_package |
Quantidade de unidades por embalagem. | integer |
packing_size |
Tamanho da embalagem. | decimal |
packing_size_unit |
Unidade do tamanho da embalagem (ex: ml, g). | string |
packing_type |
Tipo da embalagem (ex: caixa, saco, vidro). | string |
packing_type_unit |
Unidade do tipo de embalagem. | string |
🔒 product_family_id |
Identificador da família do produto. | string |
product_family_master |
Identificador da família principal do produto. | string |
brand |
Marca do produto. | string |
supplier_id |
Identificador do fornecedor do produto. Deve se relacionar com o layout FORNECEDOR_CLIENTE. |
string |
abc_class |
Classificação ABC do produto. | string |
🔒 category_level_1 |
Categoria nível 1 do produto (mais abrangente). | string |
🔒 category_level_2 |
Categoria nível 2 do produto. | string |
🔒 category_level_3 |
Categoria nível 3 do produto. | string |
category_level_4 |
Categoria nível 4 do produto. | string |
category_level_5 |
Categoria nível 5 do produto. | string |
category_level_6 |
Categoria nível 6 do produto. | string |
category_level_7 |
Categoria nível 7 do produto (menos abrangente). | string |
📅 🔒 last_change |
Data da última alteração do registro. | timestamp |
🔒 is_main_barcode |
Indicador se o código de barras é o principal do produto (true ou false). |
boolean |
factor |
Fator de conversão do produto. | decimal |
fixed_rate |
Taxa fixa aplicada ao produto. | decimal |
Snippet SQL
CREATE OR REPLACE VIEW PRODUTO_CLIENTE AS
SELECT
date,
product_id,
product_id_type,
product_id_package,
product_id_unit,
barcode,
barcode_type,
description,
status,
units_per_package,
packing_size,
packing_size_unit,
packing_type,
packing_type_unit,
product_family_id,
product_family_master,
brand,
supplier_id,
abc_class,
category_level_1,
category_level_2,
category_level_3,
category_level_4,
category_level_5,
category_level_6,
category_level_7,
last_change,
is_main_barcode,
factor,
fixed_rate
FROM
produto_cliente_source -- nome fictício da tabela base, ajuste conforme necessário
;
Dados
| date | product_id | product_id_type | product_id_package | product_id_unit | barcode | barcode_type | description | status | units_per_package | packing_size | packing_size_unit | packing_type | packing_type_unit | product_family_id | product_family_master | brand | supplier_id | abc_class | category_level_1 | category_level_2 | category_level_3 | category_level_4 | category_level_5 | category_level_6 | category_level_7 | last_change | is_main_barcode | factor | fixed_rate |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2025-08-01 | 135421 | SKU | 7896098900253 | GTIN | DETERG LIQ YPE 500ML CLEAR | ATIVO | 1 | DET01 | FALSE | YPE | 1452 | AB | LIMPEZA | LAVA LOUCA | LAVA LOUCA COMUM | FRASCO 500ML | 2023-09-14 10:11:01 | TRUE | |||||||||||
| 2025-08-01 | 135422 | SKU | 17896098900253 | DUN | DETERG LIQ YPE 500ML CLEAR | ATIVO | 12 | DET01 | FALSE | YPE | 1452 | AB | LIMPEZA | LAVA LOUCA | LAVA LOUCA COMUM | FRASCO 500ML | 2023-09-14 10:11:01 | FALSE | |||||||||||
| 2025-08-01 | 2829 | SKU | 2829 | SKU | QJ MUSS PORTO ALEGRE KG LANCHE | ATIVO | 1 | 10293 | TRUE | PORTO ALEGRE | 3652 | CA | PERECIVEL | LATICINIO | QUEIJO | 2023-09-14 10:11:01 | FALSO | 1 | |||||||||||
| 2025-08-01 | 2831 | SKU | 2831 | SKU | QJ MUSS PORTO ALEGRE FATIADO | ATIVO | 1 | 10293 | FALSE | PORTO ALEGRE | 3652 | C | PERECIVEL | LATICINIO | QUEIJO | FRACIONADO | 2023-09-14 10:11:01 | FALSE | 1.2 | ||||||||||
| 2025-08-01 | 2832 | SKU | 2832 | SKU | QJ MUSS PORTO ALEGRE PONTA PEÇA | ATIVO | 1 | 10293 | FALSE | PORTO ALEGRE | 3652 | C | PERECIVEL | LATICINIO | QUEIJO | FRACIONADO | 2023-09-14 10:11:01 | FALSE | 0.9 | ||||||||||
| 2025-08-01 | 10045 | SKU | 74299057854 | GTIN | BRINQ CARRO HOT WHEELS BASICO COLEC | ATIVO | 1 | 10224 | FALSE | HOT WHEELS | 14006 | BAZAR | BAZAR BRINQUEDO | CARRINHOS | MENINO | 2024-03-05 07:01:09 | FALSE | ||||||||||||
| 2025-08-01 | 33526 | SKU | 7898553443862 | GTIN | SUCO NAT ONE 900ML MANGA BLEND | INATIVO | 1 | 33526 | FALSE | NAT ONE | 852 | PERECIVEL | SUCOS | GELADEIRA | 2024-03-05 07:01:09 | FALSE | |||||||||||||
| 2025-08-01 | 40005 | SKU | 7891095830671 | GTIN | FECULA BAT YOKI 200G TRAD | ATIVO | 1 | 40005 | FALSE | YOKI | 1329 | MERCEARIA | SECA | SALGADA | FECULA | 2024-03-05 07:01:09 | FALSE | ||||||||||||
| 2025-08-01 | 40006 | SKU | 7891095830672 | GTIN | FECULA BAT YOKI 200G FRANGO | ATIVO | 1 | 40005 | FALSE | YOKI | 1329 | MERCEARIA | SECA | SALGADA | FECULA | 2024-03-05 07:01:09 | FALSE |
Para facilitar a visualização, acesse a tabela de exemplos aqui
A tabela de Fornecedor Cliente recebe os dados do cadastro de fornecedores e deve ser criada com a nomenclatura FORNECEDOR_CLIENTE e estruturada conforme o layout abaixo.
A seguinte coluna forma a chave primária da tabela:
supplier_id: Identificador do fornecedor, chave única do cadastro.Esses campos devem estar sempre presentes e corretamente preenchidos para garantir a consistência e unicidade da informação.
| CAMPO | DESCRIÇÃO | TIPO |
|---|---|---|
🔒 date |
Data dos dados. | date |
🔒🔑 supplier_id |
Identificador interno do fornecedor. | string |
🔒 supplier_type |
Tipo de fornecedor (LOCAL, FÁBRICA, DISTRIBUIDOR, etc.). | string |
🔒 supplier_name |
Nome do fornecedor. | string |
cnpj |
Identificação na Receita Federal. | string |
logradouro |
Logradouro do fornecedor. | string |
number |
Número do logradouro. | string |
complement |
Complemento do logradouro. | string |
neighbourhood |
Bairro do logradouro. | string |
city |
Cidade do fornecedor. | string |
uf |
Unidade federativa do fornecedor. | string |
cep |
CEP do fornecedor. | string |
latitude |
Latitude do fornecedor. | decimal |
longitude |
Longitude do fornecedor. | decimal |
status |
Status do fornecedor. Aceita apenas ATIVO ou INATIVO. |
enum |
📅 🔒 last_change |
Data e hora da última modificação do cadastro do fornecedor. | timestamp |
Snippet SQL
CREATE OR REPLACE VIEW INFOPRICE.FORNECEDOR_CLIENTE AS
SELECT
date AS "DATE",
supplier_id AS SUPPLIER_ID,
supplier_type AS SUPPLIER_TYPE,
supplier_name AS SUPPLIER_NAME,
cnpj AS CNPJ,
logradouro AS LOGRADOURO,
number AS "NUMBER",
complement AS COMPLEMENT,
neighbourhood AS NEIGHBOURHOOD,
city AS CITY,
uf AS UF,
cep AS CEP,
NULL AS LATITUDE,
NULL AS LONGITUDE,
status AS STATUS,
last_change AS LAST_CHANGE
FROM fornecedor_cliente_source -- ajuste conforme nome real da tabela base
Dados
| date | supplier_id | supplier_type | supplier_name | cnpj | logradouro | number | complement | neighbourhood | city | uf | cep | latitude | longitude | status | last_change |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2025-08-01 | 1452 | INDUSTRIA | YPE | 31242254000140 | Rua das Flores | 40 | Angra dos Reis | RJ | ATIVO | 2024-03-05 07:01:09 | |||||
| 2025-08-01 | 3652 | DISTRIBUIDOR | PMG FOODS | 29287942000184 | Av Bandeirantes | S/N | Indaiatuba | SP | ATIVO | 2024-03-05 07:01:09 | |||||
| 2025-08-01 | 8009 | INDUSTRIA | ICEGURT | 38400587000107 | Rod. Anhanguera | km16 | Campinas | SP | INATIVO | 2024-03-05 07:01:09 |
Para facilitar a visualização, acesse a tabela de exemplos aqui
A tabela de preços recebe os dados de preços por data, loja, canal e produto. Deve ser criada com a nomenclatura PRECO_CLIENTE e estruturada conforme o layout abaixo.
Deve sempre ser informado o preço regular e vigente do item
As seguintes colunas formam a chave composta da tabela e definem a granularidade dos registros:
date: Data do preço no formato yyyy-MM-ddstore_id: Identificador da loja (relaciona com o layout LOJA_CLIENTE)channel: Canal de venda (texto)product_id: Identificador do produto (relaciona com o layout PRODUTO_CLIENTE)Esses campos devem estar sempre presentes e corretamente preenchidos para garantir a consistência e unicidade da informação.
Essa tabela tem o campo "channel" que identifica canal de venda. O canal escolhido deve ter coerência entre todas as tabelas. Se não tiver essa dimensão no ERP, padronizar tudo como "FISICA".
| CAMPO | DESCRIÇÃO | TIPO |
|---|---|---|
🔒 🔑 date |
Data do preço. Chave da tabela. Usado como base para o controle incremental dos dados. | date |
🔒 🔑 store_id |
Identificador da loja (relaciona com LOJA_CLIENTE). Deve corresponder à entidade cadastrada. |
string |
🔒 🔑 channel |
Canal de venda (ex: FÍSICA - ATACADO, ONLINE, MARKETPLACE, etc). | string |
🔒 🔑 product_id |
Identificador do produto (relaciona com PRODUTO_CLIENTE). Deve corresponder à entidade cadastrada. |
string |
🔒 price_retail |
Preço varejo da unidade. Número decimal com . como separador. |
decimal |
price_wholesale |
Preço atacado da unidade. Número decimal com . como separador. |
decimal |
trigger_wholesale |
Gatilho para preço atacado (quantidade mínima para aplicar o preço). | int |
min_competitivity |
Competitividade mínima do produto na loja. Número decimal com . como separador. |
decimal |
max_competitivity |
Competitividade máxima do produto na loja. Número decimal com . como separador. |
decimal |
max_margin |
Margem máxima do produto na loja. Número decimal com . como separador. |
decimal |
min_margin |
Margem mínima do produto na loja. Número decimal com . como separador. |
decimal |
objective_margin |
Margem objetiva do produto na loja. Número decimal com . como separador. |
decimal |
sensibility_type |
Nível de sensibilidade do produto na loja (texto). | string |
product_seasonal |
Flag indicando se o produto é sazonal na data do preço (texto). | string |
📅🔒 last_change |
Data e hora da última modificação do preço. Formato ISO yyyy-MM-dd HH:mm:ss. |
timestamp |
Snippet SQL
CREATE OR REPLACE VIEW PRECO_CLIENTE AS
SELECT
date,
store_id,
channel,
product_id,
preco AS price_retail,
preco_atacado AS price_wholesale,
qtd_minima AS trigger_wholesale,
NULL AS min_competitivity,
NULL AS max_competitivity,
NULL AS max_margin,
NULL AS min_margin,
NULL AS objective_margin,
sensibility AS sensibility_type,
NULL AS product_seasonal,
last_change
FROM preco_cliente_source -- nome fictício da tabela base, ajuste conforme necessário
Dados
| date | store_id | channel | product_id | price_retail | price_wholesale | trigger_wholesale | min_competitivity | max_competitivity | max_margin | min_margin | objective_margin | sensibility_type | product_seasonal | last_change |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2025-08-01 | 001 | FISICA | 135421 | 2.89 | 30 | 2025-08-01 14:01:58 | ||||||||
| 2025-08-01 | 001 | FISICA | 2829 | 29.99 | 25 | 2025-08-01 14:01:58 | ||||||||
| 2025-08-01 | 001 | FISICA | 10045 | 19.99 | 25 | 2025-08-01 14:01:58 | ||||||||
| 2025-08-01 | 001 | FISICA | 2831 | 32.89 | 30 | 2025-08-01 14:01:58 | ||||||||
| 2025-08-01 | 001 | FISICA | 2832 | 26.91 | 25 | 2025-08-01 14:01:58 | ||||||||
| 2025-08-01 | 27 | FISICA | 135421 | 2.19 | 1.59 | 3 | 2025-08-01 14:01:58 | |||||||
| 2025-08-01 | 27 | FISICA | 2829 | 29.99 | 28.99 | 10 | 2025-08-01 14:01:58 | |||||||
| 2025-08-01 | 27 | FISICA | 10045 | 19.99 | 13.99 | 5 | 2025-08-01 14:01:58 |
Para facilitar a visualização, acesse a tabela de exemplos aqui
A tabela de estoque agregado recebe os dados de estoque por data, loja e produto e deve ser criada com a nomenclatura ESTOQUE_AGREGADO e estruturada conforme o layout abaixo.
Os campos
last_unit_net_cost,mean_unit_net_cost,sales_tax_percentageeexpenses_percentsão utilizados para formação do PMZ (custo gerencial). Portanto é importante que eles reflitam os custos usado no ERP para precificação
ESTOQUE_AGREGADOAs seguintes colunas formam a chave composta da tabela e definem a granularidade dos registros:
date: Data dos dados de estoque no formato yyyy-MM-ddstore_id: Identificador da loja ou centro de distribuição (relaciona com o layout LOJA_CLIENTE)product_id: Identificador do produto (relaciona com o layout PRODUTO_CLIENTE)Esses campos são obrigatórios para garantir a unicidade e a consistência dos dados na integração.
| CAMPO | DESCRIÇÃO | TIPO |
|---|---|---|
📅 🔒 🔑 date |
Data dos dados de estoque. Chave da tabela. Usado como filtro principal para integração incremental. | date |
🔒 🔑 store_id |
Identificador da loja (relaciona com LOJA_CLIENTE). Deve corresponder à entidade cadastrada. |
string |
🔒 🔑 product_id |
Identificador do produto (relaciona com PRODUTO_CLIENTE). Deve corresponder à entidade cadastrada. |
string |
🔒 stock_place |
Lugar do estoque (Loja ou CD). | string |
🔒 stock_value_unit |
Valor unitário do estoque pelo custo do produto. Utiliza ponto como separador decimal. | decimal |
stock_value |
Valor total do estoque. | decimal |
🔒 amount_final |
Quantidade em estoque no final do dia. | decimal |
amount_wasted |
Itens não passíveis de venda. | decimal |
amount_future |
Quantidade prevista de itens. | decimal |
🔒 status_product_store |
Status do produto na loja na data. Aceita apenas ATIVO ou INATIVO. |
enum |
🔒 sales_tax_percentage |
Percentual (0–100) dos tributos de venda (ICMS, PIS, COFINS etc). | decimal |
🔒 expenses_percent |
Percentual (0–100) das despesas variáveis (SG&A). | decimal |
🔒 last_unit_net_cost |
Custo unitário líquido da última compra com impostos embutidos. | decimal |
🔒 mean_unit_net_cost |
Custo médio ponderado líquido do produto em estoque. | decimal |
average_daily_sales |
Média de vendas diárias em unidades. | decimal |
last_sale_date |
Data da última venda. | date |
stock_update_date |
Data da última entrada de estoque. | date |
Snippet SQL
SELECT
date,
store_id,
product_id,
MAX(stock_place) AS stock_place,
SUM(stock_value_unit) AS stock_value_unit,
SUM(stock_value) AS stock_value,
SUM(amount_final) AS amount_final,
SUM(amount_wasted) AS amount_wasted,
SUM(amount_future) AS amount_future,
MAX(status_product_store) AS status_product_store,
AVG(sales_tax_percentage) AS sales_tax_percentage,
AVG(expenses_percent) AS expenses_percent,
AVG(last_unit_net_cost) AS last_unit_net_cost,
AVG(mean_unit_net_cost) AS mean_unit_net_cost,
AVG(average_daily_sales) AS average_daily_sales,
MAX(last_sale_date) AS last_sale_date,
MAX(stock_update_date) AS stock_update_date
FROM
estoque_agregado_source -- ajuste para sua tabela/fonte real
GROUP BY
date,
store_id,
product_id;
Dados
| date | store_id | product_id | stock_place | stock_value_unit | stock_value | amount_final | amount_wasted | amount_future | status_product_store | sales_tax_percentage | expenses_percent | last_unit_net_cost | mean_unit_net_cost | average_daily_sales | last_sale_date | stock_update_date |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2025-08-01 | 001 | 135421 | LOJA | 1.98 | 14 | ATIVO | 9.25 | 1.98 | 1.97 | 2025-07-31 | 2025-08-01 | |||||
| 2025-08-01 | 001 | 2829 | LOJA | 20.51 | 20 | ATIVO | 9.25 | 20.51 | 20.49 | 2025-07-26 | 2025-08-01 | |||||
| 2025-08-01 | 001 | 10045 | LOJA | 13.65 | 3 | ATIVO | 9.25 | 13.65 | 13.64 | 2025-07-31 | 2025-08-01 | |||||
| 2025-08-01 | 001 | 2831 | LOJA | 22.56 | 105 | ATIVO | 22.5 | 5 | 22.56 | 21.59 | 2025-07-14 | 2025-08-01 | ||||
| 2025-08-01 | 001 | 2832 | LOJA | 244 | INATIVO | 20.5 | 5 | 2025-07-31 | 2025-08-01 | |||||||
| 2025-08-01 | 27 | 135421 | LOJA | 1.5 | 3 | ATIVO | 17.4 | 1.5 | 1.48 | 2025-07-30 | 2025-08-01 | |||||
| 2025-08-01 | 27 | 2829 | LOJA | 20.51 | 15 | ATIVO | 13.52 | 5 | 20.51 | 20.89 | 2025-06-23 | 2025-08-01 | ||||
| 2025-08-01 | 27 | 10045 | LOJA | 18 | INATIVO | 9.25 | 2025-06-23 | 2025-08-01 |
Para facilitar a visualização, acesse a tabela de exemplos aqui
A tabela de Nota Fiscal recebe os dados de venda de produtos agrupados por cupom/pedido e dia. Deve ser criada com a nomenclatura NOTA_FISCAL e estruturada conforme o layout abaixo.
A tabela nota fiscal geralmente vem das mesmas tabelas de venda. O que muda é o agrupamento onde nota_fiscal tem chaves a mais (
order_ideclient_information)
As seguintes colunas formam a chave composta da tabela e definem a granularidade dos registros:
date: Data de emissão do pedido no formato yyyy-MM-dd.store_id: Código da loja (relaciona com LOJA_CLIENTE).client_information: Identificador do consumidor (não sensível).order_id: Número do pedido do cliente (chave primária).product_id: Código do produto (relaciona com PRODUTO_CLIENTE).Esses campos devem estar sempre presentes e corretamente preenchidos para garantir a consistência e unicidade da informação.
| CAMPO | DESCRIÇÃO | TIPO |
|---|---|---|
📅 🔒🔑 date |
Data de emissão do pedido. Chave da tabela. Usado para controle incremental. | date |
datetime_danfe_emission |
Data e hora da emissão da NFe (hora que a SEFAZ retorna com a NF assinada). | timestamp |
datetime_danfe_process |
Data e hora de faturamento, quando ocorre o envio da NF para processamento. | timestamp |
datetime_emission |
Data e hora de emissão do pedido de venda. | timestamp |
🔒🔑 store_id |
Código da loja. Deve corresponder à entidade LOJA_CLIENTE. |
string |
🔒🔑 client_information |
Identificador do consumidor (dado não sensível, ex: client_id). Não pode ser CPF ou CNPJ. | string |
🔒🔑 order_id |
Número do pedido do cliente. Chave primária. | string |
e_commerce_order_number |
Número do pedido no e-commerce. | string |
external_order_number |
Número do pedido externo. | string |
order_product_id |
Código do produto dentro do pedido. | string |
🔒🔑 product_id |
Código do produto. Deve corresponder à entidade PRODUTO_CLIENTE. |
string |
product_id_package |
Código da caixa do produto dentro do pedido. | string |
product_id_unit |
Código do produto unitário dentro do pedido. | string |
🔒 selling_price |
Preço de venda do produto no pedido. | decimal |
selling_price_deal |
Preço de venda em oferta no produto no pedido. | decimal |
🔒 unit_selling_price |
Preço unitário de venda do produto no pedido. | decimal |
🔒 selling_amount |
Quantidade vendida do produto no pedido. | decimal |
apart_amount |
Quantidade separada do produto no pedido. | decimal |
apart_value |
Valor total separado do produto no pedido. | decimal |
order_status |
Status do pedido. | string |
order_value_net |
Valor líquido do pedido. | decimal |
🔒 order_value |
Valor do pedido. | decimal |
Snippet SQL
CREATE OR REPLACE VIEW INFOPRICE.NOTA_FISCAL AS
SELECT
nf.date AS "DATE",
MAX(nf.datetime_danfe_emission) AS DATETIME_DANFE_EMISSION,
MAX(nf.datetime_danfe_process) AS DATETIME_DANFE_PROCESS,
MAX(nf.datetime_emission) AS DATETIME_EMISSION,
nf.store_id AS STORE_ID,
nf.client_information AS CLIENT_INFORMATION,
nf.order_id AS ORDER_ID,
MAX(nf.e_commerce_order_number) AS E_COMMERCE_ORDER_NUMBER,
MAX(nf.external_order_number) AS EXTERNAL_ORDER_NUMBER,
MAX(nfi.order_product_id) AS ORDER_PRODUCT_ID,
nfi.product_id AS PRODUCT_ID,
MAX(nfi.product_id_package) AS PRODUCT_ID_PACKAGE,
MAX(nfi.product_id_unit) AS PRODUCT_ID_UNIT,
SUM(nfi.selling_price) AS SELLING_PRICE,
SUM(nfi.selling_price_deal) AS SELLING_PRICE_DEAL,
MAX(nfi.unit_selling_price) AS UNIT_SELLING_PRICE,
SUM(nfi.selling_amount) AS SELLING_AMOUNT,
SUM(nfi.apart_amount) AS APART_AMOUNT,
SUM(nfi.apart_value) AS APART_VALUE,
MAX(nf.order_status) AS ORDER_STATUS,
SUM(nf.order_value) AS ORDER_VALUE,
SUM(nf.order_value_net) AS ORDER_VALUE_NET
FROM nota_fiscal nf
INNER JOIN nota_fiscal_item nfi ON nf.order_id = nfi.order_id
GROUP BY
nf.date,
nf.store_id,
nf.client_information,
nf.order_id,
nfi.product_id
Dados
| date | datetime_danfe_emission | datetime_danfe_process | datetime_emission | store_id | client_information | order_id | e_commerce_order_number | external_order_number | order_product_id | product_id | product_id_package | product_id_unit | selling_price | selling_price_deal | unit_selling_price | selling_amount | apart_amount | apart_value | order_status | order_value_net | order_value |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2025-08-01 | 2025-08-01 14:15:01 | 2025-08-01 14:15:01 | 2025-08-01 14:15:01 | 001 | 235699 | 10052 | 135421 | 2.89 | 2.89 | 1 | 4016.67 | ||||||||||
| 2025-08-01 | 2025-08-01 14:15:01 | 2025-08-01 14:15:01 | 2025-08-01 14:15:01 | 001 | 235699 | 10052 | 2829 | 448.5 | 29.9 | 15 | 4016.67 | ||||||||||
| 2025-08-01 | 2025-08-01 14:15:01 | 2025-08-01 14:15:01 | 2025-08-01 14:15:01 | 001 | 235699 | 10052 | 10045 | 79.6 | 19.9 | 4 | 4016.67 | ||||||||||
| 2025-08-01 | 2025-08-01 14:15:01 | 2025-08-01 14:15:01 | 2025-08-01 14:15:01 | 001 | 235699 | 10052 | 2831 | 3485.68 | 32.89 | 105.98 | 4016.67 | ||||||||||
| 2025-08-01 | 2025-08-01 08:41:15 | 2025-08-01 08:41:15 | 2025-08-01 08:41:15 | 001 | 10053 | 135421 | 14.45 | 2.89 | 5 | 24.94 | |||||||||||
| 2025-08-01 | 2025-08-01 08:41:15 | 2025-08-01 08:41:15 | 2025-08-01 08:41:15 | 001 | 10053 | 2829 | 10.49 | 29.9 | 0.351 | 24.94 | |||||||||||
| 2025-08-01 | 2025-08-01 17:29:16 | 2025-08-01 17:29:16 | 2025-08-01 17:29:16 | 001 | 239854 | 10061 | 135421 | 5.78 | 2.89 | 2 | 43.27 | ||||||||||
| 2025-08-01 | 2025-08-01 17:29:16 | 2025-08-01 17:29:16 | 2025-08-01 17:29:16 | 001 | 239854 | 10061 | 2829 | 37.49 | 29.9 | 1.254 | 43.27 | ||||||||||
| 2025-08-01 | 2025-08-01 17:29:16 | 2025-08-01 17:29:16 | 2025-08-01 17:29:16 | 001 | 10069 | 135421 | 23.12 | 2.89 | 8 | 23.12 | |||||||||||
| 2025-08-01 | 27 | 30056 | 135421 | 8.67 | 2.89 | 3 | 8.67 | ||||||||||||||
| 2025-08-01 | 27 | 88745 | 30057 | 135421 | 2.89 | 2.89 | 1 | 2.89 | |||||||||||||
| 2025-08-01 | 27 | 555412 | 30058 | 2829 | 980.72 | 29.9 | 32.8 | 980.72 | |||||||||||||
| 2025-08-01 | 27 | 88745 | 30059 | 2829 | 334.88 | 29.9 | 11.2 | 334.88 | |||||||||||||
| 2025-08-01 | 27 | 30061 | 2829 | 152.49 | 29.9 | 5.1 | 152.49 | ||||||||||||||
| 2025-08-01 | 27 | 30062 | 2829 | 200.33 | 29.9 | 6.7 | 200.33 | ||||||||||||||
| 2025-08-01 | 27 | 30068 | 2829 | 32.56 | 29.9 | 1.089 | 32.56 |
Para facilitar a visualização, acesse a tabela de exemplos aqui
A tabela de vendas consolida os dados de saída de produtos por loja, canal, tipo de venda e produto. Deve ser criada com a nomenclatura VENDA_AGREGADA e estruturada conforme o layout abaixo.
Os dados de vendas são fundamentais para o sucesso da ferramenta. Portanto, os dados dessa view devem ser compatíveis com os resultados de venda do ERP
As seguintes colunas formam a chave composta da tabela e definem a granularidade dos registros:
date: Data da vendastore_id: Identificador da loja (relaciona com o layout LOJA_CLIENTE)channel: Canal de vendas (ex: loja física, e-commerce)product_id: Identificador do produto (relaciona com o layout PRODUTO_CLIENTE)sales_type: Tipo de venda (REGULAR, PROMOCAO, ATACADO etc.)Esses campos devem estar sempre presentes e corretamente preenchidos para garantir a consistência e unicidade da informação.
Essa tabela tem o campo "channel" que identifica canal de venda. O canal escolhido deve ter coerência entre todas as tabelas. Se não tiver essa dimensão no ERP, padronizar tudo como "FISICA".
| CAMPO | DESCRIÇÃO | TIPO |
|---|---|---|
📅 🔒 🔑 date |
Data da venda. Chave da tabela. | date |
🔒 🔑 store_id |
Identificador da loja. Relaciona com LOJA_CLIENTE. |
string |
🔒 🔑 channel |
Canal de vendas (ex: loja física, e-commerce). | string |
🔒 🔑 product_id |
Identificador do produto. Relaciona com PRODUTO_CLIENTE. |
string |
🔒 🔑 sales_type |
Tipo de venda (REGULAR, PROMOCAO, ATACADO etc.). | string |
promotion_type |
Tipo de promoção aplicada, se houver (ex: desconto direto, brinde). | string |
trigger_wholesale |
Quantidade mínima para ativar o preço de atacado. | decimal |
client_cluster |
Cluster ou grupo de clientes envolvidos na venda. | string |
unit_cost |
Custo unitário do produto. Número decimal com . como separador. |
decimal |
🔒 taxes |
Valor dos impostos aplicados à venda. Número decimal com . como separador. |
decimal |
🔒 margin_gross |
Margem bruta em valor absoluto (receita - custo). | decimal |
🔒 margin_percentage |
Margem bruta em percentual sobre a receita. | decimal |
🔒 sales_amount |
Quantidade total vendida. | decimal |
🔒 sales_gross |
Valor bruto da venda (antes de descontos e impostos). | decimal |
🔒 sales_net |
Valor líquido da venda (após descontos e impostos). | decimal |
discount |
Valor total de desconto aplicado. | decimal |
discount_type |
Tipo do desconto (percentual, valor fixo etc.). | string |
🔒 total_cost |
Custo total da venda (unitário × quantidade). | decimal |
Snippet SQL
CREATE OR REPLACE VIEW VENDA_AGREGADA AS
SELECT
date,
store_id,
channel,
product_id,
sales_type,
MAX(promotion_type) AS promotion_type,
MAX(trigger_wholesale) AS trigger_wholesale,
MAX(client_cluster) AS client_cluster,
AVG(unit_cost) AS unit_cost,
SUM(taxes) AS taxes,
SUM(margin_gross) AS margin_gross,
AVG(margin_percentage) AS margin_percentage,
SUM(sales_amount) AS sales_amount,
SUM(sales_gross) AS sales_gross,
SUM(sales_net) AS sales_net,
SUM(discount) AS discount,
MAX(discount_type) AS discount_type,
SUM(total_cost) AS total_cost
FROM
vendas_fonte_agrupada
GROUP BY
date,
store_id,
channel,
product_id,
sales_type;
Dados
| date | store_id | channel | product_id | sales_type | promotion_type | trigger_wholesale | client_cluster | unit_cost | taxes | margin_gross | margin_percentage | sales_amount | sales_gross | sales_net | discount | discount_type | total_cost |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2025-08-01 | 001 | FISICA | 135421 | REGULAR | 1.98 | 3.81 | 14.56 | 31.49 | 16 | 46.24 | 42.43 | 31.68 | |||||
| 2025-08-01 | 001 | FISICA | 2829 | PROMOCIONAL | DE/POR | 20.51 | 99.53 | 378.89 | 31.4 | 40.35 | 1206.47 | 1106.94 | 827.58 | ||||
| 2025-08-01 | 001 | FISICA | 10045 | REGULAR | 14.47 | 6.57 | 21.71 | 27.27 | 4 | 79.6 | 73.03 | 3.11 | 57.89 | ||||
| 2025-08-01 | 001 | FISICA | 2831 | REGULAR | 22.76 | 644.85 | 1073.1 | 30.79 | 105.98 | 3485.68 | 2840.83 | 2412.58 | |||||
| 2025-08-01 | 27 | FISICA | 135421 | REGULAR | 1.47 | 13.37 | 23.76 | 32.88 | 33 | 72.27 | 58.9 | 48.51 | |||||
| 2025-08-01 | 27 | FISICA | 2829 | PROMOCIONAL | VENCIMENTO | 26.66 | 181.43 | 106.21 | 10.83 | 32.8 | 980.72 | 799.29 | 874.51 | ||||
| 2025-08-01 | 27 | FISICA | 10045 | REGULAR | 8.14 | 40.5 | 129.34 | 59.09 | 11 | 218.9 | 178.4 | 89.56 |
Para facilitar a visualização, acesse a tabela de exemplos aqui
A tabela de promoções registra os períodos promocionais por loja, canal e produto. Deve ser criada com o nome PROMOCAO_CLIENTE e estruturada conforme o layout abaixo.
As seguintes colunas formam a chave composta da tabela e definem a granularidade dos registros:
start_date: Data de início da promoçãoend_date: Data de fim da promoçãostore_id: Identificador da loja (relaciona com o layout LOJA_CLIENTE)channel: Canal da promoção (ex: loja física, e-commerce)product_id: Identificador do produto (relaciona com o layout PRODUTO_CLIENTE)Esses campos devem estar sempre presentes e corretamente preenchidos para garantir a consistência e unicidade da informação.
Essa tabela tem o campo "channel" que identifica canal de venda. O canal escolhido deve ter coerência entre todas as tabelas. Se não tiver essa dimensão no ERP, padronizar tudo como "FISICA".
{.is-warning}
| CAMPO | DESCRIÇÃO COMPLETA | TIPO |
|---|---|---|
🔒 🔑 start_date |
Data de início da promoção. Chave da tabela. | date |
🔒 🔑 end_date |
Data de fim da promoção. Chave da tabela. | date |
🔒 🔑 store_id |
Identificador da loja onde a promoção é válida. Relaciona com LOJA_CLIENTE. |
string |
🔒 🔑 channel |
Canal de vendas (ex: loja física, e-commerce). | string |
🔒 🔑 product_id |
Identificador do produto em promoção. Relaciona com PRODUTO_CLIENTE. |
string |
🔒 promotion_price |
Preço promocional do produto. Número decimal com . como separador. |
decimal |
promotion_name |
Nome ou identificador da promoção. Campo opcional. | string |
🔒 promotion_type |
Tipo da promoção (ex: desconto direto, leve 3 pague 2, brinde etc.). | string |
client_cluster |
Segmento de clientes ou cluster ao qual a promoção se aplica. Campo opcional. | string |
📅 🔒 last_change |
Data da última atualização do registro. Campo obrigatório. | timestamp |
Snippet SQL
CREATE OR REPLACE VIEW PROMOCAO_CLIENTE AS
SELECT
start_date,
end_date,
store_id,
channel,
product_id,
promotion_price,
promotion_name,
promotion_type,
client_cluster,
CURRENT_TIMESTAMP AS last_change
FROM
fonte_promocoes_ativas;
Dados
| start_date | end_date | store_id | channel | product_id | promotion_price | promotion_name | promotion_type | client_cluster | last_change |
|---|---|---|---|---|---|---|---|---|---|
| 2025-08-04 | 2025-08-04 | 001 | FISICA | 2829 | 27.99 | SEXTA DOS FRIOS | DE/POR | 2025-08-01 14:01:58 | |
| 2025-08-01 | 2025-08-02 | 001 | FISICA | 15884 | 14.51 | PROX AO VENCIMENTO | VENCIMENTO | 2025-08-01 14:01:58 | |
| 2025-08-04 | 2025-08-04 | 27 | FISICA | 2829 | 27.99 | SEXTA DOS FRIOS | DE/POR | 2025-08-01 14:01:58 | |
| 2025-08-01 | 2025-08-15 | 27 | FISICA | 15847 | 13.25 | ANUNCIO TV | TV | 2025-08-01 14:01:58 | |
| 2025-07-10 | 2025-07-20 | 27 | FISICA | 74 | 101.4 | SEMANA DO CONSUMIDOR | JORNAL | 2025-08-01 14:01:58 |
Para facilitar a visualização, acesse a tabela de exemplos aqui
A tabela de compras recebe os dados de compras por data, loja, fornecedor e produto. Deve ser criada com a nomenclatura COMPRA_AGREGADA e estruturada conforme o layout abaixo.
As seguintes colunas formam a chave composta da tabela e definem a granularidade dos registros:
date: Data da compra no formato yyyy-MM-ddstore_id: Identificador da loja (relaciona com o layout LOJA_CLIENTE)supplier_id: Identificador do fornecedor (relaciona com o layout FORNECEDOR_CLIENTE)product_id: Identificador do produto (relaciona com o layout PRODUTO_CLIENTE)Esses campos devem estar sempre presentes e corretamente preenchidos para garantir a consistência e unicidade da informação.
| CAMPO | DESCRIÇÃO COMPLETA | TIPO |
|---|---|---|
📅 🔒 🔑 date |
Data da compra. Chave da tabela. Usado como base para o controle incremental dos dados. | date |
🔒 🔑 store_id |
Identificador da loja (relaciona com LOJA_CLIENTE). Deve corresponder à entidade cadastrada. |
string |
🔒 🔑 product_id |
Identificador do produto (relaciona com PRODUTO_CLIENTE). Deve corresponder à entidade cadastrada. |
string |
🔒 🔑 supplier_id |
Identificador do fornecedor (relaciona com FORNECEDOR_CLIENTE). |
string |
movement_type |
Tipo de movimento da compra (compra, devolução, transferência etc.). | string |
buyer |
Nome ou identificador do comprador responsável pela aquisição. | string |
🔒 purchase_amount |
Quantidade total comprada do produto. Número decimal com . como separador. |
decimal |
🔒 purchase_value |
Valor total da compra (já considerando descontos). Número decimal com . como separador. |
decimal |
purchase_discount |
Valor do desconto aplicado na compra. Número decimal com . como separador. |
decimal |
Snippet SQL
CREATE OR REPLACE VIEW COMPRA_AGREGADA AS
SELECT
date,
store_id,
product_id,
supplier_id,
NULL AS movement_type, -- campo não obrigatório com valor NULL
NULL AS buyer, -- campo não obrigatório com valor NULL
SUM(purchase_amount) AS purchase_amount,
SUM(purchase_value) AS purchase_value,
SUM(purchase_discount) AS purchase_discount
FROM
compra_agregada_source -- nome fictício da tabela base, ajuste conforme necessário
GROUP BY
date,
store_id,
product_id,
supplier_id;
Dados
| date | store_id | product_id | supplier_id | movement_type | buyer | purchase_amount | purchase_value | purchase_discount |
|---|---|---|---|---|---|---|---|---|
| 2025-08-01 | 001 | 135421 | COMPRA | ENRIQUE SILVA | 10 | 19.8 | ||
| 2025-08-01 | 001 | 2829 | COMPRA | ENRIQUE SILVA | 154 | 3158.54 | ||
| 2025-08-01 | 001 | 10045 | COMPRA | JULIENE MATIAS | 80 | 1092 | ||
| 2025-08-01 | 27 | 2829 | COMPRA | JULIENE MATIAS | 1189.58 | 20.51 | ||
| 2025-08-01 | 27 | 10045 | COMPRA | MARIA DAS DORES | 35271.6 | 13.65 |
Para facilitar a visualização, acesse a tabela de exemplos aqui
A tabela de preço concorrente registra os dados detalhados de preços praticados pelos concorrentes para cada produto em cada loja, com informações de promoções, canais e sugestões. Deve ser criada com a nomenclatura PRECO_CONCORRENTE e estruturada conforme o layout abaixo.
Nesse layout o campo
store_idrefere-se a loja concorrente e não ao identificador o layoutLOJA_CLIENTE. As lojas concorrentes são cadastrados dentro da ferramenta.
As seguintes colunas formam a chave composta da tabela e definem a granularidade dos registros:
date: Data da coleta do preço no formato yyyy-MM-ddcompany_survey_store: Nome amigável da loja concorrente onde a coleta foi feitastore_id: Identificador da loja concorrentechannel: Canal de venda (ex: online, loja física)product_id: Identificador do produto (relaciona com PRODUTO_CLIENTE)Esses campos devem estar sempre presentes e corretamente preenchidos para garantir a consistência e unicidade da informação.
Essa tabela tem o campo "channel" que identifica canal de venda. O canal escolhido deve ter coerência entre todas as tabelas. Se não tiver essa dimensão no ERP, padronizar tudo como "FISICA".
{.is-warning}
| CAMPO | DESCRIÇÃO | TIPO |
|---|---|---|
🔒 🔑 date |
Data da coleta do preço. Chave da tabela. | date |
🔒 🔑 company_survey_store |
Identificador da loja coletada (concorrente). | string |
🔒 🔑 store_id |
Identificador da loja concorrente. | string |
🔒 🔑 channel |
Canal de venda (exemplo: online, loja física). | string |
🔒 🔑 product_id |
Identificador do produto (relaciona com PRODUTO_CLIENTE). |
string |
description |
Descrição do produto coletado. | string |
gtin |
Código GTIN do produto (EAN/UPC). | string |
🔒 price_retail |
Preço unitário para venda no varejo. Número decimal com . como separador. |
decimal |
price_wholesale |
Preço unitário para venda no atacado. Número decimal com . como separador. |
decimal |
trigger_wholesale |
Indicador ou condição para ativação do preço atacado. | string |
price_downgrade |
Preço reduzido ou promocional temporário. Número decimal com . como separador. |
decimal |
promotion_type |
Tipo de promoção vigente (ex: desconto, combo, etc.). | string |
promotion_price |
Preço promocional aplicado. Número decimal com . como separador. |
decimal |
price_from |
Preço original antes da promoção. | decimal |
price_to |
Preço após ajuste ou promoção. | decimal |
expiration_date |
Data de validade da promoção ou do preço promocional. | date |
photo |
URL da imagem do produto coletado. | string |
suggestion_product_id |
Identificador do produto sugerido como alternativa. | string |
suggestion_description |
Descrição do produto sugerido. | string |
suggestion_price_wholesale |
Preço atacado sugerido. Número decimal com . como separador. |
decimal |
suggestion_price_retail |
Preço varejo sugerido. Número decimal com . como separador. |
decimal |
suggestion_trigger_wholesale |
Indicador ou condição para ativação do preço atacado sugerido. | string |
suggestion_price_downgrade |
Preço reduzido sugerido. Número decimal com . como separador. |
decimal |
suggestion_price_from |
Preço original sugerido antes da promoção. | decimal |
suggestion_price_to |
Preço ajustado sugerido após promoção. | decimal |
suggestion_expiration_date |
Data de validade da promoção sugerida. | date |
suggestion_photo |
URL da imagem do produto sugerido. | string |
📅🔒 last_change |
Data e hora da última atualização do registro. | timestamp |
Snippet SQL
CREATE OR REPLACE VIEW PRECO_CONCORRENTE AS
SELECT
date,
company_survey_store,
store_id,
channel,
product_id,
description,
gtin,
price_retail,
price_wholesale,
trigger_wholesale,
price_downgrade,
promotion_type,
promotion_price,
price_from,
price_to,
expiration_date,
photo,
suggestion_product_id,
suggestion_description,
suggestion_price_wholesale,
suggestion_price_retail,
suggestion_trigger_wholesale,
suggestion_price_downgrade,
suggestion_price_from,
suggestion_price_to,
suggestion_expiration_date,
suggestion_photo,
last_change
FROM
preco_concorrente_source -- nome fictício da tabela base, ajuste conforme necessário
GROUP BY
date,
company_survey_store,
store_id,
channel,
product_id,
;
Dados
| date | company_survey_store | store_id | channel | product_id | description | gtin | price_retail | price_wholesale | trigger_wholesale | price_downgrade | promotion_type | promotion_price | price_from | price_to | expiration_date | photo | suggestion_product_id | suggestion_description | suggestion_price_wholesale | suggestion_price_retail | suggestion_trigger_wholesale | suggestion_price_downgrade | suggestion_price_from | suggestion_price_to | suggestion_expiration_date | suggestion_photo | last_change |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2025-08-01 | SUPER BOM PRECO | BOM_PRECO-CENTRO | FISICA | 135421 | 2.99 | FALSE | 2025-08-01 14:01:58 | ||||||||||||||||||||
| 2025-08-01 | SUPER BOM PRECO | BOM_PRECO-CENTRO | FISICA | 10045 | 21.99 | FALSE | 2025-08-01 14:01:58 | ||||||||||||||||||||
| 2025-08-01 | SUPER BOM PRECO | BOM_PRECO-CENTRO | FISICA | 10046 | 24.58 | FALSE | 2025-08-01 14:01:58 | ||||||||||||||||||||
| 2025-08-01 | SUPER BOM PRECO | BOM_PRECO-CENTRO | FISICA | 12587 | 0.64 | FALSE | 0.59 | 0.64 | 0.59 | 2025-08-01 14:01:58 | |||||||||||||||||
| 2025-08-01 | MERCADO VIZINHO | VIZINHO-JD | FISICA | 135421 | 2.39 | FALSE | 2.19 | 2.39 | 2.19 | 2025-08-01 14:01:58 | |||||||||||||||||
| 2025-08-01 | MERCADO VIZINHO | VIZINHO-JD | FISICA | 10045 | 18.98 | FALSE | 2025-08-01 14:01:58 | ||||||||||||||||||||
| 2025-08-01 | MERCADO VIZINHO | VIZINHO-JD | FISICA | 332589 | 13.58 | FALSE | 2025-08-01 14:01:58 | ||||||||||||||||||||
| 2025-08-01 | MERCADO VIZINHO | VIZINHO-JD | FISICA | 10046 | 10.25 | FALSE | 2025-08-01 14:01:58 | ||||||||||||||||||||
| 2025-08-01 | MERCADO VIZINHO | VIZINHO-JD | FISICA | 12587 | 0.59 | FALSE | 2025-08-01 14:01:58 |
Para facilitar a visualização, acesse a tabela de exemplos aqui