如何在 PowerBi 中将切片器的选定值设置为 API

问题描述

我想从切片器中选择时间并将用户选择的值放入 API。从 API 获取值后,分析将在我的本地机器上进行,并将分析的数据设置为 PowerBi(用于用户选择的数据)。

enter image description here

我使用以下 API 设置了上述切片器。

http://localhost:9002/ANC/analysis/parameterList

Python 文件

from flask import Flask,jsonify,abort,request
import time
app = Flask(__name__)

@app.route('/ANC/analysis/parameterList',methods=['GET'],endpoint='parameterList')
def parameters():
    data = {
            "time":["lastMonth","lastYear","lastWeek","lastHour","lastDay"],}
    return data

if __name__ == '__main__':
    app.run(debug=True,host='0.0.0.0',port=9002)


# url6 = 'http://localhost:9002/ANC/analysis/parameterList'

是否可以通过 API PowerBi 将用户选择的参数导入本地分析?或者有什么办法可以解决这个问题?

解决方法

PowerBI 不像 Web 开发框架那样工作。您不能将切片器中的选择“发布”到 API。

我可以想到一些可以提供可接受的替代方案的选项:

  1. 您从 API 端点导入所有数据。然后使用切片机按照设计进行切片。对于大量数据(在 API 中),有使用 M. Here is an example 将该数据分页到 PowerBI 的技术。尽管 API 可能无法胜任这项任务,但 PowerBI 将轻松处理千兆字节的数据。

  2. 使用中间数据库/数据集市/数据仓库对数据建模并在数据存储之上运行 PowerBI。通过这种方法,您可以使用 DirectQuery 来限制通过 PowerBI 处理的数据。

  3. 如果您在本地工作并且仅使用 PowerBI 桌面。您可以在 PowerBI 文件中设置参数,然后通过参数提供时间。如果您将 PowerBI 文件另存为 PowerBI 模板 (PBIT),那么它会保存您的 PowerBI,而没有任何数据。当您打开模板时,它会提示您提供参数。

不是 100% 的答案,但我希望它为您提供一些可供考虑的选项。