Skip to Content
Technical Articles

SAP SuccessFactorsのビジネスコンテンツのインポートと接続

はじめに

このブログポストではSAP SuccessFactorsのビジネスコンテンツのインポートと接続を紹介します。また、このブログポストはこちらの英語ブログを元に記載をしています。

SAP Analytics Cloudのビジネスコンテンツの探し方やインストール手順はこちらをご参照ください。また、ビジネスコンテンツの利用については、合わせてこちらもご参照ください。

SAP SuccessFactorsのビジネスコンテンツのインポートは以下の手順で行います。

No タスク SAP Analytics Cloud SAP SuccessFactors
1 ビジネスコンテンツをインポートする
2 OAuth2のクライアントアプリケーションを登録する
3 SAP SuccessFactorsを接続する
4 公開ディメンジョンにマスタデータをインポートする
5 モデルにトランザクションデータをインポートする
6 データに合わせてコンテンツを修正する

 

  1. ビジネスコンテンツをインポートする

今回インポートするビジネスコンテンツはこちらです。以下がインポートするビジネスコンテンツの概要(ヘルプより抜粋)です。各ダッシュボード、モデル、ストーリーの詳細はヘルプをご参照ください。

本ブログでは、CI10で追加されたSAP SuccessFactorsのEmployee Central(EmpJob:職務情報)のデータインポート(以下の図の緑色部分)を説明します。(ヘルプ参照)。

 

SAP Analytics Cloudのコンテンツネットワークから該当のビジネスコンテンツを選択してインポートします。ヘルプにも記載がありますが、このビジネスコンテンツには簡体字中国語のコンテンツも提供されているので、注意してください。フォルダ自体がわかれているので、フォルダで区別は可能です。

今回はインポートオプションで「オブジェクトまたはデータを上書きしない」を選択し、コンテンツはすべて選択してインポートを実行します。

インポート結果はSAP Analytics Cloudの「通知」から確認することが可能です。今回はすでに存在するオブジェクトもあったため、警告で終了していますが、特に問題はありません。

ただし、接続「SAPSFSF」が一覧にない場合は、他のユーザがインポートを実施し、接続が共有されていない状態です。以下のKBAにしたがって、接続を共有してもらってください。さもないと、データのインポートジョブ実行時に権限不足でエラーとなります。

https://apps.support.sap.com/sap/support/knowledge/en/2327225

あるいは、インポート時に「オブジェクトとデータを上書きする」を選択し、「権限を含む」のフラグを設定してください。

各オブジェクトのインポート結果を確認する場合は、「完了済」をクリックします。ステータスが警告の場合は、カーソルを合わせることで内容を確認することが可能です。

以下がインポートされたストーリー「SAP__HR_GEN_HEADCOUNT」です。参照しているモデルがインポートモデルのため、サンプルデータが表示されています。

 

  • Overviewページ

Overviewページでは、現在の従業員数、現在(=2018年)の採用者数、現在(=2018年)の退職者数、国別の従業員数の地図チャート、時系列での採用者数チャート、前年(=2017年)から現在(=2018年)までの従業員数の増減チャート、チームごとの従業員数割合をレポートすることが可能です。

※詳細は「6.データに合わせてコンテンツを修正する」を参照していただきたいですが、ストーリー上で表示されているデータの一部はディメンジョンメンバーの式に固定の年度が定義されているため、データに合わせて修正する必要があります。

  • Current Headcountページ

Current Headcountページでは、従業員数を様々なディメンジョンで分析することが可能です。

 

  • Hires and Terminationsページ

Hires and Terminationsページでは、採用者や退職者を様々なディメンジョンで分析することが可能です。

 

  1. OAuthクライアントアプリケーションを登録する

次にSAP Analytics CloudとSAP SuccessFactorsを接続するために、SAP SuccessFactors側でOAuthクライアントアプリケーションを登録します(KBA)。SAP SuccessFactorsにログインし、管理センターから「OAuth2 クライアントアプリケーションの管理」ツールを選択します。「アプリケーション名」に任意のアプリケーション名を入力し、「アプリケーションURL」にSAP Analytics Cloudの情報を入力して、「X509証明書を生成」をクリックします。

 

