99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁大數(shù)據(jù)時代【CDA干貨】Power BI 去重函數(shù):數(shù)據(jù)清洗與精準分析的核心工具
【CDA干貨】Power BI 去重函數(shù):數(shù)據(jù)清洗與精準分析的核心工具
2025-08-27
收藏

Power BI 去重函數(shù):數(shù)據(jù)清洗與精準分析的核心工具

在企業(yè)數(shù)據(jù)分析流程中,數(shù)據(jù)質(zhì)量直接決定分析結(jié)果的可靠性。Power BI 作為主流的商業(yè)智能工具,其內(nèi)置的去重函數(shù)是解決數(shù)據(jù)重復問題、保障數(shù)據(jù)準確性的關鍵手段。無論是銷售數(shù)據(jù)中的重復訂單記錄,還是客戶數(shù)據(jù)中的冗余信息,合理運用去重函數(shù)都能幫助分析師剔除 “數(shù)據(jù)噪音”,為后續(xù)的統(tǒng)計分析、可視化呈現(xiàn)奠定堅實基礎。本文將系統(tǒng)解析 Power BI 中常用的去重函數(shù),結(jié)合實際業(yè)務場景說明其應用方法與價值。

一、去重函數(shù)的核心價值:從 “重復數(shù)據(jù)” 到 “精準洞察”

數(shù)據(jù)重復是企業(yè)數(shù)據(jù)采集與整合過程中的常見問題,可能源于系統(tǒng)對接漏洞(如電商平臺訂單重復同步)、人工錄入失誤(如客戶信息多次錄入)或數(shù)據(jù)合并偏差(如多表關聯(lián)時產(chǎn)生的笛卡爾積)。若不及時處理,重復數(shù)據(jù)會導致嚴重后果:例如,統(tǒng)計月度銷售額時,重復訂單會虛增業(yè)績數(shù)據(jù);計算客戶數(shù)量時,冗余客戶記錄會高估用戶規(guī)模,最終誤導業(yè)務決策。

Power BI 的去重函數(shù)通過精準識別并剔除重復數(shù)據(jù),實現(xiàn)三大核心價值:一是保障數(shù)據(jù)準確性,確保分析指標(如銷量、客戶數(shù))真實反映業(yè)務實際;二是提升分析效率,減少冗余數(shù)據(jù)對計算性能的消耗,避免報表加載延遲;三是優(yōu)化數(shù)據(jù)模型,精簡數(shù)據(jù)集規(guī)模,讓數(shù)據(jù)關聯(lián)邏輯更清晰。例如,某零售企業(yè)的銷售數(shù)據(jù)表中存在 15% 的重復訂單記錄,通過去重函數(shù)處理后,月度銷售額統(tǒng)計誤差從 20% 降至 1%,為庫存規(guī)劃與業(yè)績考核提供了可靠依據(jù)。

二、Power BI 常用去重函數(shù)解析:功能、語法與場景

Power BI 的去重函數(shù)主要分布在 DAX(數(shù)據(jù)分析表達式)語言中,根據(jù)應用場景可分為 “獲取唯一值”“統(tǒng)計唯一值數(shù)量” 兩大類,其中最常用的包括DISTINCTVALUES、DISTINCTCOUNTDISTINCTCOUNTNOBLANK,四類函數(shù)各有側(cè)重,需結(jié)合業(yè)務需求靈活選擇。

(一)DISTINCT:提取列或表中的唯一值

DISTINCT是 Power BI 中最基礎的去重函數(shù),核心功能是從指定列或表中返回不包含重復值的結(jié)果集,支持單列去重與多列組合去重,返回結(jié)果為表類型,常作為后續(xù)計算的數(shù)據(jù)源。

1. 語法結(jié)構(gòu)

  • 單列去重:DISTINCT(<列名>)

  • 多列組合去重:DISTINCT(<表名>)(需確保表中指定列的組合無重復)

2. 應用場景

適用于需要獲取唯一數(shù)據(jù)列表的場景,如提取 “唯一客戶 ID”“唯一產(chǎn)品類別” 等。例如,在電商客戶數(shù)據(jù)分析中,若 “客戶信息表” 包含重復的客戶 ID 記錄,可通過DISTINCT('客戶信息表'[客戶ID])生成無重復的客戶 ID 列表,為后續(xù)計算 “活躍客戶數(shù)” 提供基礎數(shù)據(jù)。

3. 實操示例

假設某企業(yè) “銷售表” 中 “產(chǎn)品 ID” 列存在重復值,需提取唯一產(chǎn)品 ID:

唯一產(chǎn)品ID列表 = DISTINCT('銷售表'[產(chǎn)品ID])

