本ブログでは、SAP Analytics Cloudでストーリーからデータをエクスポートできるユーザーを権限によって制御したいといった要件に対し、SAP Analytics Cloudのスクリプトで実装する手順についてご紹介します。
SAP Analytics Cloudにおいて、ストーリーからのエクスポート機能に関して、デフォルトの設定では全ユーザーに対して同一のON/OFF制御しか適用できません。しかし、スクリプトによって作成したエクスポートボタンをユーザーの所属チーム情報を基に表示・非表示を切り替えることで、ユーザーごとにエクスポートを制御することが可能です。
今回はcsvファイルのエクスポートについて記述していますが、Excelファイル、PDFファイルに対しても同様な手順で行っていただけます。
※※ SAP Analytics Cloudは、四半期に1度のペースで製品のバージョンアップが実施されます。そのため今後のバージョンアップにより、本ブログで紹介する画面キャプチャや、操作が異なる可能性があることをご了承ください。(本ブログは2023年10月に作成しています。)
※※ こちらは最適化されたデザインモードでのみ実装が可能です。
SAP Analytics Cloudではスクリプト記述によってレポート操作に対するきめ細やかな制御を加え、機能拡張を行うことができます。詳細については以下のリンクからご覧ください。
スクリプト (最適化されたストーリーエクスペリエンスおよびアナリティクスデザイナ) | SAP Help Portal
またAPIリファレンスはこちらです:Optimized Story Experience API Reference Guide Version 2023.21 (sap.com)
実装手順は以下になります。
それぞれの手順についてご紹介します。
//samlplecode
ExportToCSV_1.exportReport();
「ExportToCSV_1」をご自身で作成したスクリプト「CSVにエクスポート」の名前に書き換えてください。
//samplecode
var teamInfo = Application.getTeamsInfo();
for(var i = 0; i < teamInfo.length; i++){
if(teamInfo[i].name === 'Team_ExportAuth'){
Button_1.setVisible(true);
}else{
Button_1.setVisible(false);
}
}
「Team_ExportAuth」をご自身で作成したチーム名に書き換えたください。
「Button_1」をご自身で作成したボタンの名前に書き換えてください。
チームではなくユーザーを指定の場合は以下のようになります。
//samplecode
var userInfo = Application.getuserInfo().id;
if(userInfo === '(ユーザのID)'){
Button_1.setVisible(true);
}else{
Buttone_1.setVisible(false);
}
以上になります。このようにスクリプトによって標準では用意されていない機能の拡張を簡単に行うことができます。是非ご利用ください。