知识库
本节收录有关 Tabular Editor 和 Power BI 模型的最佳实践、代码分析规则以及 DAX 优化模式的文章。
本节包含
最佳实践规则 (BPA)
用于构建高质量、易维护的 Power BI 和 Analysis Services 模型的全面指南。
- 避免在描述中使用无效字符 - 通过移除描述中的控制字符,防止元数据损坏
- 避免在对象名称中使用无效字符 - 确保对象名称仅包含有效字符
- 数据列必须指定源列 - 验证所有数据列都有正确的源映射
- 关系列必须具有相同的数据类型 - 强制关系中的数据类型保持一致
- 可见对象应有描述 - 确保所有可见对象都有有意义的描述
- 删除对象名称首尾空格 - 移除名称开头和结尾的空格
- 计算对象需要表达式 - 验证计算对象是否具有表达式
- 为数值列和日期列设置格式字符串 - 对数值列和日期列应用一致的格式设置
- 为度量值提供格式字符串 - 为所有度量值提供格式字符串
- 将数值列的 SummarizeBy 设置为 None - 防止对数值列进行不恰当的汇总
- 应包含日期表 - 确保日期表配置正确
- 隐藏外键列 - 对最终用户隐藏外键列
- 多对多关系应采用单向交叉筛选 - 在多对多关系中强制使用单向筛选
- 避免在 Structured数据源中使用提供程序分区 - 为结构化数据使用正确的分区源
- 为所有区域设置翻译描述 - 支持多语言描述
- 为所有区域设置提供显示文件夹翻译 - 本地化显示文件夹名称
- 为所有区域设置翻译层次结构级别名称 - 翻译层次结构级别标题
- 为所有区域设置翻译透视名称 - 本地化透视名称
- 为所有区域设置翻译可见对象名称 - 为所有区域设置翻译可见对象名称
- 透视应包含对象 - 确保透视包含相关对象
- 计算组应包含计算项 - 验证计算组定义
- 将 IsAvailableInMDX 设置为 False - 控制对象的 MDX 可用性
- 必要时将 IsAvailableInMDX 设置为 True - 按需启用 MDX 可用性
- 移除自动日期表 - 清理自动生成的日期表
- 删除未使用的数据源 - 移除未使用的数据源定义
- 在连接字符串中指定应用程序名称 - 在连接字符串中设置应用程序名称以便监控
- 在 Power BI 模型中使用最新的兼容级别 - 保持对最新 Power BI 功能的兼容性
- 为用户定义函数使用复合名称 - 确保 UDF 名称不会与未来的内置 DAX 函数发生冲突
代码操作
DAX 代码分析(DI)
针对 DAX 代码结构和效率的改进建议。 这些规则有助于你发现简化和优化表达式的机会。
- 删除未使用的变量 - 移除未使用的变量
- 删除未使用的变量 - 移除未使用的变量
- 移除表名 - 移除表名
- 添加表名 - 添加表名
- 将表筛选器改写为标量谓词 - 将表筛选 FILTER 重写为标量谓词
- 将多列筛选拆分为多个筛选条件 - 将多列筛选 FILTER 拆分为多个筛选 FILTER
- 简化 SWITCH 语句 - 简化 SWITCH 语句
- 移除多余的 CALCULATE - 移除多余的 CALCULATE
- 避免使用 calculate 快捷语法 - 避免使用 CALCULATE 的快捷语法
- 用 MIN/MAX 替代 IF - 用 MIN/MAX 替代 IF
- 用 ISEMPTY 替换 COUNTROWS - 用 ISEMPTY 替代 COUNTROWS
- 用 DIVIDE 代替除法运算 - 用 DIVIDE 替代除法运算
- 使用除法运算符替代 DIVIDE - 用除法运算替代 DIVIDE
- 用 DIVIDE 替换 IFERROR - 用 DIVIDE 替换 IFERROR
- 用 DIVIDE 替换 IF - 用 DIVIDE 替代 IF
DAX 重构 (DR)
针对复杂或低效 DAX 模式的重构建议。 这些规则可帮助你使 DAX 代码更现代化,并提升可读性。
- 转换为标量谓词 - 转换为标量谓词
- 优先使用聚合函数而非迭代器函数 - 用聚合函数替代迭代器
- 使用 VALUES 替代 SUMMARIZE - 用 VALUES 替代 SUMMARIZE
- 为变量添加前缀 - 为变量添加前缀
- 为临时列添加前缀 - 为临时列添加前缀
- 将常量聚合移到变量中 - 将常量聚合移入变量
- 简化 1 个变量代码块 - 简化 1 变量代码块
- 简化多变量块 - 简化多变量代码块
- 使用 DISTINCTCOUNT 重写 - 用 DISTINCTCOUNT 改写
- 使用 COALESCE 重写 - 用 COALESCE 改写
- 使用 ISBLANK 重写 - 用 ISBLANK 改写
- 移除不必要的 BLANK - 移除不必要的 BLANK
- 简化否定逻辑 - 简化取反逻辑
- 使用 IN 简化 - 使用 IN 简化
DAX 改写 (RW)
针对可用替代语法更有效表达的特定 DAX 模式,提供改写建议。
- 使用 CALCULATE 重写 TOTALxTD - 使用 CALCULATE 改写 TOTALxTD
- 使用 FILTER 重写 - 使用 FILTER 改写
- 反转 IF - 反转 IF 逻辑