執(zhí)行后將生成一個僅包含唯一產(chǎn)品 ID 的單列表格,若原 “產(chǎn)品 ID” 列有 1000 條記錄(含 200 條重復),則結(jié)果表僅保留 800 條唯一記錄。

(二)VALUES:兼顧唯一值與上下文的去重工具

VALUES函數(shù)與DISTINCT功能相似,均能返回列或表中的唯一值,但VALUES會受當前數(shù)據(jù)上下文影響,當列中存在空白值時,VALUES會保留空白值(DISTINCT同樣保留空白值),而在某些特殊上下文(如篩選器作用下),VALUES還能返回與上下文匹配的唯一值,靈活性更高。

1. 語法結(jié)構(gòu)

  • 單列:VALUES(<列名>)

  • 多列:VALUES(<表名>)

2. 應用場景

適合需要結(jié)合篩選上下文獲取唯一值的場景,如在 “按區(qū)域篩選” 的報表中,提取當前區(qū)域的唯一門店列表。例如,在零售連鎖企業(yè)的區(qū)域銷售報表中,通過VALUES('門店表'[門店名稱]),可在篩選 “華東區(qū)域” 時自動返回華東地區(qū)的唯一門店名稱,篩選 “華北區(qū)域” 時返回華北地區(qū)的唯一門店名稱,無需重復編寫去重公式。

3. 與DISTINCT的差異

二者核心差異體現(xiàn)在 “上下文敏感性”:DISTINCT僅基于指定列或表本身去重,不受外部篩選器影響;VALUES會響應外部篩選上下文。例如,若 “銷售表” 中 “區(qū)域” 列包含 “華東”“華北”,在無篩選時,DISTINCT('銷售表'[門店名稱])VALUES('銷售表'[門店名稱])結(jié)果一致;但當添加 “區(qū)域 = 華東” 篩選器后,VALUES僅返回華東區(qū)域的門店名稱,DISTINCT仍返回全部門店名稱(需結(jié)合篩選器額外處理)。

(三)DISTINCTCOUNT:統(tǒng)計唯一值的數(shù)量

DISTINCTCOUNT是統(tǒng)計類去重函數(shù),核心功能是計算指定列中唯一值的數(shù)量,返回結(jié)果為數(shù)值類型,直接用于生成關鍵業(yè)務指標(如 “唯一客戶數(shù)”“唯一訂單數(shù)”),是報表中最常用的去重統(tǒng)計工具。

1. 語法結(jié)構(gòu)

DISTINCTCOUNT(<列名>)

2. 應用場景

適用于需要量化唯一數(shù)據(jù)規(guī)模的場景,如計算 “月度新增唯一客戶數(shù)”“年度唯一產(chǎn)品銷量” 等。例如,某互聯(lián)網(wǎng)平臺的運營報表中,通過DISTINCTCOUNT('用戶行為表'[用戶ID])可快速統(tǒng)計每日的唯一活躍用戶數(shù)(UV),避免因同一用戶多次登錄導致的用戶數(shù)虛高。

3. 實操示例

某快消企業(yè)需統(tǒng)計 2024 年 Q1 的唯一經(jīng)銷商數(shù)量,“經(jīng)銷商銷售表” 中 “經(jīng)銷商 ID” 列存在重復(同一經(jīng)銷商多次發(fā)貨),公式如下:

2024Q1唯一經(jīng)銷商數(shù) =&#x20;

CALCULATE(

   DISTINCTCOUNT('經(jīng)銷商銷售表'[經(jīng)銷商ID]),

   '經(jīng)銷商銷售表'[銷售日期] >= DATE(2024,1,1),

   '經(jīng)銷商銷售表'[銷售日期] <= DATE(2024,3,31)

)

該公式通過CALCULATE添加時間篩選,結(jié)合DISTINCTCOUNT統(tǒng)計 Q1 期間的唯一經(jīng)銷商數(shù)量,若原表有 500 條經(jīng)銷商記錄(含 100 條重復),則結(jié)果為 400。

(四)DISTINCTCOUNTNOBLANK:排除空白值的唯一值統(tǒng)計

DISTINCTCOUNTNOBLANKDISTINCTCOUNT的補充函數(shù),功能為 “統(tǒng)計指定列中非空白的唯一值數(shù)量”,當列中存在空白值時,該函數(shù)會自動排除空白值后計算,避免空白值對統(tǒng)計結(jié)果的干擾。

1. 語法結(jié)構(gòu)

DISTINCTCOUNTNOBLANK(<列名>)

2. 應用場景