主体者のCN(Common Name)を入力して「生成」をクリックします。

 

X509証明書が生成されるので、「ダウンロード」をクリックしてファイルをダウンロードします(ダウンロードしたファイルをSAP Analytics Cloudの接続登録時に使用します)。

「登録」をクリックすることにより、APIキーも生成されます(APIキーもSAP Analytics Cloudの接続登録時に使用します)。

以上でSAP SuccessFactors側の設定は終了です。

 

  1. SAP SuccessFactorsを接続する

ビジネスコンテンツのインポート時に登録された接続「SAPSFSF」をSAP SuccessFactors側で生成した情報で更新します。

接続に必要な情報を入力し、「OK」をクリックします。

項目 内容
接続名 「SAPSFSF」固定
テキスト 任意のテキストを入力します。
サービスURL こちらからSAP SuccessFactorsの環境を探し、該当のAPIサーバのURLをサービスURLとして入力します。
ユーザID SAP SuccessFactorsにログインするユーザIDを入力します。
APIキー SAP SuccessFactorsで生成されたAPIキーを入力します。
秘密鍵 SAP SuccessFactorsで生成し、ダウンロードしたファイル「Certificate.pem」を選択します。
会社ID SAP SuccessFactorsの会社IDを入力します。

 

以上で、SAP Analytics CloudとSAP SuccessFactorsの接続は終了です。

 

  1. 公開ディメンジョンにマスタデータをインポートする

接続したSAP SuccessFactorsから公開ディメンジョンにマスタデータをインポートします。

以下では、公開ディメンジョン「SAP_HR_GEN_USER」を例に説明します。ブラウズ>ディメンジョンから「SAP_HR_GEN_USER」を選択し、「データ管理」を選択します。事前定義のインポートジョブが定義されているのがわかります。

事前定義されているインポートジョブを選択し、「リフレッシュ」をクリックします。

もし以下のエラーが発生した場合は、接続「SAPSFSF」に対する権限がありません。

“You do not have rights to import this data”

“You do not have access to view/edit/update this datasource”

 

詳細は以下のKBAを参照してください。

https://apps.support.sap.com/sap/support/knowledge/en/2756571

https://apps.support.sap.com/sap/support/knowledge/en/2938074

 

上記エラーが発生した場合は、インポートを実行したユーザに接続を共有してもらうか、「権限を含む」オプションで接続を再インポートしてください。(「1.ビジネスコンテンツをインポートする」を参照してください。)

 

提供されているビジネスコンテンツとデータソースのスキーマ構造が異なる場合、リフレッシュ時にエラーが発生します。

その場合は「ディメンジョンからクエリをコピー」する形で新規のインポートジョブを登録してください。

データソースの項目とディメンジョンをマッピングして、「マッピングを終了」をクリックします。

インポートジョブが正常終了したことを確認します。今回の場合はデータに問題があったため、警告終了となっています。

以下の公開ディメンジョンについても、同じようにインポートジョブを実行して、データをインポートします。

ディメンジョン技術名称 ディメンジョン名 備考
SAP_ALL_BUSINESSAREA Business Area
SAP_ALL_COSTCENTER Cost Center
SAP_HR_USER_DEPARTMENT Department
SAP_HR_USER_DIVISION Division
SAP_HR_EMPLSTATUS Employment Status
SAP_HR_USER_ETHNICITY Ethnicity
SAP_HR_USER_FUTURELEADER FutureLeader True/Falseのみなので、インポート不要
SAP_HR_USER_GENDER Gender 男女以外なければ、インポート不要
SAP_HR_USER_LOSSIMPACT Impact of Loss
SAP_HR_ISCONTINGENT Is Contingent Worker True/Falseのみ、インポート不要
SAP_HR_USER_ISFULLTIME Fulltime True/Falseのみ、インポート不要
SAP_HR_USER_JOBCLASSIFICATION Job Classification
SAP_HR_LOCATION_COUNTRY Location
SAP_HR_USER_ISNEWTOPOSITION NewToPosition True/Falseのみ、インポート不要
SAP_HR_USER_PAYGRADE Pay Grade
SAP_HR_USER_PERFORMANCE Performance
SAP_HR_USER_POTENTIAL Potential
SAP_HR_USER_REASONFORLEAVING Reason For Leaving
SAP_HR_SENIORITYSTARTDATE Seniority Start Date 日付項目の加工とマッピングを参照
SAP_HR_TERMINATIONDATE Termination Date 日付項目の加工とマッピングを参照
SAP_ALL_COMPANY_CODE Company Code

 

