苏森AI

  • AI资讯
  • AI应用
  • AI工具
  • AI工作流
  • AI智能体
  • AI提示词
苏森AI
从这里开启你的AI学习旅程!
  1. 首页
  2. AI工作流
  3. 正文

告别重复劳动!用n8n零代码实现数据分析与图表自动化,人人都是数据分析师

2025-07-03 42点热度 0人点赞 0条评论

如何让数据为你打工呢?

嘿,职场奋斗人,你是否也曾被这样的场景困扰:
每个月总有那么几天,你要对着一堆原始数据,手动筛选、计算、汇总,再小心翼翼地粘贴到 Excel 里生成图表,最后做成报告发给老板或团队。这个过程不仅枯燥乏味,还极易出错,耗费了你大量宝贵的下午茶和摸鱼时间。
如果这一切都能自动完成,该有多好?

今天,就来终结这种低效的循环!本文将手把手带你使用强大的开源自动化工具 n8n,结合 NoCoDB 数据库和 QuickChart 图表服务,搭建一个完全自动化的数据分析与可视化工作流。

最重要的是,你几乎不需要写一行代码,只需简单的拖拉拽,就能让数据为你自动“打工”!📊✨

📌 这篇文章适合谁?

  • • 想提升效率的数据分析师:将常规报表自动化,解放你的精力去应对更复杂的分析任务。
  • • 不懂编程但想自动化报表的上班族:告别繁琐的手动操作,轻松搞定数据报告。
  • • 使用 n8n 的自动化爱好者:解锁 n8n 的新玩法,让你的工作流更强大、更直观。

🆙 前置条件

  • • 🪜 VPN 请自行准备
  • • 相关的API-Key配置
  • • Docker 容器

部署N8N

