You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerBI用DAX/M query实现去重并判断SOID多VDM访问权限

EmpDetailsail表需求实现方案

以下分别提供Power Query M语言和DAX两种实现方式:

方法一:Power Query M语言实现(推荐用于ETL清洗阶段)

步骤1:删除完全重复条目

导入原始表后直接调用去重方法即可删除AA002的重复行,M代码如下:

// 替换Source为你实际的数据源引用
let
    Source = Excel.CurrentWorkbook(){[Name="EmpDetailsail"]}[Content],
    // 移除完全重复的行,仅保留唯一行
    RemoveDuplicates = Table.Distinct(Source)
in
    RemoveDuplicates

步骤2:新增Access计算列

在上一步的基础上添加自定义列,统计每个SOID对应的VDM数量并输出判断结果,完整M代码如下:

let
    Source = Excel.CurrentWorkbook(){[Name="EmpDetailsail"]}[Content],
    RemoveDuplicates = Table.Distinct(Source),
    // 新增Access列
    AddAccessColumn = Table.AddColumn(RemoveDuplicates, "Access", (current) => 
        let
            SOIDMatchCount = Table.RowCount(Table.SelectRows(RemoveDuplicates, each [SOID] = current[SOID]))
        in
            if SOIDMatchCount > 1 then "YES" else "NO"
    )
in
    AddAccessColumn

方法二:DAX实现(适用于数据模型层处理)

步骤1:生成去重后的计算表

在Power BI/Excel数据模型中新建计算表,代码如下:

去重后表 = DISTINCT('EmpDetailsail')

步骤2:新增Access计算列

在刚生成的去重后表中新建计算列,代码如下:

Access = 
VAR VDMCount = CALCULATE(COUNTROWS('去重后表'), ALLEXCEPT('去重后表', '去重后表'[SOID]))
RETURN
IF(VDMCount > 1, "YES", "NO")

内容的提问来源于stack exchange,提问作者Roger_123

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 01:09:03