日付項目の加工とマッピング

データソースの「勤続年数開始日」、「離職日」のデータが「YYYY-MM-DD HH:MM:SS」のため、以下のように加工してマッピングします。データソースからインポートした項目ではマッピングが不足しているので、マッピングする際に以下の加工をする必要があります(ヘルプのNote1のTime Handling)。

 

以下では「勤続年数開始日(SENIORITYSTARTDATE)」を加工して、ディメンジョンの項目にマッピングします。

  • 「YYYY-MM-DD HH:MM:SS」から「YYYY-MM-DD」を抽出して「Seniority Start Date」にマッピング

データソースの項目「YYYY-MM-DD HH:MM:SS」から「YYYY-MM-DD」のみを抽出するために、「スマート変換」から「最初の”00:00:00”の前にある・・・」を選択します。

 

  • 「YYYY-MM-DD HH:MM:SS」から「YYYY」、「MM」を抽出して「YEAR」、「Month」にマッピング

データソースの項目「YYYY-MM-DD HH:MM:SS」から「YYYY」、「MM」のみを抽出するために、列を複製して「-」で項目を分割します。以下のように繰り返しを利用することで、1回の処理で「YYYY」、「MM」を抽出することが可能です。

上記で作成した列をディメンジョンマッピングで適切な項目にマッピングします。

ディメンジョン項目 マッピングする列
ディメンジョンID 「YYYY-MM-DD」の列
Month 「MM」の列
Year 「YYYY」の列

 

「離職日(TERMINATIONDATE)」も同様の加工とマッピングを行います。

 

  1. モデルにトランザクションデータをインポートする

公開ディメンジョンにマスタデータをインポートした後に、接続したSAP SuccessFactorsからモデルにトランザクションデータをインポートします。事前定義のインポートジョブがエラーとなることがあります(ノート参照)。本ブログでは、モデルからクエリをコピーして、データをインポートする方法を説明します。

モデル「SAP__HR_GEN_IM_EC_HEADCOUNT」にデータをインポートするために、モデルからクエリをコピーして新規のインポートジョブを登録してください。

 

モデルクエリに含まれている項目は以下の26項目です。

テーブル名称 項目名称 技術名称
職務情報 専従換算 Fte
職務情報 フルタイム従業員 IsFulltimeEmployee
雇用詳細 入社日 EmploymentNav/startDate
雇用詳細 勤務年数開始日 EmploymentNav/seniorityDate
雇用詳細 離職日 EmploymentNav/endDate
雇用詳細 臨時雇用 EmploymentNav/isContingentWorker
User パフォーマンス userNav/performance
User ポテンシャル userNav/potential
User 生年月日 userNav/dateOfBirth
User ユーザID userNav/userid
User 性別 userNav/gender
User 民族性 userNav/ethnicity
User 退職時の影響 userNav/impactOfLoss
User 退職理由 userNav/reasonForLeaving
User 次世代リーダー候補 userNav/futureLeader
User 着任直後 userNav/newToPosition
コストセンター コード costcenterNav/externalCode
事業単位 事業単位コード businessUnitNav/externalCode
事業所 コード locationNav/externalCode
事業部 コード divisionNav/externalCode
法人 companyNav/country
法人 法人ID companyNav/externalCode
従業員ステータス external code EmplStatusNav/externalCode
給与等級 給与等級ID payGradeNav/externalCode
職務分類 職位コード jobCodeNav/externalCode
部署 コード departmentNav/externalCode

上記クエリからインポートした項目ではマッピングが不足しているので、マッピングする際に以下の加工をする必要があります(ヘルプのNote1のTime Handling)。

 

日付項目の加工とマッピング

データソースの「勤続年数開始日」、「入社日」、「生年月日」、「離職日」が「YYYY-MM-DD HH:MM:SS」のため、以下のように加工してマッピングします。

 

以下では、「勤続年数開始日」を加工して、モデルの項目にマッピングします。

  • 「YYYY-MM-DD HH:MM:SS」から「YYYY-MM-DD」を抽出して「Seniority Start Date」にマッピング

データソースの項目「YYYY-MM-DD HH:MM:SS」から「YYYY-MM-DD」のみを抽出するために、「スマート変換」から「最初の”00:00:00”の前にある・・・」を選択します。

選択した結果、スマート変換で「YYYY-MM-DD」が抽出された新しい列が生成されます。

 

上記で作成した列を「Seniority Start Date」にマッピングします。

  • 「YYYY-MM-DD HH:MM:SS」を「YYYY」、「MM」、「DD HH:MM:SS」に分割

「YYYY-MM-DD HH:MM:SS」の列を「スマート変換」を利用して加工します。

上記で作成した「YYYY」をメジャーの「勤続年(Seniority YEAR)」にマッピングします。

「入社日」、「生年月日」、「離職日」についても同様の加工を行い、ディメンジョンやメジャーの項目にマッピングを行います。

 

ストーリー「SAP__HR_GEN_HEADCOUNT」のデータが更新されていることがわかります(サンプルデータはモデルのファクトから削除しています)。

  1. データに合わせてコンテンツを修正する

ビジネスコンテンツでは「Account」ディメンジョンで式が事前定義されているので、インポートしたデータに合わせて修正します。特にサンプルデータに合わせて年度が固定で定義されている部分は修正が必要です。

以下のメンバーについては、式に年度が固定で定義されている(太字部分)ので、修正が必要かどうかを確認してください。

メンバーID
AvgAge IF(ISNULL([BIRTHYEAR]),NULL, 2018-[BIRTHYEAR] )
FTEEOP2017 RESTRICT([FTE],[d/HIREDATE].[p/YEAR]!=”2018” and [d/SAP_HR_TERMINATIONDATE].[p/Year]=(“2018“,”Unassigned”))
HCEOP2017 RESTRICT([Count],[d/HIREDATE].[p/YEAR]!=”2018” and [d/SAP_HR_TERMINATIONDATE].[p/Year]=(“2018“,”Unassigned”))
Hires2017 RESTRICT([Count] ,[d/HIREDATE].[p/YEAR] =  “2017” )
HiresCY RESTRICT([Count] ,[d/HIREDATE].[p/YEAR] =”2018” )
Seniority IF([d/SAP_HR_SENIORITYSTARTDATE]=”#”, [Tenure], IF([d/SAP_HR_TERMINATIONDATE]=”#”, 2018-[SENIORITYSTARTYEAR], [TERMINATIONYEAR]-[SENIORITYSTARTYEAR] ) )
Tenure IF([d/SAP_HR_TERMINATIONDATE]=”#”, 2018-[HIREYEAR], [TERMINATIONYEAR]-[HIREYEAR] )
Terminations2017 RESTRICT([Count] ,[d/SAP_HR_TERMINATIONDATE].[p/Year] = “2017“)
TerminationsCY RESTRICT([Count] ,[d/SAP_HR_TERMINATIONDATE].[p/Year] =  “2018” )

 

まとめ

本ブログでは、CI10で追加されたSAP SuccessFactorsのEmployee Central(EmpJob:職務情報)に関連するSAP Analytics CloudのビジネスコンテンツのインポートやSAP SuccessFactorsとの接続、さらにデータのインポートやディメンジョンの調整について説明しました。

テンプレートを活用することで、比較的簡易にSAP SuccessFactorsのデータをSAP Analytics Cloudにインポートして分析することが可能だとお判りいただけたと思います。ビジネスコンテンツを参考にして、SAP Analytics CloudでSAP SuccessFactorsの分析をご検討いただければ幸いです。

 

Be the first to leave a comment
You must be Logged on to comment or reply to a post.