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

熱線電話:13121318867

登錄
首頁大數(shù)據(jù)時(shí)代【CDA干貨】PowerBI 累計(jì)曲線制作指南:從 DAX 度量到可視化落地
【CDA干貨】PowerBI 累計(jì)曲線制作指南:從 DAX 度量到可視化落地
2025-08-15
收藏

PowerBI 累計(jì)曲線制作指南:從 DAX 度量到可視化落地

在業(yè)務(wù)數(shù)據(jù)分析中,“累計(jì)趨勢(shì)” 是衡量業(yè)務(wù)進(jìn)展的核心視角 —— 無論是 “年度銷售額累計(jì)達(dá)成情況”“月度用戶增長(zhǎng)累計(jì)規(guī)模”,還是 “區(qū)域業(yè)績(jī)累計(jì)排名”,累計(jì)曲線都能直觀呈現(xiàn)數(shù)據(jù)隨時(shí)間的疊加變化,幫助決策者快速判斷目標(biāo)完成進(jìn)度、識(shí)別增長(zhǎng)拐點(diǎn)。作為主流的商業(yè)智能工具,PowerBI 通過 “DAX 度量值 + 可視化圖表” 的組合,可靈活實(shí)現(xiàn)各類場(chǎng)景的累計(jì)曲線制作。本文將從業(yè)務(wù)價(jià)值出發(fā),分步驟講解累計(jì)曲線的制作邏輯、核心 DAX 公式、可視化配置及實(shí)戰(zhàn)技巧,讓新手也能快速上手。

一、為什么需要累計(jì)曲線?—— 業(yè)務(wù)場(chǎng)景與核心價(jià)值

累計(jì)曲線(又稱 “累積折線圖”)的核心是 “將某一指標(biāo)按時(shí)間維度(或其他維度)逐步疊加,形成連續(xù)的趨勢(shì)線”,其區(qū)別于普通折線圖的關(guān)鍵在于 “數(shù)據(jù)的累加性”。在實(shí)際業(yè)務(wù)中,累計(jì)曲線的應(yīng)用場(chǎng)景極為廣泛,核心價(jià)值體現(xiàn)在三方面:

1. 直觀展示目標(biāo)達(dá)成進(jìn)度

例如企業(yè)年度銷售額目標(biāo) 1000 萬,通過 “月度銷售額累計(jì)曲線”,可實(shí)時(shí)查看 “截至 3 月累計(jì)完成 300 萬”“截至 6 月累計(jì)完成 580 萬”,快速判斷是否偏離目標(biāo)節(jié)奏(如 6 月累計(jì)未達(dá) 50% 目標(biāo),則需調(diào)整下半年策略)。

2. 捕捉長(zhǎng)期增長(zhǎng)趨勢(shì)

普通折線圖反映 “單周期數(shù)據(jù)波動(dòng)”(如某月銷售額驟降),而累計(jì)曲線更側(cè)重 “長(zhǎng)期疊加效果”—— 例如用戶增長(zhǎng)中,某月新增用戶雖減少,但累計(jì)用戶仍持續(xù)上升,說明業(yè)務(wù)基本面未惡化,避免因短期波動(dòng)誤判趨勢(shì)。

3. 支持多維度對(duì)比分析

可同時(shí)展示多個(gè)維度的累計(jì)趨勢(shì)(如 “華東 / 華北 / 華南區(qū)域累計(jì)銷售額對(duì)比”),快速識(shí)別頭部區(qū)域與滯后區(qū)域,為資源傾斜提供數(shù)據(jù)依據(jù)。

二、制作前的準(zhǔn)備:數(shù)據(jù)與工具基礎(chǔ)

在 PowerBI 中制作累計(jì)曲線,需滿足兩個(gè)核心前提:規(guī)范的數(shù)據(jù)模型正確的日期表配置。若數(shù)據(jù)準(zhǔn)備不充分,后續(xù)易出現(xiàn) “累計(jì)數(shù)據(jù)錯(cuò)誤”“日期篩選失效” 等問題。

(一)核心數(shù)據(jù)要求

