跳至主要內容
Adaptive Planning
上次更新時間 :2023-06-23
範例︰計算銷售區最佳化距離

範例︰計算銷售區最佳化距離

了解銷售代表與其所在銷售區之間的距離會在指派銷售地區期間有所幫助。透過將代表指派到附近的銷售區,您就可以︰
  • 降低成本
  • 減少差旅時間
  • 縮短銷售週期
若要自動計算距離,請將銷售區和代表與郵遞區號維度值相關聯。然後,在郵遞區號說明欄位中提供地理座標。使用計算科目中的三角公式,產生郵遞區號之間的距離 (英里)。在模型工作表的顯示欄中顯示距離計算的結果。

Prerequisites

  • 安全性︰「模型」權限。
  • 取得銷售科目地區和銷售代表地點之郵遞區號的緯度和經度。多個線上來源提供郵遞區號座標。

導覽

Compass.png 從導覽功能表中,選取
建模
。

步驟

  1. 建立銷售科目郵遞區號的維度。
  2. 建立銷售代表郵遞區號的維度。
  3. 將計算新增至模型工作表︰
    1. 將維度新增至模型工作表。
    2. 建立模型計算科目。
    3. 新增距離的顯示欄。
  4. 檢視工作表以查看計算的距離。

建立銷售科目郵遞區號的維度

Compass.png 從建模功能表中,選取
維度
。
  1. 建立 AccountZipCode 維度,並在維度詳細資料中取消勾選
    清單維度
    。此維度必須是階層式。
  2. 建立與每個銷售科目郵遞區號的名稱完全相同的維度值。例如,如果郵遞區號為 11411,則將維度值命名為 11411。
  3. 在該維度值的「說明」欄位中輸入每個郵遞區號的座標。例如,郵遞區號 11411 的座標為
    40.694021,-73.736216.

建立銷售代表郵遞區號的維度

  1. 在維度詳細資料中建立 RepZipCode 維度並取消勾選
    清單維度
    。此維度必須是階層式。
  2. 建立與每個銷售代表郵遞區號的名稱完全相同的維度值。例如,如果郵遞區號為 11422,則將維度值命名為 11422。
  3. 在該維度值的「說明」欄位中輸入每個郵遞區號的座標。例如,郵遞區號 11422 的座標為
    40.66006,-73.736012.

將郵遞區號維度新增至工作表

Compass.png 從導覽路徑中選取
建模
。從「工作表」功能表中,選取
按使用者指派的工作表
或
按層級指派的工作表。
  1. 選取要包含距離計算的模型工作表旁邊的「編輯」連結。
  2. 選取
    欄和層級
    。
  3. 將銷售科目郵遞區號的
    AccountZipCode
    維度拖放到模型工作表建置器畫布
    。
  4. 將銷售代表郵遞區號的
    RepZipCode
    維度拖放到模型工作表建置器畫布中的 AccountZipCode 下方。
  5. 儲存工作表。

建立模型計算科目

此科目會評估您在說明欄位中提供的座標,從而計算兩個郵遞區號之間的距離。例如,評估兩組座標之間距離的一般公式需要 三角函數︰
ACOS( COS( RADIANS(90-Lat1)) *COS( RADIANS(90-Lat2)) +SIN( RADIANS(90-Lat1)) *SIN(RADIANS(90-Lat2)) *COS( RADIANS(Long1-Long2))) * 3958.756
Lat1
和
Long1
是第一個位置的緯度和經度,而
Lat2
和
Long2
用於第二個位置。郵遞區號的維度值在說明中包含緯度和經度座標。您在計算科目中需要的公式需要其他文字處理,才能從說明欄位中提取座標。
  1. 使用導覽路徑返回摘要。
  2. 選取
    模型科目
    。
  3. 從工具列中,按一下
    新建計算科目
    ,然後輸入科目詳細資料︰
    • 代碼︰距離
    • 名稱︰距離 (公尺)
    • 類型︰計算 (定期)
  4. 為科目提供以下資料類型設定︰
    • 顯示為︰數字
    • 公式︰
      acos( cos( radians(90- tonumber(substring(this.AccountZipCode.description,0,search(this.AccountZipCode.description,","))))) * cos(radians(90- tonumber(substring(this.RepZipCode.description,0,search(this.RepZipCode.description,","))))) + sin(radians(90- tonumber(substring(this.AccountZipCode.description,0,search(this.AccountZipCode.description,","))))) * sin(radians(90- tonumber(substring(this.RepZipCode.description,0,search(this.RepZipCode.description,","))))) * cos(radians( tonumber(substring(this.AccountZipCode.description,search(this.AccountZipCode.description,",")+1,99)) - tonumber(substring(this.RepZipCode.description,search(this.RepZipCode.description,",")+1,99)))) ) * 3958.756
    • 小數位數︰4
  5. 儲存科目。

新增距離的顯示欄

  1. 使用導覽路徑返回工作表摘要。
  2. 選取
    欄和層級
    。
  3. 從元素清單中,展開「顯示欄」。
  4. 將
    距離
    (公尺) 拖到正好位於 RepZipCode 維度下方的畫布中。
  5. 儲存。

檢視工作表以查看距離

從導覽功能表中,選取
工作表
,並開啟內含郵遞區號維度欄和顯示欄的工作表。距離 (公尺) 欄顯示銷售科目與銷售代表郵遞區號之間的距離。