用途:在已连接的 Power BI 语义模型上编写、执行、校验和优化 DAX 查询与度量值,通过 pbi-cli 命令行完成。
前置安装与连接: pipx install pbi-cli-tool pbi-cli skills install pbi connect
执行查询:支持内联 pbi dax execute "EVALUATE TOPN(10, Sales)"、文件 pbi dax execute --file query.dax、标准输入 cat query.dax | pbi dax execute -;可用 --max-rows 限制行数、--timeout 设置超时秒数,pbi --json dax execute 输出 JSON 便于脚本处理。校验用 pbi dax validate,缓存清理用 pbi dax clear-cache。
创建度量值:pbi measure create "Total Sales" -e "SUM(Sales[Amount])" -t Sales,可加 --format-string;支持时间智能如 TOTALYTD、SAMEPERIODLASTYEAR,以及 DIVIDE 计算同比。
常见模式:用 INFO.TABLES()、INFO.COLUMNS() 探索模型,TOPN 预览数据,SUMMARIZECOLUMNS 分组聚合,CALCULATE 加筛选,FILTER 复杂条件,DATESINPERIOD 滚动区间,ADDCOLUMNS 配合 TOPN 排名。
限制与注意事项:以 -e 传多行 DAX 时 shell 会把换行折叠为空格,VAR/RETURN 会报语法错误,应改用管道或 --file;CALCULATE 中 ALL、ALLEXCEPT、ALLSELECTED 语义不同,选错会静默产生错误合计;SUMMARIZECOLUMNS 会丢弃所有度量值为 BLANK 的行,必要时用 COALESCE 包裹;DIVIDE 除零返回 BLANK 而非 0,需显式传第三参数;clear-cache 只清公式引擎缓存,存储引擎缓存仍在;INFO.TABLES() 会包含隐藏表,可用 [IsHidden] = FALSE 过滤。性能上建议开发时限制行数、基准测试前清缓存、优先 SUMMARIZECOLUMNS、避免大表迭代器。