Power BI组内添加随机行及Audit列创建方法咨询
Power BI 两个操作问题的解决方案
1. 在组内添加随机行
以下操作基于Power Query编辑器完成(假设分组维度为员工和日期):
- 打开Power Query编辑器,选中目标数据表
- 执行分组操作:点击
主页 > 分组依据,设置分组列为「员工」「日期」,新列名设为原组数据,操作选择所有行 - 添加自定义列,使用以下公式生成随机行(示例为每组生成1-3条随机行,随机数值范围可自行调整):
= List.Generate( () => [Count=1, Row=Record.AddFields(Record.RemoveFields([原组数据]{0}, {"Average meeting per Day", "Actual Meeting"}), [Average meeting per Day=Number.RandomBetween(1,5), Actual Meeting=Number.RandomBetween(1,5)])], each [Count] <= Number.RandomBetween(1,3), each [Count=[Count]+1, Row=Record.AddFields(Record.RemoveFields([原组数据]{0}, {"Average meeting per Day", "Actual Meeting"}), [Average meeting per Day=Number.RandomBetween(1,5), Actual Meeting=Number.RandomBetween(1,5)])], each [Row] )
- 依次展开
自定义列和原组数据列,合并所有行后调整列顺序即可完成
2. 创建Audit列(标记Included/Not Included)
通过DAX计算列实现,逻辑为:同一员工/日期分组下,所有Average meeting per Day的总和与Actual Meeting相等则标记Included,否则标记Not Included:
- 切换到数据视图,选中目标数据表,点击
建模 > 新建列 - 输入以下DAX公式(替换
你的表名为实际数据表名称):
Audit = VAR 组内平均会议总和 = CALCULATE( SUM('你的表名'[Average meeting per Day]), ALLEXCEPT('你的表名', '你的表名'[员工], '你的表名'[日期]) ) VAR 实际会议数 = '你的表名'[Actual Meeting] RETURN IF(组内平均会议总和 = 实际会议数, "Included", "Not Included")
示例数据参考

内容的提问来源于stack exchange,提问作者trial1
相关产品推荐
相关产品推荐