適用于列中存在空白值且需排除的統(tǒng)計場景,如 “客戶反饋表” 中 “反饋類型” 列存在空白值(部分客戶未填寫),統(tǒng)計 “唯一反饋類型數(shù)量” 時需排除空白值。例如,某企業(yè)的客戶滿意度調(diào)查中,“反饋類型” 列包含 “產(chǎn)品質(zhì)量”“服務態(tài)度”“價格問題” 及空白值,通過DISTINCTCOUNTNOBLANK('客戶反饋表'[反饋類型])可準確統(tǒng)計實際有效的反饋類型數(shù)量(排除空白值)。

3. 與DISTINCTCOUNT的差異

二者核心差異在于 “對空白值的處理”:DISTINCTCOUNT會將空白值視為一個 “唯一值” 計入統(tǒng)計;DISTINCTCOUNTNOBLANK會排除空白值。例如,若 “反饋類型” 列有 100 條記錄(含 20 條空白、80 條非空白且包含 3 種唯一類型),則DISTINCTCOUNT結(jié)果為 4(3 種類型 + 1 個空白),DISTINCTCOUNTNOBLANK結(jié)果為 3。

三、去重函數(shù)的實操流程:從數(shù)據(jù)導入到報表呈現(xiàn)

在 Power BI 中,去重函數(shù)的應用通常分為 “數(shù)據(jù)預處理(Power Query)” 與 “指標計算(DAX)” 兩個階段,需結(jié)合業(yè)務目標選擇合適的工具與函數(shù),以下以 “零售企業(yè)銷售數(shù)據(jù)去重” 為例,展示完整實操流程。

(一)步驟 1:數(shù)據(jù)導入與重復識別

  1. 打開 Power BI Desktop,通過 “獲取數(shù)據(jù)” 導入 “銷售數(shù)據(jù).xlsx”,包含 “訂單 ID”“產(chǎn)品 ID”“客戶 ID”“銷售金額”“銷售日期” 等字段

  2. 進入 “數(shù)據(jù)” 視圖,選中 “銷售表”,點擊 “開始” 選項卡中的 “刪除重復項” 下拉按鈕,選擇 “檢查重復項”,發(fā)現(xiàn) “訂單 ID” 列存在 120 條重復記錄(同一訂單多次錄入),“客戶 ID” 列存在 80 條重復記錄(同一客戶多次購買)。

(二)步驟 2:Power Query 預處理去重(批量去重)

若需對整列進行批量去重(如刪除重復訂單),可通過 Power Query 高效處理:

  1. 進入 “Power Query 編輯器”,選中 “訂單 ID” 列;

  2. 點擊 “主頁” 選項卡中的 “刪除重復項”,系統(tǒng)自動刪除 “訂單 ID” 重復的行,原 1000 行數(shù)據(jù)精簡為 880 行;

  3. 點擊 “關閉并上載”,將去重后的數(shù)據(jù)加載至 Power BI 數(shù)據(jù)模型。

(三)步驟 3:DAX 函數(shù)動態(tài)去重(按需統(tǒng)計)

若需基于篩選條件動態(tài)統(tǒng)計唯一值(如按月份統(tǒng)計唯一客戶數(shù)),使用 DAX 函數(shù)更靈活:

  1. 進入 “模型” 視圖,新建 “度量值”,命名為 “月度唯一客戶數(shù)”;

  2. 輸入公式:

月度唯一客戶數(shù) = DISTINCTCOUNT('銷售表'[客戶ID])
  1. 新建 “柱狀圖” 可視化,橫軸選擇 “銷售日期(按月)”,縱軸選擇 “月度唯一客戶數(shù)”,即可動態(tài)展示每月的唯一客戶數(shù)量,且不受重復客戶記錄影響。

(四)步驟 4:復雜場景去重(多列組合去重)

若需基于多列組合去重(如同一客戶在同一日期的重復購買記錄),使用DISTINCT函數(shù)構(gòu)建唯一表:

  1. 新建 “表”,命名為 “唯一客戶購買表”;

  2. 輸入公式:

唯一客戶購買表 = DISTINCT(SELECTCOLUMNS('銷售表'"客戶ID"'銷售表'[客戶ID], "銷售日期"'銷售表'[銷售日期], "購買金額"'銷售表'[銷售金額]))
  1. 該表自動保留 “客戶 ID + 銷售日期” 組合唯一的記錄,剔除同一客戶同日重復購買的冗余數(shù)據(jù),為 “客戶日均購買金額” 分析提供準確數(shù)據(jù)。

四、實戰(zhàn)案例:去重函數(shù)在銷售分析中的應用效果

某連鎖超市 2024 年 5 月銷售數(shù)據(jù)存在以下問題:“訂單表” 中因系統(tǒng)同步錯誤,存在 200 條重復訂單記錄,導致初步統(tǒng)計的 “月度銷售總額” 虛高 15 萬元,“月度唯一客戶數(shù)” 虛高 300 人。通過應用 Power BI 去重函數(shù),實現(xiàn)了數(shù)據(jù)精準分析,具體效果如下:

