ChatGPT+Power BI=人工智能的天作之合

本文翻译自Gabe Araujo, M.Sc.的文章—《ChatGPT + Power BI = A Match Made in AI Heaven! 》来源:Medium 在文章的最后,我将演示如何使用Python将ChatGPT与Power BI集成。

将ChatGPT这样的语言模型整合到Power BI中,可以改变数据分析师和商业智能专家的游戏规则。

这是一个具有成本效益的方法,可以帮助你进行DAX查询,加快你的工作流程,它可以帮助你建立更准确、更有洞察力的报告,推动商业决策。

因此,如果你想把你的Power BI技能提高到一个新的水平,可以考虑把ChatGPT整合到你的工作区。只需点击几下,你就可以开始比以前更快、更有效地获得你需要的答案。

在这篇文章中,我将向你展示如何将ChatGPT集成到Power BI中以帮助进行DAX查询。使用AI助手功能可以帮助你快速找到你需要的答案,并加快你的工作流程。所以,让我们开始吧!

为什么要将ChatGPT整合到Power BI中?

作为Power BI的用户,你已经知道这个工具在数据可视化和分析方面有多么强大。然而,即使是最有经验的用户有时也会在复杂的DAX查询中挣扎,特别是在处理大型数据集时。

通过将ChatGPT集成到您的Power BI工作区,您可以快速获得问题的答案,找到相关信息,并加快您的工作流程。ChatGPT可以帮助你完成一系列的任务,从计算度量和建立复杂的计算到排除错误和优化查询。

将ChatGPT整合到Power BI中需要一些专业技术知识,因为你需要使用Power BI的自定义可视化功能以及API调用来与ChatGPT的API进行交互。

下面是一个分步指南,帮助你将ChatGPT整合到Power BI中:

注册获得OpenAI的API密钥:要访问ChatGPT的API,您首先需要一个API密钥。
通过访问https://www.openai.com/api/,从OpenAI注册一个API密钥。
在Power BI中创建自定义视觉:你可以使用TypeScript和D3.js在Power BI中创建自定义视觉。
要为自定义可视化开发设置环境,请遵循微软的官方指南:https://docs.microsoft.com/en-us/power-bi/developer/visuals/environment-setup
创建一个新的自定义可视化项目:使用Power BI的命令行工具来创建一个新的自定义可视化项目。
打开一个终端或命令提示符,然后运行:

pbiviz new chatgpt_visual
cd chatgpt_visual
pbiviz start

添加API调用功能:在你的新的自定义视觉项目中,修改src/visual.ts文件以包括对ChatGPT进行API调用的必要代码。

你将需要使用一个库,如'axios'来进行HTTP请求。通过运行npm install axios来安装它。

然后,修改src/visual.ts文件,添加必要的导入和一个函数来调用ChatGPT API:

import * as axios from'axios';
async function callChatGPTAPI(prompt: string, apiKey: string): Promise {
constresponse = await axios.default.post('https://api.openai.com/v1/engines/davinci-codex/completions', {
prompt: prompt,
max_tokens: 50,
n: 1,
stop: null,
temperature: 1,
}, {
headers: {
'Authorization': Bearer ${apiKey},
'Content-Type': 'application/json'
}
});
return response.data.choices[0].text;
}

在你的视觉更新函数中使用API调用:修改src/visual.ts文件中的更新函数,调用ChatGPT的API并显示结果。例如,你可以使用一个文本元素来显示ChatGPT的响应。

publicupdate(options: VisualUpdateOptions) {

// Add your Power BI visual update code here
// ...
// Call the ChatGPT API with a sample prompt and your API key
callChatGPTAPI("Integrate Power BI with ChatGPT", "")
.then(response => {
// Display the response in a text element
const textElement = this.target.append("text")
.attr("x", 10)
.attr("y", 50)
.text(response);
// Update the text element with the response from ChatGPT
textElement.text(response);
})
.catch(error => {
console.error("Error calling ChatGPT API:", error);
});
}

打包并导入定制的视觉效果:一旦你完成了代码,通过在终端运行pbiviz软件包来打包自定义视觉。

这将在dist文件夹中生成一个.pbiviz文件。

在Power BI中,通过选择 "可视化 "窗格中的省略号(...),点击 "从文件导入",并选择生成的.pbiviz文件,导入自定义的可视化。

在你的报告中使用自定义视觉:通过从 "可视化 "窗格中选择,将自定义可视化添加到你的Power BI报告中。

由于自定义的视觉效果使用了ChatGPT API,你可能想提供一种方法让用户输入提示信息,并在视觉效果中显示回应。

这里有一个DAX查询的例子,你可以向ChatGPT提问:

每个产品类别的总销售额是多少?

