埋め込まれたOracle Analyticsコンテンツ用のHTMLページにフィルタを渡す
Oracle Analyticsコンテンツを埋め込むHTMLページに、数値フィルタとリスト・フィルタを渡すことが可能です。これらのフィルタ・タイプで任意のタイプのデータをフィルタできます。
フィルタのペイロードは、配列項目ごとに1つのフィルタのJavascriptオブジェクトを含むJavascript配列です。
この例では、projectのすべてのインスタンスはworkbookを指します。フィルタ適用時のワークブックのレンダリングは次のとおりです:
<oracle-dv project-path="{{projectPath}}" filters="{{filters}}">
</oracle-dv>
<script>
requirejs(['knockout', 'ojs/ojcore', 'ojs/ojknockout', 'ojs/ojcomposite', 'jet-composites/oracle-dv/loader'], function(ko) {
function MyProject() {
var self = this;
self.projectPath = ko.observable("/users/weblogic/EmbeddingStory");
self.filters = ko.observableArray([{
"sColFormula": "\"A - Sample Sales\".\"Products\".\"P2 Product Type\"",
"sColName": "P2 Product Type",
"sOperator": "in", /* One of in, notIn, between, less, lessOrEqual, greater, greaterOrEqual */
"isNumericCol": false,
"bIsDoubleColumn": false,
"aCodeValues": [],
"aDisplayValues": ['Audio', 'Camera', 'LCD']
},{
"sColFormula": "\"A - Sample Sales\".\"Base Facts\".\"1- Revenue\"",
"sColName": "Rev",
"sOperator": "between", /* One of in, notIn, between, less, lessOrEqual, greater, greaterOrEqual */
"isNumericCol": true,
"bIsDoubleColumn": false,
"aCodeValues": [],
"aDisplayValues": [0, 2400000] /* Because the operator is "between", this results in values between 0 and 2400000 *
/
}]);
}
ko.applyBindings(MyProject);
});
</script>
-
sColFormula
: フィルタする列の3つの部分の式を指定します。列式には3つの部分が含まれている必要があります。式が不明な場合は、その列を使用するワークブックを作成し、「ビジュアル化」タブで、ワークブックの「メニュー」をクリックして、「開発者」をクリックします。「開発者」ページで、「JSON」タブをクリックして列の式を表示します。たとえば、
sColFormula": "\"A - Sample Sales\".\"Base Facts\".\"1- Revenue\""
。「開発者」オプションがワークブックの「メニュー」に表示されていない場合は、そのオプションを有効にする必要があります。Oracle Analytics開発者オプションの有効化を参照してください。
-
sColName
: (必須)この列の一意の名前を指定します。 -
sOperator
:in
、notIn
、between
、less
、lessOrEqual
、greater
またはgreaterOrEqual
を使用します。in
およびnotIn
- リスト・フィルタに適用します。between
、less
、lessOrEqual
、greater
およびgreaterOrEqual
- 数値フィルタに適用します。
-
isNumericCol
: フィルタが数値とリストのどちらであるかを指定します。値はtrue
またはfalse
である必要があります。 isDateCol
: (必須)列が日付列かどうかを示します。値はtrue
またはfalse
である必要があります。列が日付であるが、年、月、四半期などではない場合は、true
を使用します。true
に設定した場合は、aDisplayValues
属性で1つ以上の日付を指定します。-
bIsDoubleColumn
: 列内の表示値の後ろに二重列値があるかどうかを指定します。値はtrue
またはfalse
である必要があります。 -
aCodeValues
:bIsDoubleColumn
がtrue
である場合、この配列を使用します。 bHonorEmptyFilter
: (オプション)空のフィルタ(たとえば、bIsDoubleColumn
フラグに基づく空のaCodeValues/aDisplayValues
)が優先されるかどうかを示します。この属性は、リスト・フィルタ、数値範囲フィルタ、日付範囲フィルタのすべての列フィルタに適用されます。値はtrue
またはfalse
である必要があります。true
に設定し、ユーザーが空のaCodeValues/aDisplayValues
を渡した場合、すべての値はフィルタに含まれます。false
に設定し、ユーザーが空のaCodeValues/aDisplayValues
を渡した場合、属性は適用されず、フィルタ値に変更はありません。- この属性が存在しない場合、デフォルト値は
false
です。
-
aDisplayValues
:bIsDoubleColumn
がfalse
である場合、この配列を使用してユーザー・インタフェース内の値がフィルタおよび表示されます。bIsDoubleColumn
がtrue
である場合、この配列の値はユーザー・インタフェースでの表示に使用されますが、aCodeValues
の値はフィルタリングに使用されます。bIsDoubleColumn
がtrue
である場合、この配列にはaCodeValues
配列内と同じ数のエントリが存在する必要があり、値が整列している必要があります。たとえば、aCodeValues
に2つの値1
と2
があると、aDisplayValues
には2つの値a
とb
が必要になり、ここで1
はa
のコード値で、2
はb
のコード値です。isDateCol
属性がtrue
に設定されている場合、日付を使用してaDisplayValues
配列を指定します。タイムスタンプにタイムゾーンがないか、またはタイムスタンプが指定されていない場合は、時間はローカル・タイムゾーンを使用して設定されます。次の書式のいずれかを使用します。- mm/dd/yyyy (たとえば、12/31/2011)
- yyyy-mm-dd (たとえば、2011-12-31)
- yyyy/mm/dd (たとえば、2011/12/31)
- mm/dd/yyyyまたはyyyy/mm/dd、hh:mm:ss (たとえば、12/31/2011または2011/12/31、23:23:00)。
ノート: 24時間の書式を使用してください。スペースをセパレータとして使用できます。
- mm/dd/yyyyまたはyyyy/mm/dd、hh:mm:ss AM/PM (たとえば、12/31/2011または2011/12/31、11:23:00 PM)。
ノート: 12時間の書式を使用してください。スペースをセパレータとして使用できます。
- <3文字の月名> dd yyyy (たとえば、Mar 25 2015)
- dd <3文字の月名> yyyy (たとえば、25 Mar 2015)
- Fri Sep 30 2011 05:30:00 GMT+0530 (インド標準時)
- ISO日付書式 - 2011-10-05T14:48:00.000Z