filters-v2プロパティを使用したフィルタの受渡し
filters-v2プロパティを使用して、Oracle Analyticsコンテンツを埋め込むHTMLページにフィルタ値をプログラムで渡すことができます。 このオプションは、ワークブック全体を再ロードせずに、フィルタ値を埋込みコンテンツにただちに渡します。 このプロパティを使用して、任意のタイプのデータをフィルタできます。
filters-v2プロパティには、FilterControl JSONオブジェクトの配列が必要です。 この配列は、埋め込むタイプの既存のフィルタを含むワークブックから取得できます。 または、ワークブックで一時フィルタを作成して必要な配列を生成し、埋め込むために配列をコピーした後で、ワークブックからフィルタを削除できます。
詳細は、「フィルタについて」および「filters-v2プロパティのJSONオブジェクトの検索」を参照してください
filters-v2プロパティは、ワークブックにすでに存在するフィルタを変更できます。 フィルタがワークブックに存在しない場合は、このプロパティによって作成されます。
[
{
"filterID": "8e24a0b0-04d3-48d3-9a0e-eb8fba77739e",
"columnID": "P4Brand",
"type": "saw:columnFilterControl",
"filterControlConfig": {
"_version": "1.0.8",
"settings": {
"filterModelClassName": "obitech-listfilter/listfilter.ListFilterModel",
"location": "filter_bar"
}
},
"address": 0.0001,
"formula": {
"expr": {
"children": [
],
"type": "sawx:sqlExpression",
"expression": "\"A - Sample Sales\".\"Products\".\"P4 Brand\""
}
},
"filterOperator": {
"op": "in"
},
"filterControlDefaultValues": {
"children": [
{
"text": "FunPod"
}
],
"type": "specificValue"
},
"filterControlSource": {
"type": "saw:fcSpecificChoices",
"filterControlChoices": {
"children": [
{
"value": {
"text": "FunPod"
}
}
]
}
}
},
{
"filterID": "ef6c6429-9d64-481e-9bf8-da0b334c2fb8",
"columnID": "T05PerNameYear",
"type": "saw:columnFilterControl",
"filterControlConfig": {
"_version": "1.0.8",
"settings": {
"filterModelClassName": "obitech-listfilter/listfilter.ListFilterModel",
"location": "filter_bar"
}
},
"address": 0.0001,
"formula": {
"expr": {
"children": [
],
"type": "sawx:sqlExpression",
"expression": "\"A - Sample Sales\".\"Time\".\"T05 Per Name Year\""
}
},
"filterOperator": {
"op": "in"
},
"filterControlDefaultValues": {
"children": [
{
"text": "2009"
},
{
"text": "2010"
}
],
"type": "specificValue"
},
"filterControlSource": {
"type": "saw:fcSpecificChoices",
"filterControlChoices": {
"children": [
{
"value": {
"text": "2009"
}
},
{
"value": {
"text": "2010"
}
}
]
}
}
}
]
プロパティ - フィルタ・ペイロード内の各フィルタ・オブジェクトには次のプロパティが含まれている必要があります:
-
filterID: 一意のフィルタIDを指定します。 たとえば、"8e24a0b0-04d3-48d3-9a0e-eb8fba77739e"です。 -
address: この値は変更しないでください。 ワークブックからコピーしたJSONからエクスポートした値と同じ値を使用します。 -
filterOperator: フィルタ定義に値を含めるか除外するかを指定します。 値を含めるには、inを使用します。notInを使用して値を除外します。 -
filterControlDefaultValues: フィルタで使用される値を指定します。 これらは、埋込みコンテンツのフィルタ基準となる値です。 -
filterControlSource: 有効になっているfilterControlDefaultValuesをリストし、フィルタ選択リストに指定できるすべての値を指定します。 ワークブックのフィルタ・コントロールには、フィルタの値「選択」リストでワークブック作成者が無効にした選択済の値を含めることができます。たとえば、ワークブック・エディタでワークブックを開き、フィルタする列が「状態」で、選択したフィルタ値がAK、ALおよびARで、AK値が無効であるとします。
filterControlDefaultValuesにはALおよびARが含まれ(ただし、フィルタ選択リストで無効になっているためAKは含まれません)、filterControlSourceにはAK、ALおよびARが含まれます。
この例では、メジャー値に対して式フィルタを作成する方法を示し、売上を470000未満に制限します。
{
"filterID": "filter_sales",
"type": "saw:expressionFilterControl",
"label": {
"caption": {
"text": "Sales < 470000"
}
},
"expr": {
"type": "sawx:sql",
"expression": "XSA('<name>'.'Order Activity').\"Columns\".\"Sales\" < 470000"
},
"filterControlConfig": {
"_version": "1.0.8",
"settings": {
"filterModelClassName": "obitech-expressionfilter/expressionfilter.ExpressionFilterModel",
"location": "filter_bar"
}
}
}