而这里是DAX表达式的代码片段,你可以用它来实现同样的结果:

TotalSales= SUM('Sales'[Amount])

通过将ChatGPT整合到Power BI中,你可以快速得到问题的答案,并加快你的工作流程。这里还有一些你可以问ChatGPT的DAX查询的例子:

本季度的总销售额是多少?

上个月每个客户的平均收入是多少?

每个地区今年迄今为止的收入是多少?

ChatGPT还可以帮助你排除DAX表达式中的错误。

例如,如果你收到类似 "检测到一个循环依赖 "的错误信息,你可以向ChatGPT寻求帮助,并指导你按步骤解决这个问题。

专业提示:在建立复杂的DAX表达式时,你可以使用 "AI Chatbot "的视觉效果来节省时间。你可以要求ChatGPT帮助你逐步建立表达式,而不是手动打出每一个计算结果。这可以为你节省大量的时间和精力,特别是在处理大型数据集的时候。

要使用Python将ChatGPT与Power BI集成,你可以按照以下步骤进行:

在Power BI Desktop中启用Python

如果尚未启用,要在Power BI Desktop中启用Python,请按照以下步骤进行:

安装Python:你需要在你的电脑上安装Python。你可以从官方网站(https://www.python.org/downloads/)下载并安装Python
安装Python后,你需要在Power BI Desktop中安装Python集成功能。
打开Power BI Desktop,进入文件->选项和设置->选项-> Python脚本。勾选 "Python脚本 "并点击 "确定"。这将在Power BI Desktop中启用Python脚本。
启用Python脚本后,你需要在Power BI Desktop中设置Python路径。
转到文件->选项和设置->选项->Python脚本。点击 "Detect "来自动检测Python的安装路径,或者你可以通过点击"... "并选择Python可执行文件来手动设置路径。
重新启动Power BI桌面:设置完Python路径后,你需要重启Power BI Desktop以使变化生效。

安装必要的Python库:

openai:这是一个提供访问ChatGPT模型的库。
pandas:这个库用于创建和操作数据帧。
pyodbc:这个库用来连接到Power BI数据源。

你可以通过在终端或命令提示符中运行以下命令,使用pip安装这些库:

pip install openai pandas pyodbc

认证和设置OpenAI的API:

在OpenAI网站上创建一个账户并获得一个API密钥。
通过运行 pip install openai 来安装 OpenAI Python 库。
将OPENAI_API_KEY环境变量设为你的API密钥。

你可以通过运行以下Python代码来验证和设置OpenAI的API:

import openai_secret_manager assert"openai"in openai_secret_manager.get_services() secrets = openai_secret_manager.get_secret("openai")

Set up the OpenAI API client

import openai openai.api_key = secrets["api_key"]

定义一个查询ChatGPT模型并返回响应的函数:

defquery_chatgpt(prompt): response = openai.Completion.create( engine="text-davinci-002", prompt=prompt, max_tokens=1024, n=1, stop=None, temperature=0.7, ) message = response.choices[0].text.strip() return message

query_chatgpt函数接受一个提示作为输入,将其发送到ChatGPT模型,并返回响应。

使用pyodbc连接到Power BI的数据源:

import pyodbc # Set up the connection string server = 'your-server-name' database = 'your-database-name' username = 'your-username' password = 'your-password' cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+password)

编写一个Power Query函数,调用query_chatgpt函数并将响应作为一个表返回:

将Python脚本发布为PowerBI中的数据源:

打开Power BI桌面,进入 "主页 "标签。
点击'转换数据'。
点击'新源'->'Python脚本'。
输入Python脚本并点击'确定'。
点击'关闭并应用'。

在你的Power BI报告中使用ChatGPT数据源:

转到'报告'标签。
点击'获取数据'->'更多'。
选择'Python脚本'数据源并点击'连接'。
输入你想发送给ChatGPT模型的提示。
来自ChatGPT模型的响应将在Power BI报告中显示为一个表格。

注意:确保将代码中的占位符(如你的服务器名称、你的数据库名称、你的用户名和你的密码)替换为你环境的实际值。

最后的想法

将ChatGPT集成到Power BI中是一个很好的方法,可以加快你的工作流程,提高分析的准确性,并迅速得到你需要的答案。

按照本文所述的步骤,你可以马上开始使用ChatGPT来帮助你进行DAX查询。

转载请注明出处!


如果您想深入学习微软Power BI,欢迎登录网易云课堂试听学习我们的“从Excel到Power BI数据分析可视化”系列课程。或者关注我们的公众号(PowerPivot工坊)后猛戳”在线学习”。



长按下方二维码关注“Power Pivot工坊”获取更多微软Power BI、PowerPivot相关文章、资讯,欢迎小伙伴儿们转发分享~


Power Pivot工坊