Evidence 框架燃爆了!用 SQL+Markdown 做数据可视化

家好,很高兴又见面了,我是"高级前端?进阶?",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发,您的支持是我不断创作的动力。

1.什么是 Evidence

Business intelligence as code: build fast, interactive data visualizations in pure SQL and markdown

Evidence 是一个开源框架,用于使用 SQL 构建数据产品,例如:报告、决策支持工具和面向客户 / 嵌入式报告,是拖放 BI 工具的代码驱动替代方案,总之 Evidence 将现代 Web 框架的最佳部分与 BI 的最佳部分相结合。

Evidence 从 Markdown 文件生成一个网站,Markdown 文件中的 SQL 语句对数据源运行查询,然后使用查询结果渲染图表和组件。Evidence 提供以下突出能力:

  • 代码驱动的工作流程:使用 IDE、版本控制和 CI/CD 工具
  • 一流的文本支持:支持为报告添加上下文、解释和见解
  • 编程功能:使用 Loop 循环、If/Else 条件和模板化页面从数据生成内容,控制最终展示
  • 高性能:Evidence 项目构建到快速可靠的 Web 应用程序中
  • 轻量级设置:本地安装并在几分钟内开始构建报告

目前 Evidence 在 Github 通过 MIT 协议开源,有 3.2k 的 star,是一个值得关注的前端开源项目。

2.如何使用 Evidence

  • 支持从 VSCode Marketplace 安装 Evidence
  • 打开命令面板(Ctrl/Cmd + Shift + P)并输入 Evidence: New Evidence Project
  • 单击底部状态栏中的 “Start Evidence”:安装所需依赖项并启动 Evidence 服务器;看到一个浏览器窗口自动打开并显示应用程序预览
  • 对 Markdown 文件进行更改并保存文件以在浏览器窗口中查看更新

当然,开发者还可以利用命令行工具快速开始:

npx degit evidence-dev/template my-project
cd my-project
npm install
npm run sources
npm run dev

Evidence 支持几乎所有 Markdown 语法,而下面的 Evidence markdown 文件中的代码块用于运行内联查询并返回数据,代码块运行的是 DuckDB SQL 方言。

select
    date_trunc('month', order_datetime) as order_month,
    count(*) as number_of_orders,
    sum(sales) as sales_usd
from needful_things.orders
group by 1, order by 1 desc

更多关于 Evidence 的高级用法可以参考文末资料,本文不再过多展开。

参考资料

https://github.com/evidence-dev/evidence?tab=readme-ov-file

https://evidence.dev/

原文链接:,转发请注明来源!