API aberta
OpenAGROs
Os dados da sua operação em OData e REST, no grão certo para somar.
O OpenAGROs entrega os dados do AGROs em OData v4 e REST, prontos para o Power BI, o Excel ou qualquer ferramenta de BI.
São 50 coleções modeladas em estrela: 35 de fatos e 12 de dimensões. Cada uma já vem no grão certo, com as regras de negócio da agricultura aplicadas — de forma que somar dê o número certo por construção.
O modelo em um desenho
Dimensões
Fatos
…e mais 12 fatos
Fato é o que você soma. Dimensão é por onde você fatia. Cada fato traz as chaves das dimensões, e o Power BI monta os relacionamentos sozinho.
Essa é a ideia inteira. Você escolhe um fato (o que quer medir), liga às dimensões que interessam (por onde quer fatiar) e o BI faz o resto.
Custo e produção vivem em coleções diferentes
Uma operação de campo acontece uma vez, mas cobre vários talhões. O custo é da operação; a produção é de cada talhão. Como as duas medidas têm granularidades diferentes, elas moram em coleções diferentes:
1 linha por operação
ActivityAreas — 1 linha por talhão
O custo pertence à operação; a produção pertence ao talhão. Some cada um na sua própria coleção e relacione por
activityId — assim o total sai certo dos dois lados.
É por isso que Activities e ActivityAreas são separados
— e o mesmo vale para mão de obra, insumos e máquinas, que abrem o custo da operação
em mais detalhe.
Território
Quase todo relatório fatia por fazenda, área ou talhão. A hierarquia é a mesma do AGROs:
O relacionamento usa o caminho completo como chave. Nos fatos ele vem pronto em
subareaKey, e na dimensão em
id:
Fazenda|Área|Talhão
Nomes de área e de talhão se repetem entre fazendas, então o caminho inteiro é o que identifica sem ambiguidade.
Escolher a superfície
Os mesmos dados, duas portas. A escolha é sobre quem consome:
| OData | REST | |
|---|---|---|
| Para quem | Power BI, Excel, ferramentas de BI | Scripts e integrações |
| Filtra no servidor | Sim | Não — só paginação |
| Descoberta automática | Sim ($metadata) | Não |
Na dúvida, OData: ele aplica o filtro no servidor, e num volume grande isso é a diferença entre transferir uma safra e transferir o histórico inteiro.
O modelo resolve quase tudo, mas quatro decisões continuam sendo suas — e são as que mais causam número inesperado. Como modelar sem errar tem as quatro, em uma página curta.
Começar
O que a API não faz
- Não escreve. As duas superfícies são somente leitura, e o
$metadatadeclara isso. - Não agrega por você. As coleções são planas e no grão certo; quem soma e cruza é o seu BI.
- Não deriva o que depende da sua regra. Conciliação financeira, por exemplo, varia de operação para operação — expomos os sinais e você aplica a sua regra.