n8n (https://n8n.io):本次行动的“大脑”。它是一款开源、可自部署的节点式工作流自动化工具。你可以把它想象成一个拥有超能力的数字管道工,通过连接不同的“节点”(代表各种应用和服务),就能创建出强大的自动化流程。

注:docker部分不予说明,请自行AI。

1、持久化数据

启动docker数据卷,这里是为了持久化存储,确保 n8n_data 卷已正确挂载(docker volume inspect n8n_data 可检查)。

docker volume create n8n_data

2、运行启动n8n

启动运行n8n,如果在n8n 中调用外部服务遇到dns解析错误的时候,可以在启动的时候加上这个参数,在启动命令中添加环境变量,启用 Task Runners,配置文件权限问题,配置-e N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true,修正权限。

docker run -it --rm 
    --name n8n 
    --dns 8.8.8.8 
    -e GENERIC_TIMEZONE=Asia/Shanghai 
    -e N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true 
    -e N8N_RUNNERS_ENABLED=true 
    -p 5678:5678 
    -v n8n_data:/home/node/.n8n 
    docker.n8n.io/n8nio/n8n

3、更新镜像

升级到最新版本:如果使用的是旧版 n8n,建议更新镜像:

docker pull docker.n8n.io/n8nio/n8n:latest

4、生产环境建议

后台运行(生产环境):如果不需要交互模式,可以去掉 -it 改用 -d(守护进程模式):

docker run -d --restart unless-stopped 
    --name n8n 
    --dns 8.8.8.8 
    -e GENERIC_TIMEZONE=Asia/Shanghai 
    -e N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true 
    -e N8N_RUNNERS_ENABLED=true 
    -p 5678:5678 
    -v n8n_data:/home/node/.n8n 
    docker.n8n.io/n8nio/n8n

5、配置中文界面

很多人说看不习惯英文,想要中文界面,这里给出详细的步骤,以docker为例,使用开源项目,这个项目会自动根据n8n 的更新而翻译。
第一步,直接去 https://github.com/other-blowsnow/n8n-i18n-chinese/releases

在release界面下载对应版本的包,它通过挂载本地汉化后的 UI 文件来替换默认的英文界面。
https://github.com/other-blowsnow/n8n-i18n-chinese/releases

下载解压:
image.png

设置语言环境变量

N8N_DEFAULT_LOCALE=zh-CN

替换editor-ui包,去release里面找到对应的版本然后映射docker路径

/usr/local/lib/node_modules/n8n/node_modules/n8n-editor-ui/dist

完整测试docker命令

docker run -it --rm --name n8ntest 
-p 15678:5678 
-v 【替换自己的目录】:/usr/local/lib/node_modules/n8n/node_modules/n8n-editor-ui/dist 
-e N8N_DEFAULT_LOCALE=zh-CN 
-e N8N_SECURE_COOKIE=false 
n8nio/n8n

(1)停止并删除旧容器

docker stop n8n && docker rm n8n

(2) 重新运行容器并挂载汉化文件
路径地址为:

/Users/jackfeng/tools/server/dist

原理 editor-ui是支持i18的,但是未开放语言包,手动添加 zh-CN.json 到 editor-ui i18n里面,然后重新编译,环境里面设置语言即可正常使用中文

docker run -d --restart unless-stopped 
    --name n8n 
    --dns 8.8.8.8 
    -e GENERIC_TIMEZONE=Asia/Shanghai 
    -e N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true 
    -e N8N_RUNNERS_ENABLED=true 
    -p 5678:5678 
    -v n8n_data:/home/node/.n8n 
    -v /Users/jackfeng/tools/server/dist:/usr/local/lib/node_modules/n8n/node_modules/n8n-editor-ui/dist 
    -e N8N_DEFAULT_LOCALE=zh-CN 
    -e N8N_SECURE_COOKIE=false 
    docker.n8n.io/n8nio/n8n

检查是否正确挂载

docker exec -it n8n cat /usr/local/lib/node_modules/n8n/node_modules/n8n-editor-ui/dist

更新前:

更新前

更新后:

更新后

6、忘记密码?

当我们在本地部署N8N的时候,有时候会因为刚开始测试,用户名和密码设置的比较随意,所以容易忘记,当然有些朋友有google 账户密码管理工具,可以根据端口域名搜索查看对应的,那么如果你没有保存呢? 该怎么办呢?

忘记了密码是没有办法通过邮箱去找回的呢!!!

image.png

如何解决这个问题呢?

前置条件是: 在不丢失你任何工作流的情况下,带你三步重置密码。

1、查看docker名称


docker ps -a

2、用户管理重置命令

docker exec n8n n8n user-management:reset 
告别重复劳动!用n8n零代码实现数据分析与图表自动化,人人都是数据分析师

3、重启docker容器

docker restart n8n

当完成重启之后,我们就会进入重新初始化账户的设置界面,完成之后登录,发现我们的工作流还会存在,并不会丢失。
http://localhost:5678/setup

image.png

NoCoDB

NoCoDB (https://nocodb.com):作为“数据仓库”。它是一个开源的智能表格/无代码数据库,可以让我们像Excel这样去操作,通过网页轻松管理,也可以本地部署,可以看作是 Airtable 的强大替代品。我们将在这里存放需要分析的原始数据。
image.png

1、登入并导入数据

登录账号进入主页面,导入以这个数据为例
https://docs.google.com/spreadsheets/d/1bKhqWlNxnZWeRl0db12fd9cicFjV0nrRrcS9D1aZRCQ/edit?gid=2014366975#gid=2014366975

上传到 NocoDb上,重命名为: 工作流-手机销售数据

image.png

2、配置凭证

hots: https://app.nocodb.com/

image.png
获取token步骤,点击左下角的头像:
image.png
点击 Add new token,
image.png

输入token名字,创建成功复制即可,粘贴在配置页面,输入api-key,点击测试就可以看到如下页面了。

image.png

3、配置数据表

以工作流-手机销售数据为例, 这部分就是table的id ,配置在接口内,也就是数据表名。

image.png

id: m3n9xz13bmxvgo6 为数据表id,替换为自己的即可。

https://app.nocodb.com/api/v2/meta/tables/m3n9xz13bmxvgo6

4、安装NoCoDB

上述步骤是可以通过线上版本的,但是我们有时候是使用一些本地数据库,所以这里可以改成私有化部署的,并且自定义端口
image.png
docker run -d --name nocodb 
  -v /Users/jackfeng/opt/nocodb_file/nocodb:/usr/app/data/ 
  -p 8735:8080 
  nocodb/nocodb:latest

部署成功之后,设置管理员账号,点击登录

image.png

在这里发现和我们线上使用的完全一致,上传同样的销售数据

image.png

设置key是一致的,然后配置的凭证的时候,这里是有一点是需要注意的,因为我们现在使用的都是docker 部署,那么docker,在宿主机使用localhost+端口访问是没有问题的,如果是docker 内部之间访问就会有问题的。

使用 docker inspect(推荐)


docker inspect <容器名或ID> | grep IPAddress


# 例如
docker inspect nocodb | grep IPAddress


# 更加精确的查询,这个是直接获取ip

docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' <容器名或ID>

# 例如
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' nocodb

所以,我们的配置就如下,记得换成自己的ip哦
image.png

同样,在http请求节点中,也要将url 换成本地的,这样我们的数据就是完全本地化

image.png

如果为了做更好的分析,我们可以在这 https://archive.ics.uci.edu/ 获取一些公开的数据集,以银行营销为例子

QuickChart

image.png

QuickChart (https://quickchart.io):“专属画师”。这是一个神奇的在线服务,能通过一个简单的 API 请求,将你的数据瞬间转换成精美的图表图片。

QuickChart 是一项非常实用的图表生成服务,它允许开发者通过简单的 URL 请求或 API 调用快速生成各种数据可视化图表。以下是关于 QuickChart 的详细介绍:

核心功能

  1. 1. 基于 URL 的图表生成:
    • • 通过构造特定格式的 URL 直接生成图表图片
    • • 示例:https://quickchart.io/chart?c={type:'bar',data:{labels:['Q1','Q2'],datasets:[{label:'Sales',data:[100,200]}}
  2. 2. 多种图表类型支持:
    • • 支持 Chart.js 所有图表类型:柱状图、折线图、饼图、雷达图等
    • • 兼容 Chart.js 2.x 和 3.x 版本
  3. 3. 高度可定制化:
    • • 完全支持 Chart.js 的所有配置选项
    • • 可自定义尺寸、颜色、标题、图例等

使用方式

1. 基本 URL 调用

const chartUrl = `https://quickchart.io/chart?
  width=500&
  height=300&
  c=${encodeURIComponent(JSON.stringify({
    type: 'bar',
    data: {
      labels: ['一月', '二月', '三月'],
      datasets: [{
        label: '销售额',
        data: [12000, 19000, 15000]
      }]
    }
  }))}`;

2. API 端点调用

fetch('https://quickchart.io/chart/create', {
method: 'POST',
headers: {
    'Content-Type': 'application/json'
  },
body: JSON.stringify({
    chart: {
      type: 'bar',
      data: {
        labels: ['Q1', 'Q2'],
        datasets: [{ label: 'Sales', data: [100, 200] }]
      }
    }
  })
})

主要优势

  1. 1. 无需前端代码:
    • • 后端直接生成图片URL,前端只需使用<img>标签显示
  2. 2. 轻量级解决方案:
    • • 不需要在前端引入Chart.js等大型库
  3. 3. 响应式设计:
    • • 生成的图片可自适应不同屏幕尺寸
  4. 4. 高性能:
    • • 服务端渲染,减轻客户端负担

在n8n中的典型应用

在您的工作流中,QuickChart可以这样使用:

// 在Function节点中生成图表URL
const chartConfig = {
type: 'bar',
data: {
    labels: $input.all()[0].json.labels,
    datasets: $input.all()[0].json.datasets
  },
options: {
    responsive: true,
    plugins: {
      title: {
        display: true,
        text: $input.all()[0].json.title || '默认标题'
      }
    }
  }
};

return {
chartUrl: `https://quickchart.io/chart?width=800&height=400&c=${encodeURIComponent(JSON.stringify(chartConfig))}`,
chartConfig: chartConfig
};

使用建议

  1. 1. 参数编码:
    • • 始终使用encodeURIComponent处理JSON配置
  2. 2. 错误处理:

    try {
      const response = await $axios.get(chartUrl);
      if (response.status !== 200) throw new Error('图表生成失败');
    } catch (error) {
      return { error: error.message };
    }
  3. 3. 缓存策略:
    • • 对相同配置的图表URL进行缓存,减少API调用

QuickChart是将数据可视化快速集成到应用中的理想选择,特别适合需要简单、高效图表生成解决方案的场景。

全自动-数据分析工作流

image.png

主节点说明

工作流概述

本工作流是一个智能数据分析系统,通过自然语言接口接收用户查询,连接 NocoDB 数据库获取数据,使用 AI 进行分析并生成可视化图表。工作流主要包含以下功能模块:

  1. 1. 聊天消息接收与处理
  2. 2. NocoDB 数据查询
  3. 3. AI 数据分析
  4. 4. 图表生成与展示
  5. 5. 对话上下文记忆管理
image.png

1. 触发节点 - When chat message received

  • • 类型: @n8n/n8n-nodes-langchain.chatTrigger
  • • 功能: 接收用户通过聊天界面发送的消息
  • • 输出:
    • • sessionId: 会话ID,用于跟踪对话上下文
    • • chatInput: 用户输入的查询内容
  • • Webhook ID: data-analysis-chat-webhook

2. NocoDB API 请求节点

  • • 类型: n8n-nodes-base.httpRequest
  • • 配置:
    • • URL: http://172.17.0.3:8080/api/v2/meta/tables/mqzjqetyh29wa80
    • • 认证方式: NocoDB API Token
  • • 功能: 查询指定NocoDB表的元数据信息

3. 字段编辑节点 - Edit Fields2

  • • 类型: n8n-nodes-base.set
  • • 功能: 格式化输入数据,准备AI分析所需字段
  • • 输出字段:
    • • sessionId: 从触发节点传递
    • • chatInput: 用户查询内容
    • • columns: 从NocoDB表元数据中提取的列名列表

4. AI 代理主节点

  • • 类型: @n8n/n8n-nodes-langchain.agent
  • • AI模型: Google Gemini
  • • 系统提示:
    • • 角色: 专业数据分析专家
    • • 任务:
      1. 1. 理解用户请求并查询NocoDB数据
      2. 2. 分析数据并提供简明结论
      3. 3. 按需生成可视化图表
    • • 图表要求: 使用Chart.js规范格式
    • • 响应格式: 文本分析+Markdown格式图表

5. 上下文记忆节点

  • • 类型: @n8n/n8n-nodes-langchain.memoryBufferWindow
  • • 配置:
    • • 会话ID: 使用自定义键sessionId
    • • 上下文窗口长度: 20
  • • 功能: 维护对话历史,实现多轮对话上下文理解

6. 图表生成工具节点

  • • 类型: @n8n/n8n-nodes-langchain.toolWorkflow
  • • 配置:
    • • 工作流ID: xuxNSLsB405waaHt
    • • 错误处理: 继续常规输出
  • • 功能: 调用子工作流生成图表
  • • 输入要求: 符合Chart.js规范的JSON配置

7. NocoDB数据查询工具节点

  • • 类型: n8n-nodes-base.nocoDbTool
  • • 配置:
    • • 操作类型: getAll
    • • 工作区ID: 动态从API请求节点获取
    • • 项目ID: p1iq7bz903349t5
    • • 表名: mqzjqetyh29wa80
  • • 功能: 查询NocoDB表中的实际数据

8. 数据流说明

  1. 1. 用户输入阶段:
    • • 用户发送消息 → 触发When chat message received节点
    • • 查询表结构 → NocoDB API Request节点
    • • 格式化输入 → Edit Fields2节点
  2. 2. AI分析阶段:
    • • 主AI代理接收格式化后的输入
    • • 根据需要使用Get many rows in NocoDB工具查询实际数据
    • • 如需图表,调用Generate Chart工具
  3. 3. 输出阶段:
    • • AI代理组合分析文本和图表URL
    • • 返回Markdown格式的响应

子节点说明

工作流概述

这个子工作流专门用于生成符合 Chart.js 规范的图表配置,并将配置转换为 QuickChart 可用的 URL。工作流接收来自主工作流的图表生成请求,通过 AI 生成规范的图表配置,最后输出可直接使用的图表 URL。

image.png

1. 触发节点 - When Executed by Another Workflow

  • • 类型: n8n-nodes-base.executeWorkflowTrigger
  • • 功能: 作为子工作流的入口点,接收来自主工作流的调用
  • • 输入来源: passthrough (直接传递主工作流的输入)
  • • 预期输入:

    {
      "query": "用户关于图表的自然语言描述"
    }

2. AI 图表生成代理 - AI Agent Chart Generator

  • • 类型: @n8n/n8n-nodes-langchain.agent
  • • AI模型: Google Gemini
  • • 关键配置:
    • • 系统提示: 严格要求AI输出符合特定JSON格式的Chart.js配置
    • • 重试机制: 启用retryOnFail自动重试失败请求
  • • 输出要求:
    • • 必须包含type、data和options三个顶级字段
    • • 完全遵循Chart.js配置规范
    • • 不包含任何额外解释文本

3. 结构化输出解析器 - Structured Output Parser

  • • 类型: @n8n/n8n-nodes-langchain.outputParserStructured
  • • 功能: 验证和规范AI输出的图表配置
  • • Schema配置:
    • • 严格模式: 启用(strict: true)
    • • 图表类型: 限定9种Chart.js支持的图表类型
    • • 数据结构:
      • • 必须包含labels数组和datasets数组
      • • 每个dataset必须包含label、data等必需字段
    • • 选项配置:
      • • 必须包含scales和plugins配置
      • • 支持响应式、动画等高级配置

4. Google Gemini 模型

  • • 类型: @n8n/n8n-nodes-langchain.lmChatGoogleGemini
  • • 模型版本: gemini-2.5-flash-preview-05-20
  • • 功能: 为AI代理提供语言模型支持
  • • 认证: 使用预配置的Google Gemini API凭证

5. JSON验证与图表URL生成

  • • 类型: n8n-nodes-base.code
  • • 功能:
    1. 1. 验证输入的图表配置是否符合要求
    2. 2. 将配置转换为QuickChart可用的URL
  • • 代码逻辑:

    // 验证配置完整性
    if (!chartConfig || !chartConfig.type || !chartConfig.data) {
    thrownewError("无效的图表配置");
    }
    
    // 生成QuickChart URL
    const chartUrl = "https://quickchart.io/chart?width=850&height=420&c=" + 
    encodeURIComponent(JSON.stringify(chartConfig));
    
    return {
    json: {
        chartUrl: chartUrl,
        originalConfig: chartConfig
      }
    };

数据流说明

  1. 1. 输入阶段:
    • • 主工作流通过Execute Workflow节点调用本工作流
    • • 传递包含用户图表描述的参数query
  2. 2. 图表生成阶段:
    • • AI代理根据用户描述生成图表配置
    • • 结构化输出解析器验证配置格式
    • • 如不符合要求,AI代理会自动重试
  3. 3. 输出处理阶段:
    • • 代码节点验证配置完整性
    • • 将有效配置转换为QuickChart URL
    • • 返回包含URL和原始配置的对象

错误处理机制

  1. 1. AI生成失败:
    • • 通过retryOnFail自动重试
    • • 结构化解析器会捕捉格式错误
  2. 2. 配置验证失败:
    • • 代码节点会抛出明确错误信息
    • • 错误会传递回主工作流处理
  3. 3. URL生成失败:
    • • encodeURIComponent处理特殊字符
    • • JSON.stringify确保有效序列化

输出规范

成功执行后,工作流将输出:

{
  "chartUrl": "https://quickchart.io/chart?width=850&height=420&c=%7B%22type%22%3A%22...",
  "originalConfig": {
    "type": "bar",
    "data": {...},
    "options": {...}
  }
}

子工作流设计为高度可重用组件,可与任何需要图表生成功能的工作流集成,确保输出的图表配置符合专业标准且可直接用于QuickChart服务。

生成完整的数据报告

最后,可以在会话框中输入我们想提问的问题,生成带图表的报告!!!
告别重复劳动!用n8n零代码实现数据分析与图表自动化,人人都是数据分析师
告别重复劳动!用n8n零代码实现数据分析与图表自动化,人人都是数据分析师

本篇文章来源于微信公众号: DataScience

标签: Docker n8n N8N部署 图表自动化 工作流 数据分析
最后更新:2025-07-20

苏森

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复
最新 热点 随机
最新 热点 随机
AI智能体扣子(Coze)工作流实战,1分钟生成100篇阅读量10万+AI漫画公众号文章,保姆级教程 17个作品涨粉超110万!用AI制作人生哲理视频,百万点赞火的一塌糊涂(保姆级实战教程) 独家首发!挑战用Coze做治愈系动态视频(风景/动漫/乡村),核心工作流搭建思路拆解(附体验链接) Coze+剪映视频工作流,1分钟制作治愈老爷爷/老奶奶视频,每条都是10w+(附提示词和体验链接) 打造10万+爆文的新法宝:Coze+DeepSeek工作流全攻略,手把手教你搭建 Coze+剪映视频工作流,一分钟打造爆款养生视频,干货分享,价值4位数 Coze+DeepSeek+剪映打造爆款国学文化视频工作流,进阶版保姆级教程,助力自媒体运营一路开挂 重磅发布 | 挑战用Coze做“如果书籍会说话”读书视频,20天涨粉10万,书单赛道新型玩法,附核心工作流搭建思路拆解
基于扣子 (Coze):AI 智能体搭建【作业批改复习助手】工作流别卷了!用 Dify 搭建你的专属 AI 数据分析报告助手【comfyUI教程】图生图基础工作流搭建及如何补全节点扣子(Coze)工作流:输入关键词,Coze 自动抓小红书热门笔记,减少大量运营工作量!拆解爆款—历史人物智能体:提示词+代码全公开,0 基础也能用扣子AI复刻爆款!2分钟让扣子智能体自动生成小红书爆款,连封面都帮你做好了,让AI帮你运营小红书!Coze+剪映视频工作流,一分钟打造爆款养生视频,干货分享,价值4位数AI智能体扣子(Coze)工作流搭建,3分钟自动生成100篇知识图文,保姆级教程
3分钟,搭建小红书图文改写智能体,学会了效率提高90%!(手把手教程) 全自动AI短视频工厂实操 基于Dify动态解析异构银行流水:架构拆解→风控报告生成 爆款的微缩小人国视频,谁还不会用coze工作流智能体制作? 单条10万赞!用AI批量做书单号,日产20条,附详细教程 拆解爆款—历史人物智能体:提示词+代码全公开,0 基础也能用扣子AI复刻爆款! 10分钟制作一个自己的专属公众号智能体 3种提示词框架 ×4个要点 ×5个私藏案例,一篇带你学会AI时代的沟通术
标签聚合
ChatGPT 扣子 飞书 工作流 mcp 智能体 提示词 小红书 DeepSeek Agent 豆包 n8n Prompt Dify coze FastGPT

COPYRIGHT © 2025 苏森AI SOOSON.COM. ALL RIGHTS RESERVED.

站点地图