(一)問題解決:重復數(shù)據(jù)剔除

  1. 使用 Power Query 刪除 “訂單 ID” 重復的行,銷售數(shù)據(jù)從 1200 行精簡為 1000 行;

  2. 通過DISTINCTCOUNT('訂單表'[客戶ID])統(tǒng)計唯一客戶數(shù),從原統(tǒng)計的 1800 人修正為 1500 人,與實際會員系統(tǒng)數(shù)據(jù)一致。

(二)指標優(yōu)化:核心指標精準化

  1. 原 “月度銷售總額” 統(tǒng)計為 115 萬元,去重后修正為 100 萬元,誤差率從 15% 降至 0;

  2. 新建 “月度唯一訂單轉(zhuǎn)化率” 指標(公式:月度唯一訂單轉(zhuǎn)化率 = DISTINCTCOUNT('訂單表'[訂單ID])/DISTINCTCOUNT('訂單表'[客戶ID])),計算結(jié)果為 66.7%(1000 訂單 / 1500 客戶),準確反映 “人均下單次數(shù)”,為促銷活動效果評估提供依據(jù)。

(三)報表升級:動態(tài)可視化呈現(xiàn)

基于去重后的數(shù)據(jù),制作 “月度銷售分析儀表盤”:

  1. 折線圖展示 “每日唯一客戶數(shù)” 趨勢,清晰識別 5 月 15 日(促銷日)的客戶峰值;

  2. 卡片圖展示 “去重后銷售總額”“唯一訂單數(shù)”“唯一客戶數(shù)” 核心指標,支持管理層實時掌握業(yè)務真實情況。

五、使用去重函數(shù)的注意事項

  1. 區(qū)分 “物理去重” 與 “邏輯去重”:Power Query 的 “刪除重復項” 屬于物理去重(直接刪除重復行),適用于全量數(shù)據(jù)清洗;DAX 去重函數(shù)屬于邏輯去重(僅在計算時排除重復值),適用于動態(tài)統(tǒng)計,需根據(jù)業(yè)務需求選擇。

  2. 謹慎處理空白值:若列中存在空白值,需明確是否計入統(tǒng)計 —— 統(tǒng)計 “有效客戶數(shù)” 時用DISTINCTCOUNTNOBLANK排除空白,統(tǒng)計 “全量記錄唯一值” 時用DISTINCTCOUNT保留空白。

  3. 關注數(shù)據(jù)上下文VALUES函數(shù)受篩選器影響,在制作多維度報表時,需檢查篩選上下文是否正確,避免因上下文偏差導致的去重結(jié)果錯誤。

  4. 優(yōu)化性能:對千萬級以上的大表使用DISTINCTCOUNT時,建議先通過 Power Query 預處理去重,減少計算量;避免在同一報表中多次重復使用復雜去重公式,可通過新建 “計算表” 復用去重結(jié)果。

結(jié)語

Power BI 的去重函數(shù)是數(shù)據(jù)清洗與精準分析的 “利器”,從基礎的DISTINCT到統(tǒng)計專用的DISTINCTCOUNT,各類函數(shù)覆蓋了從 “數(shù)據(jù)預處理” 到 “指標計算” 的全流程需求。在數(shù)據(jù)驅(qū)動決策的時代,掌握去重函數(shù)的應用方法,不僅能提升數(shù)據(jù)質(zhì)量,更能讓分析結(jié)果真正貼合業(yè)務實際,為企業(yè)制定營銷策略、優(yōu)化運營效率提供可靠支撐。未來,隨著 Power BI 功能的升級,去重函數(shù)將與 AI 輔助分析、實時數(shù)據(jù)處理深度結(jié)合,進一步降低數(shù)據(jù)清洗門檻,釋放數(shù)據(jù)價值。

學習入口:https://edu.cda.cn/goods/show/3814?targetId=6587&preview=0

推薦學習書籍 《CDA一級教材》適合CDA一級考生備考,也適合業(yè)務及數(shù)據(jù)分析崗位的從業(yè)者提升自我。完整電子版已上線CDA網(wǎng)校,累計已有10萬+在讀~ !

免費加入閱讀:https://edu.cda.cn/goods/show/3151?targetId=5147&preview=0

數(shù)據(jù)分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個參數(shù)驗證碼對象,之后可以使用它調(diào)用相應的接口 initGeetest({ // 以下 4 個配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗服務器是否宕機 new_captcha: data.new_captcha, // 用于宕機時表示是新驗證碼的宕機 product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說明請參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計時完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }