【发布时间】:2022-02-10 17:13:53
【问题描述】:
我想在嵌入到我的网页的 Power BI 仪表板中显示我的 Facebook 页面的见解(页面视图、cmets、帖子等)数据,我可以通过下载来显示虚拟报告Facebook 页面 CSV 报告。如果我必须实时更新仪表板,具体流程是什么。
【问题讨论】:
标签: node.js facebook facebook-graph-api powerbi facebook-javascript-sdk
我想在嵌入到我的网页的 Power BI 仪表板中显示我的 Facebook 页面的见解(页面视图、cmets、帖子等)数据,我可以通过下载来显示虚拟报告Facebook 页面 CSV 报告。如果我必须实时更新仪表板,具体流程是什么。
【问题讨论】:
标签: node.js facebook facebook-graph-api powerbi facebook-javascript-sdk
至少有两种选择:
此时,将 Power BI 连接到 Facebook 可能会出现问题,但通常您应该能够使用内置的 connector。
请注意,使用连接器后,在 Power BI 服务中发布报表后,它不会实时刷新数据,而是半实时刷新数据。例如,您可以将数据源定义为每天最多刷新 8 次(使用 Pro 许可证),如果您拥有 Enterprise Premium Capacity,则甚至更多。
相反,如果您确实需要处理实时数据,则可以使用 Power BI 的real-time streaming service 中提供的 API。
【讨论】:
有很多方法可以做到这一点,我将在下面列出一些:
API URL:你可以直接连接到power bi,但它有一些问题,例如(API调用限制,无法显示历史数据,需要很长时间刷新)
使用 API,您可以创建自动化数据管道:
导入pyodbc 导入json 导入请求 将熊猫导入为 pd 导入 sqlalchemy 导入urllib
创建一个 JSON 文件并将您的凭据放在那里,然后获取路径。你应该改变我自己委托的路径。
path_to_json='CreatedJasonfile'
with open(path_to_json,'r') as handler:
info = json.load(handler)
sql 服务器参数(这里放你的服务器和数据库名称,你可以把它们放到你的 JSON 文件中)
user = info['user']
pwd = info ['password']
server = info ['server']
db = info['db']
试试:
conn = urllib.parse.quote_plus('DRIVER={ODBC Driver 17 for SQL
Server};SERVER='+server+';DATABASE='+db+';UID='+user+';PWD='+pwd)
engine = sqlalchemy.create_engine('mssql+pyodbc:///?odbc_connect=
{}'.format(conn))
print('connection successfull')
except:
print('error when trying to connect')
Windsor 连接器的参数
date_p='last_7d'
fields='&fields=date,campaign,clicks,spend,device'
url=info['url']+date_p+fields
删除现有数据
with engine.begin() as conn:
conn.execute(sqlalchemy.text("TRUNCATE TABLE BING_DATA"))
在 SQL 表中插入数据
df.to_sql("FACEBOOK_DATA",engine,if_exists="append",index=False)
【讨论】: