傳送篩選至內嵌之 Oracle Analytics 內容的 HTML 頁面

您可以傳送數值和清單篩選條件至內嵌 Oracle Analytics 內容的 HTML 頁面。您可以使用這些篩選條件類型,篩選任何類型的資料。

篩選有效負載是一個 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:指定要篩選資料欄的三部分公式。資料欄公式必須包含三個部分。

    如果您不確定公式,請建立一個使用該資料欄的工作簿,然後在視覺化頁籤中,按一下工作簿的功能表,再按一下開發人員。在開發人員頁面中,按一下 JSON 頁籤以檢視資料欄的表示式。例如 sColFormula": "\"A - Sample Sales\".\"Base Facts\".\"1- Revenue\""

    如果工作簿的功能表中未顯示開發人員選項,則需要啟用此選項。請參閱啟用 Oracle Analytics 開發人員選項

  • sColName:(必要) 指定此資料欄的唯一名稱。

  • sOperator:使用 innotInbetweenlesslessOrEqualgreatergreaterOrEqual
    • innotIn - 適用於清單篩選條件。
    • betweenlesslessOrEqualgreatergreaterOrEqual - 適用於數值篩選。
  • isNumericCol:指定篩選是數值還是清單。值必須是 truefalse

  • isDateCol:(必要) 指出資料欄是否為日期資料欄。值必須是 truefalse。資料欄如果是日期,請使用 true,但不適用於年、月、季等。若設為 true,則請在 aDisplayValues 屬性中指定日期。
  • bIsDoubleColumn:指定資料欄在顯示值後端是否含有雙資料欄值。值必須是 truefalse

  • aCodeValuesbIsDoubleColumn 若為 true,就使用此陣列。

  • bHonorEmptyFilter:(選擇性) 指出是否要採用空的篩選 (例如,根據 bIsDoubleColumn 旗標之空的 aCodeValues/aDisplayValues)。此屬性適用於所有資料欄篩選條件:清單篩選條件、數字範圍篩選條件,以及日期範圍篩選條件。值必須是 truefalse
    • 若設為 true 且使用者傳送空的 aCodeValues/aDisplayValues,那麼所有值都會成為篩選條件的一部分。
    • 若設為 false 且使用者傳送空的 aCodeValues/aDisplayValues,則不會套用屬性,篩選條件值將不會有任何變更。
    • 如果此屬性不存在,則預設值為 false
  • aDisplayValuesbIsDoubleColumn 若為 false,就使用此陣列在使用者介面內進行篩選並顯示值。

    bIsDoubleColumn 若為 true,就使用此陣列中的值作為使用者介面的顯示值,但使用 aCodeValues 中的值進行篩選。bIsDoubleColumn 若為 true,此陣列中的項目數必須與 aCodeValues 陣列中的項目數相同,而且值必須依序排列。例如,假設 aCodeValues12 這兩個值,則 aDisplayValues 就必須有 ab 這兩個值,其中 1a 的程式碼值,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