您能帮我使用 Python 使用 API 密钥从 Microstrategy 导出报告吗?
这是我的代码
#import libraries
from mstrio import connection
from mstrio.application_objects.report import Report
import pandas as pd
# connection to project folder in Microstrategy
conn = connection.Connection(
base_url="BASE_URL",
username="USERNAME",
password="PASSWORD",
login_mode = 16,
ssl_verify=False,
project_name='PROJECT_NAME'
)
# connection to report
my_report = Report(connection=conn, report_id='REPORT_ID', parallel=True)
# applying filters to report
my_report.apply_filters(attributes=[x['id'] for x in list(my_report.attributes)],
attr_elements=attr_request). # variable "attr_request" consists my requested info
# converting to pandas DataFrame
df = my_report.to_dataframe()
问题在于转换为 Pandas DataFrame。尽管初始报告很大,但过滤后的报告必须更小且易于转换。但结果“my_report.to_dataframe()”在长时间卸载后终止连接。
有没有办法将报告转换为 json 格式或使用过滤器减少初始报告?
我检查了较小的报告,过滤器已正常应用和加载。我认为 Python 将整个报告加载到内存中,并在转换为数据帧时应用过滤器。如何将已过滤的报告转换为数据框?