文字與日期計量上的資料庫作業

您在具有日期測量的 Essbase 立方體上執行的一般作業類似於其他立方體。您可以載入、清除及匯出文字與日期值。您可以合併分級。您可以查詢 MDX、智慧型檢視報表撰寫程式或其他方格用戶端中的資料。

載入、清除及匯出文字與日期評量

將任何層級的 Essbase 類型測量值載入至 BSO 立方體,或將輸入層級載入至 ASO 立方體。對於 ASO,最好確認單一載入緩衝區,並指定取代選項。您可能需要以 #Txt: 標記作為字首,來區分文字或日期值與成員名稱。

若要將資料載入文字或日期測量,請遵循將資料載入具有數值測量之成員的相同程序。輸入資料應包含格式化的日期值,或與文字計量相關聯的文字清單物件對應的文字值。

如果您嘗試載入不存在於與該成員相關聯之文字清單物件中的文字值, Essbase 會發出警告訊息。

在聚總儲存 (ASO) 立方體中,只能在輸入層次載入值;此限制適用於文字和日期計量。在區塊儲存 (BSO) 立方體中,文字和日期值可以在任何層次載入。

您可以清除、鎖定和傳送和匯出文字或日期值,就像對數值執行這些作業一樣。

資料匯出與任意格式資料匯入中的文字評量格式

您可以載入含或不含規則檔案的文字或日期值。在任意格式資料載入中未使用規則檔案時,在某些情況下,您必須在成員名稱前面加上字串 #Txt:,並在前面加上雙引號和文字值,來區分文字或日期值與成員名稱;例如:"#Txt:Highly Satisfied"

附註:

整個字串 (包括前置碼) 都必須以引號括住。

以下是任意格式資料載入檔案中的資料行範例。當您從具有文字計量的聚總儲存立方體匯出資料時,也會設定資料匯出檔案的格式:

"100-10" "New York" "Cust Index" "#Txt:Highly Satisfied"

文字值 Highly Satisfied 是文字清單物件名稱,前面加上標記 #Txt:,以區分它與成員名稱 (例如「紐約」)。

#Txt: 前置碼也適用於載入日期計量、#Missing 值以及 #OutOfRange 值時。

匯出的文字計量會在匯出檔案中標示為 #Txt:,作為文字清單物件名稱前面的前置碼。範例:

"100-10" "New York" "Cust Index" "#Txt:Highly Satisfied"

使用不含規則檔案的任意格式資料載入,將文字計量重新匯入立方體時,需要使用 #Txt: 標記來區分文字清單物件名稱與其他資料。

載入文字和日期值的其他聚總儲存準則

將文字和日期值載入聚總儲存立方體時,請使用下列準則。這些準則將有助於消除無效的聚總。

  • 在輸入層次載入值。

  • 確認載入緩衝區時使用取代模式。

    若要在確認緩衝區時設定取代模式,請在 MaxL 中,使用 import data 陳述式的覆寫值文法。在 REST API 中,使用執行工作asoBufferCommit jobType,在確認緩衝區時將 termOption 指定為 INCR_TO_NEW_SLICE (或 1) (如需詳細資訊,請參閱 REST API 文件中的「建立緩衝區」端點)。在 Essbase Java API 中,使用 IEssCube.loadBufferTerm 方法的 commitType 參數。在 C API 中,使用 EssLoadBufferTerm 函數的 ulCommitType 欄位。

  • 使用單一載入緩衝區來載入與日期 / 文字測量相關聯的所有值。

  • 在初始化載入緩衝區時,將重複的聚總方法設為「最後使用」,以協助消除無效的聚總。

    警示:

    aggregate_use_last 方法對效能有重大影響,並不適用於大型資料載入。如果資料載入大於 100 萬個儲存格,請考慮將數值資料區隔成個別的資料載入程序 (來自任何輸入的計量資料)。個別資料載入可以改用 aggregate_sum。

    若要指定 MaxL 中的「使用最後一個」選項,請參閱 alter database 敘述句中 initialize load_buffer 子句的 PROPS 終端機。在 REST API 中,當您初始化緩衝區時,請將 duplicateAggregationMethod 指定為 USE_LAST (請參閱 REST API 文件中的「建立緩衝區」端點)。在 Essbase Java API 中,使用 IEssCube.loadBufferInit 方法的 duplicateAggregationMethod 參數。在 C API 中,使用 EssLoadBufferInit 函數的 ulDuplicateAggregationMethod 欄位。

  • 避免以增量資料載入模式將 #MISSING 值載入至文字 / 日期評量。將 #MISSING 值載入至增量載入中具有非缺少值的儲存格時,會以零值取代該值。零值的意義可能與日期 / 文字測量的 #MISSING 值不同。如果您需要將 #MISSING 值載入至日期 / 文字測量,請使用完整資料載入。

