SuperAPI AI 工具集

data-fetching

数据与分析

查看项目

更新于 10-16 06:47

技能介绍

用途:在 React 应用运行时通过 Fabric SDK 获取 Power BI 数据。查询应已校验并保存为 .dax 文件(由 data-discovery 技能完成)。

主要能力:useSemanticModelQuery 钩子(src/hooks/use-semantic-model-query.ts)是组件中获取数据的主要方式,内部封装 Fabric SDK 客户端并调用 getFabricClient();组件应使用钩子而非直接调用客户端。

基本用法:传入 connection(连接别名)与 query(可为工厂函数结果),返回 data 与 isLoading。每条查询必须恰好包含一个 EVALUATE 语句。

结果结构:data 为 CachedQueryResult | undefined。成功时含 status("success")、table.columns({name, dataType} 数组)、table.rows(unknown[][],按行优先,值与列顺序对应)、requestId、fromCache、cachedAt。注意行是数组而非对象,列名按索引对应行位置。

错误处理:SDK 从不抛出异常,需始终检查 result.status;出错时读取 data.error.code 与 data.error.message。

缓存:结果由 SDK 缓存,可用 bypassCache 强制刷新;data.fromCache 表示是否来自缓存,data.cachedAt 为原始获取时间。可用 clearQueryCache() 清空全部模型缓存,或 clearQueryCache("salesModel") 清除指定模型。

规则:不得硬编码、模拟或存储数据,始终从 Power BI 实时获取;始终使用 fabric.yaml 中的连接别名而非原始数据集 ID;需以有意义的 UI 消息呈现查询与服务错误。

限制:缓存语义(LRU 淘汰、缓存内容、TTL 模式)与错误分类详见 fabric-sdk 技能,本资料未展开。