埋込みOracle AnalyticsコンテンツのHTMLページにフィルタを渡す
数値フィルタおよびリスト・フィルタを、Oracle Analyticsコンテンツを埋め込むHTMLページに渡すことができます。 これらのフィルタ・タイプで任意のタイプのデータをフィルタできます。
フィルタ・ペイロードは、配列アイテムごとに1つのフィルタJavascriptオブジェクトを含むJavascript配列です。
この例では、projectのすべてのインスタンスが「ワークブック」を参照しています。 フィルタの適用中にワークブックをレンダリングすると、次のようになります:
<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属性で日付を指定します。-
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 letter month name> dd yyyy (たとえば、Mar 25 2015など。)
- dd <3 letter month name> yyyy (たとえば、25 Mar 2015。)
- 2011年9月30日05:30:00 GMT+0530 (インド標準時間)
- ISO日付書式 - 2011-10-05T14:48:00.000Z