如果正在載入混合 (數值與文字或日期) 資料,請確定「取代」模式足以用於您的數值資料,或為數值資料建立個別的資料載入程序。

文字與日期評量的合併因子

依照預設,文字計量會被指派 ^ 運算子 (永不合併)。文字和日期測量不會與非 Accounts 維度的較高層級成員合併。如果計量用於分級,您可能會有理由在 Essbase BSO 立方體中合併文字計量。

如果您使用 ^ 以外的運算子標記文字或日期計量,它將會根據其內部數值與其他維度合併。不建議對聚總儲存立方體執行此動作,因為僅支援 + 運算子進行合併,且聚總值可能不會對文字或日期計量有任何有效性。此外, Essbase 在整合期間不會將超出範圍的值轉譯為 #OUTOFRANGE。

對於區塊儲存立方體,您可以撰寫以自訂方式合併文字測量的計算命令檔。當文字計量代表排名計量時,您可能會想要合併文字計量。例如,考慮名為 "CustomerSatisfaction" 的文字清單,其中包含 Excellent=5、Good=4、Fair=3、Poor=2、Bad=1 等對應。值會在層級 0 載入。您可以採用子項層次的平均值,將值合併至父項層次。例如,[Qtr1] 的 "CustomerSatisfaction" 值是 [Jan]、[Feb]、[Mar] 等值的平均值。

使用文字與日期評量來查詢資料

您可以使用 Essbase Web 介面中的 Smart View 、MDX、 Report Writer 或「分析」檢視,以與數值計量相同的方式擷取 / 查詢文字或日期計量。對應的儲存格會以適當的文字值或格式化的日期值顯示。

例如,下列 Smart View 方格來自「設施評等」立方體,您可以從「所有檔案」>「詳細目錄」>「應用程式」>「設施評等」下的「檔案」目錄下載。解答成員是 Measures 維度內的文字計量。


Smart View 方格顯示 Answers 文字計量,供使用者評比業務單位設施的商品;例如,User1/Cafeteria/No 意見。User1/Commute/Very 錯誤。使用者 1/ 會議室 / 米。

MDX 函數 ENUMVALUE 與計算函數 @ENUMVALUE 是專為取得文字計量的數值而設計。當您需要根據成員的數值而非其文字值來執行作業時,這些函數在 MDX 指令碼、計算指令碼或公式中很有用。

下列報表撰寫程式命令是設計來使用數值資料,且不支援文字或日期計量:

  • 限制

  • TOP

  • BOTTOM

  • SORT* 命令

  • 計算資料欄

  • 計算資料列

文字與日期評量限制

如果您更新文字清單物件,請將項目新增至頂端或底部,以避免 Essbase 大綱重組的潛在影響。共用成員的文字或日期類型與原型成員相同。

大綱重新建立不會重新建構文字清單。如果文字清單中數字與文字值的對應已變更,則變更會反映在資料庫中該文字清單的文字資料中。因此,將項目新增至文字清單時,請將它們新增至清單的頂端或底部,以避免變更現有文字清單項目的對應編號。

分割區不支援文字和日期計量。

共用成員和隱含的共用成員會繼承原型成員的文字或日期類型。