需至少包含兩類數(shù)據(jù)表格,且建立正確的關(guān)系:

  1. 業(yè)務(wù)數(shù)據(jù)表:含 “待累計(jì)指標(biāo)” 與 “時(shí)間字段”,例如 “銷售數(shù)據(jù)表” 需包含 “銷售額”(待累計(jì)指標(biāo))、“訂單日期”(時(shí)間字段),若需分組累計(jì)(如按區(qū)域),還需包含 “區(qū)域” 字段。
訂單 ID 訂單日期 銷售額(元) 區(qū)域
OD2025001 2025-01-05 2800 華東
OD2025002 2025-01-12 1500 華北
OD2025003 2025-02-03 3200 華東
  1. 獨(dú)立日期表:這是 PowerBI 制作時(shí)間序列累計(jì)曲線的 “關(guān)鍵”。若直接使用業(yè)務(wù)表中的 “訂單日期”,易因日期不連續(xù)(如周末無訂單導(dǎo)致日期缺失)出現(xiàn)曲線斷裂;而獨(dú)立日期表可覆蓋完整時(shí)間范圍,確保累計(jì)趨勢(shì)連貫。

(二)創(chuàng)建獨(dú)立日期表(必做步驟)

通過 DAX 公式生成包含 “年、月、日、季度” 等維度的日期表,并標(biāo)記為 “日期表”(PowerBI 時(shí)間智能函數(shù)的前提):

// DAX公式:創(chuàng)建2025年完整日期表

日期表 =

ADDCOLUMNS(

   // 生成2025年1月1日至2025年12月31日的連續(xù)日期

   CALENDAR(DATE(2025,1,1), DATE(2025,12,31)),

   "年份", YEAR([日期]),  // 提取年份(如2025)

   "年月", FORMAT([日期], "YYYY-MM"),  // 格式化年月(如2025-01)

   "季度""Q"&FORMAT([日期], "Q"),  // 提取季度(如Q1)

   "月份序號(hào)", MONTH([日期])  // 月份序號(hào)(1-12,用于排序)

)

關(guān)鍵操作:生成日期表后,右鍵點(diǎn)擊表格 → 選擇 “標(biāo)記為日期表” → “標(biāo)記為日期表”,確保 PowerBI 識(shí)別其為時(shí)間維度表。

(三)建立表關(guān)系

在 “模型” 視圖中,將 “業(yè)務(wù)數(shù)據(jù)表” 的 “訂單日期” 與 “日期表” 的 “日期” 字段建立 “一對(duì)多” 關(guān)系(業(yè)務(wù)表為 “多”,日期表為 “一”),確保篩選器可通過日期表聯(lián)動(dòng)業(yè)務(wù)數(shù)據(jù)。

三、核心步驟:分場(chǎng)景制作累計(jì)曲線

PowerBI 中累計(jì)曲線的核心是 “編寫累計(jì) DAX 度量值”,再通過折線圖可視化。根據(jù)業(yè)務(wù)需求,可分為 “基礎(chǔ)單指標(biāo)累計(jì)”“多維度分組累計(jì)”“動(dòng)態(tài)篩選累計(jì)” 三類場(chǎng)景,以下逐一詳解。

(一)場(chǎng)景 1:基礎(chǔ)單指標(biāo)累計(jì)(如月度銷售額累計(jì))

適用于 “單一指標(biāo)按時(shí)間累計(jì)” 的場(chǎng)景,例如 “2025 年各月銷售額累計(jì)”,核心是通過 DAX 的CALCULATE+FILTER函數(shù)實(shí)現(xiàn) “截至當(dāng)前時(shí)間的指標(biāo)累加”。

步驟 1:編寫 “累計(jì)銷售額” DAX 度量值

// 基礎(chǔ)累計(jì)度量值:截至當(dāng)前日期的銷售額累計(jì)

累計(jì)銷售額(基礎(chǔ)版) =

CALCULATE(

   SUM('銷售數(shù)據(jù)表'[銷售額(元)]),  // 待累計(jì)的指標(biāo)(求和銷售額)

   FILTER(

       ALL('日期表'[日期]),  // 忽略日期表中“日期”字段的篩選器(確保累計(jì)范圍完整)

       '日期表'[日期] <= MAX('日期表'[日期])  // 篩選“小于等于當(dāng)前最大日期”的數(shù)據(jù)(實(shí)現(xiàn)累計(jì))

   )

)

公式解析

  • SUM('銷售數(shù)據(jù)表'[銷售額(元)]):計(jì)算目標(biāo)指標(biāo)(銷售額)的總和;

  • ALL('日期表'[日期]):清除 “日期” 字段的默認(rèn)篩選(如頁面篩選的 “2025-03”,確保累計(jì)從年初開始);

  • '日期表'[日期] <= MAX('日期表'[日期]):對(duì)日期進(jìn)行范圍篩選,僅保留 “截至當(dāng)前行最大日期” 的數(shù)據(jù)(如當(dāng)前行日期為 2025-03-31,則累計(jì) 1-3 月數(shù)據(jù))。

步驟 2:配置折線圖可視化

  1. 點(diǎn)擊左側(cè) “可視化” 面板中的 “折線圖”;

  2. X 軸:拖入 “日期表” 的 “年月” 字段(確保時(shí)間順序正確,可通過 “月份序號(hào)” 排序);

  3. Y 軸:拖入剛創(chuàng)建的 “累計(jì)銷售額(基礎(chǔ)版)” 度量值;

  4. 優(yōu)化配置

  • 點(diǎn)擊 “格式” → “數(shù)據(jù)標(biāo)簽” → 開啟 “數(shù)據(jù)標(biāo)簽”,直觀顯示每個(gè)月的累計(jì)金額;

  • 調(diào)整 “線條顏色”“粗細(xì)”,提升圖表可讀性;

  • 若 X 軸 “年月” 顯示擁擠,可設(shè)置 “角度” 為 - 45°(格式 → X 軸 → 文本角度)。

效果示例:

年月 累計(jì)銷售額(元)
2025-01 4300
2025-02 7500
2025-03 12100
折線圖將呈現(xiàn)從 1 月到 12 月逐步上升的累計(jì)趨勢(shì),清晰展示銷售額疊加效果。

(二)場(chǎng)景 2:多維度分組累計(jì)(如區(qū)域 + 時(shí)間累計(jì))

適用于 “按維度對(duì)比累計(jì)趨勢(shì)” 的場(chǎng)景,例如 “華東、華北、華南區(qū)域 2025 年銷售額累計(jì)對(duì)比”,核心是在基礎(chǔ) DAX 公式中保留 “分組維度” 的篩選器。

步驟 1:修改 DAX 度量值(保留分組篩選)

基礎(chǔ)版度量值中ALL('日期表'[日期])僅清除 “日期” 篩選,若需保留 “區(qū)域” 篩選(如僅累計(jì)華東區(qū)域數(shù)據(jù)),需調(diào)整為ALLSELECTED('日期表'[日期])(保留其他維度的篩選器):

// 分組累計(jì)度量值:支持區(qū)域等維度篩選

累計(jì)銷售額(分組版) =

CALCULATE(

   SUM('銷售數(shù)據(jù)表'[銷售額(元)]),

   FILTER(

       ALLSELECTED('日期表'[日期]),  // 保留除日期外的其他篩選器(如區(qū)域、產(chǎn)品)

       '日期表'[日期] <= MAX('日期表'[日期])

   )

)

關(guān)鍵差異ALLSELECTED vs ALL

  • ALL:清除指定字段的所有篩選(如僅清除日期篩選,保留區(qū)域篩選);

  • ALLSELECTED:保留用戶手動(dòng)設(shè)置的篩選器(如切片器選擇的 “華東 + 華北”),更適合多維度對(duì)比場(chǎng)景。

步驟 2:配置分組累計(jì)折線圖

  1. 新建折線圖,X 軸仍用 “日期表” 的 “年月”;

  2. Y 軸拖入 “累計(jì)銷售額(分組版)”;

  3. 圖例:拖入 “銷售數(shù)據(jù)表” 的 “區(qū)域” 字段(自動(dòng)按區(qū)域生成多條累計(jì)曲線);

  4. 交互優(yōu)化:添加 “區(qū)域” 切片器,用戶可自由選擇需對(duì)比的區(qū)域(如僅看華東和華南),折線圖會(huì)實(shí)時(shí)更新。

效果示例:

折線圖將顯示 3 條曲線,分別對(duì)應(yīng)華東、華北、華南區(qū)域的累計(jì)銷售額趨勢(shì),可直觀對(duì)比 “華東累計(jì)始終領(lǐng)先”“華北 3 月后增速加快” 等差異。

(三)場(chǎng)景 3:動(dòng)態(tài)篩選累計(jì)(如截至當(dāng)前篩選日期的累計(jì))

適用于 “需根據(jù)用戶篩選動(dòng)態(tài)更新累計(jì)范圍” 的場(chǎng)景,例如 “通過日期切片器選擇‘2025-01 至 2025-06’,累計(jì)曲線僅顯示該時(shí)間段內(nèi)的累計(jì)”,核心是利用MAX('日期表'[日期])響應(yīng)篩選器。

步驟 1:復(fù)用分組版度量值

動(dòng)態(tài)累計(jì)無需修改 DAX 公式,分組版度量值ALLSELECTED('日期表'[日期])已支持響應(yīng)日期篩選器,例如:

  • 當(dāng)用戶通過切片器選擇 “2025-02 至 2025-04”,MAX('日期表'[日期])會(huì)變?yōu)?2025-04-30,累計(jì)范圍自動(dòng)調(diào)整為 2-4 月;

  • 若選擇 “2025-05-10” 單個(gè)日期,累計(jì)范圍為 “截至 5 月 10 日的所有數(shù)據(jù)”。

步驟 2:添加日期切片器

  1. 點(diǎn)擊 “可視化” 面板中的 “切片器”;

  2. 拖入 “日期表” 的 “日期” 字段,設(shè)置切片器類型為 “介于”(支持選擇日期范圍);

  3. 測(cè)試交互:選擇 “2025-03-01 至 2025-05-31”,折線圖的累計(jì)曲線將從 3 月開始,截至 5 月結(jié)束,動(dòng)態(tài)匹配篩選范圍。

四、實(shí)戰(zhàn)案例:年度銷售額累計(jì)與目標(biāo)對(duì)比

結(jié)合實(shí)際業(yè)務(wù)需求,在累計(jì)曲線基礎(chǔ)上添加 “目標(biāo)線”,形成 “實(shí)際累計(jì) vs 目標(biāo)累計(jì)” 的對(duì)比圖表,幫助判斷目標(biāo)達(dá)成情況。

步驟 1:添加目標(biāo)數(shù)據(jù)

假設(shè)企業(yè) 2025 年每月銷售額目標(biāo)為 5000 元,年度目標(biāo) 60000 元,可通過 “新建表” 錄入目標(biāo)數(shù)據(jù):

// 新建銷售額目標(biāo)表

銷售額目標(biāo)表 =

DATATABLE(

   "年月", STRING, "月度目標(biāo)(元)", INTEGER,

   {

       {"2025-01", 5000}, {"2025-02", 5000}, {"2025-03", 5000},

       {"2025-04", 5000}, {"2025-05", 5000}, {"2025-06", 5000},

       {"2025-07", 5000}, {"2025-08", 5000}, {"2025-09", 5000},

       {"2025-10", 5000}, {"2025-11", 5000}, {"2025-12", 5000}

   }

)

建立 “銷售額目標(biāo)表” 與 “日期表” 的關(guān)系(通過 “年月” 字段關(guān)聯(lián))。

步驟 2:編寫 “累計(jì)目標(biāo)” 度量值

// 累計(jì)目標(biāo)度量值

累計(jì)銷售額目標(biāo) =

CALCULATE(

   SUM('銷售額目標(biāo)表'[月度目標(biāo)(元)]),

   FILTER(

       ALLSELECTED('日期表'[年月]),

       '日期表'[年月] <= MAX('日期表'[年月])

   )

)

步驟 3:配置對(duì)比折線圖

  1. 折線圖 X 軸:“日期表”[年月];

  2. Y 軸:添加 “累計(jì)銷售額(分組版)” 和 “累計(jì)銷售額目標(biāo)” 兩個(gè)度量值;

  3. 圖例:自動(dòng)顯示 “累計(jì)銷售額(分組版)”“累計(jì)銷售額目標(biāo)”,可重命名為 “實(shí)際累計(jì)”“目標(biāo)累計(jì)”;

  4. 格式優(yōu)化:將 “目標(biāo)累計(jì)” 線條設(shè)置為 “虛線”,顏色改為紅色,與 “實(shí)際累計(jì)” 的藍(lán)色實(shí)線形成對(duì)比。

效果分析:

  • 若 “實(shí)際累計(jì)” 曲線在 “目標(biāo)累計(jì)” 上方(如 3 月實(shí)際累計(jì) 12100 元,目標(biāo)累計(jì) 15000 元 → 未達(dá)標(biāo));

  • 若 6 月實(shí)際累計(jì) 32000 元,目標(biāo)累計(jì) 30000 元 → 超額達(dá)標(biāo),可通過數(shù)據(jù)標(biāo)簽直觀查看差額。

五、常見問題與解決方案

在制作累計(jì)曲線時(shí),新手易遇到 “數(shù)據(jù)錯(cuò)誤”“圖表異?!?等問題,以下是高頻問題的排查方法:

1. 累計(jì)數(shù)據(jù)重復(fù)或翻倍

原因:業(yè)務(wù)數(shù)據(jù)表存在重復(fù)行(如同一訂單被多次錄入),或表關(guān)系設(shè)置錯(cuò)誤(如 “多對(duì)多” 關(guān)系)。

解決方案

  • 檢查業(yè)務(wù)數(shù)據(jù):通過 “表格可視化” 展示原始數(shù)據(jù),排查重復(fù)行(可使用DISTINCTCOUNT('銷售數(shù)據(jù)表'[訂單ID])驗(yàn)證訂單唯一性);

  • 修正表關(guān)系:確保 “日期表” 與 “業(yè)務(wù)表” 為 “一對(duì)多” 關(guān)系(日期表為 “一”,業(yè)務(wù)表為 “多”),避免 “多對(duì)多” 關(guān)系導(dǎo)致的重復(fù)計(jì)算。

2. 累計(jì)曲線不連續(xù)(有斷點(diǎn))

原因:未使用獨(dú)立日期表,直接用業(yè)務(wù)表的 “訂單日期”(如周末無訂單,日期缺失導(dǎo)致斷點(diǎn))。

解決方案

  • 刪除業(yè)務(wù)表的 “訂單日期”,改用獨(dú)立 “日期表” 的 “日期” 字段;

  • 確保日期表覆蓋完整時(shí)間范圍(如全年 365 天),無日期缺失。

3. 分組累計(jì)時(shí)部分維度無數(shù)據(jù)

原因FILTER函數(shù)中誤清除了分組維度的篩選器(如用ALL('日期表')而非ALL('日期表'[日期]),清除了日期表的所有字段篩選)。

解決方案

  • 調(diào)整 DAX 公式:僅清除 “日期” 字段的篩選,保留其他字段(如ALL('日期表'[日期])而非ALL('日期表'));

  • 檢查篩選器:確保分組維度(如 “區(qū)域”)未被頁面篩選器或視覺篩選器隱藏。

六、最佳實(shí)踐與優(yōu)化技巧

1. 優(yōu)先使用時(shí)間智能函數(shù)簡(jiǎn)化 DAX

對(duì)于按年、季、月的累計(jì),可使用 PowerBI 的時(shí)間智能函數(shù)(如TOTALYTD/TOTALQTD/TOTALMTD)簡(jiǎn)化公式,減少手動(dòng)編寫FILTER的復(fù)雜度:

// 按年度累計(jì)(時(shí)間智能函數(shù)版)

累計(jì)銷售額(年度) = TOTALYTD(SUM('銷售數(shù)據(jù)表'[銷售額(元)]), '日期表'[日期])

// 按季度累計(jì)(時(shí)間智能函數(shù)版)

累計(jì)銷售額(季度) = TOTALQTD(SUM('銷售數(shù)據(jù)表'[銷售額(元)]), '日期表'[日期])

優(yōu)勢(shì)TOTALYTD自動(dòng)識(shí)別 “年度” 范圍,無需手動(dòng)篩選 “小于等于當(dāng)前日期”,公式更簡(jiǎn)潔。

2. 命名度量值時(shí)明確業(yè)務(wù)含義

避免使用 “累計(jì) 1”“銷售額 2” 等模糊命名,建議按 “指標(biāo) + 維度 + 場(chǎng)景” 命名,例如:

  • “累計(jì)銷售額(區(qū)域?qū)Ρ劝妫保?/p>

  • “累計(jì)用戶數(shù)(年度目標(biāo)對(duì)比)”,方便團(tuán)隊(duì)協(xié)作時(shí)快速理解度量值用途。

3. 控制累計(jì)指標(biāo)的粒度

根據(jù)業(yè)務(wù)需求選擇合適的時(shí)間粒度(日、周、月、季):

  • 業(yè)務(wù)監(jiān)控(如日?qǐng)?bào)):用 “日” 粒度累計(jì);

  • 戰(zhàn)略復(fù)盤(如季報(bào)):用 “月” 或 “季” 粒度累計(jì),避免粒度過細(xì)導(dǎo)致圖表擁擠。

4. 添加動(dòng)態(tài)參考線

除了目標(biāo)線,還可添加 “平均值線”“達(dá)標(biāo)線(如目標(biāo) 80%)”,幫助更全面分析:

  • 點(diǎn)擊折線圖 → “分析” → “參考線” → “添加”;

  • 選擇 “Y 軸”,設(shè)置參考線類型(如 “固定值”“平均值”),例如設(shè)置 “固定值” 為 40000(年度目標(biāo)的 66.7%),直觀判斷是否達(dá)成年中目標(biāo)。

七、結(jié)語

PowerBI 制作累計(jì)曲線的核心并非復(fù)雜的可視化操作,而是對(duì) “累計(jì)邏輯的 DAX 實(shí)現(xiàn)” 與 “數(shù)據(jù)模型的合理設(shè)計(jì)”—— 獨(dú)立日期表是基礎(chǔ),正確的 DAX 度量值是核心,場(chǎng)景化的可視化配置是關(guān)鍵。無論是單指標(biāo)累計(jì)、多維度對(duì)比,還是動(dòng)態(tài)篩選,只要掌握 “數(shù)據(jù)準(zhǔn)備→DAX 編寫→可視化配置” 的流程,結(jié)合時(shí)間智能函數(shù)與實(shí)戰(zhàn)技巧,就能快速制作出貼合業(yè)務(wù)需求的累計(jì)曲線。

在實(shí)際應(yīng)用中,累計(jì)曲線并非孤立存在,可結(jié)合切片器、卡片圖、表格等組件,構(gòu)建完整的 “業(yè)務(wù)進(jìn)度監(jiān)控儀表盤”(如 “年度銷售額累計(jì)儀表盤” 包含累計(jì)曲線、目標(biāo)達(dá)成率卡片、區(qū)域排名表格),讓數(shù)據(jù)更直觀地支撐決策。對(duì)于新手而言,建議從基礎(chǔ)單指標(biāo)累計(jì)入手,逐步嘗試分組累計(jì)與目標(biāo)對(duì)比,通過反復(fù)調(diào)試 DAX 公式與可視化配置,熟練掌握累計(jì)曲線的制作方法。

若你在實(shí)操中遇到具體問題(如某類數(shù)據(jù)的累計(jì)公式編寫、特定場(chǎng)景的圖表優(yōu)化),可提供詳細(xì)的業(yè)務(wù)場(chǎng)景與數(shù)據(jù)結(jié)構(gòu),我會(huì)進(jìn)一步給出針對(duì)性解決方案。

學(xué)習(xí)入口:https://edu.cda.cn/goods/show/3814?targetId=6587&preview=0

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

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

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

若不方便掃碼,搜微信號(hào):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(), // 加隨機(jī)數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進(jìn)行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個(gè)參數(shù)驗(yàn)證碼對(duì)象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個(gè)配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺(tái)檢測(cè)極驗(yàn)服務(wù)器是否宕機(jī) new_captcha: data.new_captcha, // 用于宕機(jī)時(shí)表示是新驗(yàn)證碼的宕機(jī) product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說明請(qǐng)參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計(jì)時(shí)完成 $(".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 = '請(qǐng)輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請(qǐng)輸入正確的'+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); }