ワークを検索するその他の方法
PegaのGet Next Work機能は、注意が必要なアサインメントを取得する方法として最も使用されています。 Get Next Workは、短時間での顧客対応を想定しており、ワークにはオペレーターのスキルマッチングが必要な場合があります。 Get Next Workは、エラーを含むアサインメントやロックされたケースに関連するアサインメントを返さないため、貴重な時間を節約できます。
Get Next Workは、SLA(サービスレベルアグリーメント)のルール設定と密接に関連しています。 サービスレベルのルールでは、目標、期限、期限切れのマイルストーンを設定し、その時点で緊急度を高めることができます。
アサインメントのpxGoalTimeとpxDeadlineTimeは、初期値から調整でき、 調整にはpxAdjustSLATimes APIアクティビティを使用します。 アサインメントの期限を調整するのは、単にpxUrgencyAssignの値の増加を早めたり遅くしたりするためではなく、特定の理由がある場合です。 この方法の欠点は、頻繁に期限を変更すると、アサインメントレベルのレポートに影響を及ぼすことです。
SLA時間の調整、pxUrgencyAssignの調整、またはその両方を行うため、頻繁にアサインメントを再永続化すると、システムのパフォーマンスに影響を及ぼす可能性があります。
先入先出法(FIFO)
状況判断とGet Next Workのカスタマイズ方法に関する説明を思い出してください。 ワークバスケットアサインメントのpxCreateDateTimeプロパティが、セカンダリーの並べ替えではなく、プライマリーの並べ替えとして使用されているとします。 このような要件が存在している可能性があるのは、最も古いワークバスケットアサインメントを最初に処理しようとするワークグループです。これを先入先出法(FIFO)といいます。 pyGetWorkBasketレポートディフィニッションは、D_WorkBasketリストデータページの背後にあり、ワークバスケットアサインメントを表示するために使用されますが、これは、デフォルトで使用されるpxUrgencyAssignの降順の並べ替えではなく、pxCreateDateTimeの昇順の並べ替えを使用するように修正できます。
pxUrgencyAssignの値は、@CurrentDateTime()とワークキューアサインメントの作成を考慮することで、リバースエンジニアリングにより事後的に導き出すことができます。 pxUrgencyAssign の値は、UIに表示されるまで計算する必要はありません。
共通のサブケースの期限
Claimケースで、顧客固有のSLA期限までの期間があるとします。 この期間は、各ClaimケースのpxCreateDateTimeに追加され、ケースの期限のDateTimeが設定されます。
そのケースのClaimUnitサブケースはすべて、親Claimケースの期限までに完了する必要があります。 しかし、ClaimUnitケースタイプによって、平均所要時間は異なります。 効率化を図るため、各ClaimUnitタイプの平均所要時間をノードレベルのデータページで利用可能にすることができます。
ワークキューにスピンオフされたClaimUnitは、そのpxGoalTime DateTimeプロパティを、@CurrentDateTime + (顧客期限 - 平均所要時間)と計算できます。 ここで、pxGoalTme はDateTimeを表します。 ClaimUnitはそのワークキューから取得され、ワークの完了に十分な所要時間を確保できるようになります。
Assign-WorkBaset GetNextWork ListViewの状況設定バージョンでは、pxUrgencyAssignの降順の並べ替えを使用するのではなく、pxGoalTimeの昇順の並べ替えを実行できます。 pyGetWorkBasketレポートディフィニッションの状況設定バージョンでも、pxGoalTimeの昇順の並べ替えを実行できます。
また、pxUrgencyAssignのルールデクレアエクスプレッションも、状況設定できます。 次の例は、pxUrgencyAssignが、datetimeプロパティに基づいてその値をリバースエンジニアリングする方法を示しています。
pxUrgencyAssign = min(100, 100 * ((CurrentDateTime – pxCreateDateTime) / (pxGoalTime - pxCreateDateTime)))
式中: CaseDeadlineDateTime = CaseCreateDateTime + CustomerSLA
(Assign-)
および: pxGoalTime = CaseDeadlineDateTime – CaseAvgTimeToComplete
分子と分母の時間単位は、分、時間、日のいずれであっても相殺され、無単位比になることに注意してください。 CurrentDateTime = pxGoalTimeの場合は、上記の式において、pxUrgencyAssignの値は100になることがわかると思います。 ここで選択した100という数字は任意です。 80など、どの係数を使用しても構いません。 設定可能な値として定義できます。
pxUrgencyに割り当てられた値を100に切り捨てても、Get Next Workクエリーとワークキューアサインメントリストクエリーの両方が、pxUrgencyAssignの降順ではなく、pxGoalTime
の昇順で並べ替えられていれば、問題はありません。 同じレポートディフィニッションを両方の目的に使用することは可能です。
Location
緊急度が、時間ではなく、距離などの他の要素で判断される場合もあります。 たとえば、シャトルバスの運転手であれば、次のアサインメントは現在地から近い場所にしたいこともあるでしょう。 FSG Bookingアプリケーションソリューションでは、シャトルバスの運転手の位置情報を利用して、イベント参加者が送迎を待っている最寄りのホテルや駐車場を特定します。
Bookingアプリケーションは、SQLコネクターを呼び出して距離を計算します。 Pegaが提供するGetNextWorkの実装に、SQLコネクターの呼び出しを組み込むことは困難です。 さらに、Get Next Workアクションを呼び出せるようにするには、Pegaポータルにアクセスする必要があります。 ブラウザーリクエスターの代わりにアプリケーションリクエスターを使用するRESTサービスの呼び出しなど、別の方法でPegaにアクセスできます。
Open assignmentアクション
ボタンをクリックするアクションをOpen assignmentとして設定できます。このアクションには、アサインメントのpzInsKeyが必要ですが、 Assign-WorkBasketデータページにpzInsKeyの入力を求めることができます。
Assign-WorkBasketデータページでは、レポートディフィニッションを呼び出すことができます。 レポートディフィニッションは、pyErrorMessageがNullでないアサインメントを除外できます。 クエリー後のデータトランスフォームは、ワークバスケットの関連するケースがロックされているかどうかを確認し、それをスキップして次のアサインメントに移ることができます。 スキルマッチングは、Index-OperatorSkillsに結合されているIndex-AssignmentSkillsに対して定義されたサブレポートを使用して実行できます。
スキル指定ワークキューリストからの起動
Get Next Work以外の機能を選択して、ToSkilledWorkBasketアクティビティを使用してワークがルーティングされたスキル指定ワークキューからアサインメントを取得することもできます。
施設コーディネーターポータルに、Parkingケースのアサインメントを表示するUIPagesビューがあるとします。 そのペルソナが駐車スキルを持っていない限り、そのビューには何も表示されません。
このビューは、D_WorkBasketをソースとするワークキューリストに似ています。 違いは、レポートディフィニッションにはアサインメントとオペレーターのスキルを考慮する必要があることです。 次のコードは、これを実行するための擬似SQLです。
Main Report:
Parkingワークキューアサインメントリスト(D_WorkBasketと同様)
JOIN to FSG-Booking-Work-Parking (CASE) WHERE pxRefObjectKey = CASE.pzInsKey
Filters:
pxRequiredSkillCount = COUNT(rows in subreport)
Subreport:
Index-AssignmentSkills JOIN to Index-OperatorSkills (OPSKILL) WHERE pxRequiredSkill = true AND pxSkillName = OPSKILL.pxSkillName
Subreport filters:
pxInsIndexedKey = (main report) pzInsKey pxSKillRating <= OPSKILL.pxSKillRating OPSKILL.pyUserIdentifier = OperatorID.pyUserIdentifier
このトピックは、下記のモジュールにも含まれています。
- ワークアサインメント v2