模型計算的作業順序 - IBM

文章推薦指數: 80 %
投票人數:10人

「利潤」是對利潤率的計算: Margin = (Revenue - Product cost) / Revenue. 如果使用「訂單明細」事實執行查詢以顯示每一個產品的「收入」、「生產成本」和「利潤」, ... 模型計算的作業順序 在某些情況下(通常指與比率相關的計算),先對計算條件執行聚集再進行數學運算會非常有用。

例如,下列「訂單明細」事實包含每一個訂單的相關資訊: 「利潤」是對利潤率的計算: Margin=(Revenue-Productcost)/Revenue 如果使用「訂單明細」事實執行查詢以顯示每一個產品的「收入」、「生產成本」和「利潤」,則會取得下列結果: 產品編號 收入 生產成本 利潤 1 $23,057,141 $11,292,005 61038% 2 $11,333,518 $6,607,904 49606% 請注意「利潤」值似乎是錯誤的。

這是因為計算「利潤」時使用的運算順序所造成。

「利潤」計算為: Margin=sum((Revenue-Productcost)/Revenue) 聚集是在進行數學運算之後執行,在此情況下,產生了不想要的結果。

若要產生希望的「利潤」值,我們需要在進行數學運算之前執行聚集: Margin=(sum(Revenue)-sum(Productcost))/sum(Revenue) 這會產生下列結果: 產品編號 收入 生產成本 利潤 1 $23,057.141 $11,292,005 51.03% 2 $11,333,518 $6,607,904 41.70% 您可以在IBM®Cognos®FrameworkManager中,透過為「利潤」建立獨立計算,並將其一般聚集內容設定為已計算來達成此目的。

計算表示式中的每一個查詢項目,都會依在其一般聚集內容中的指定進行聚集。

將「收入」和「生產成本」的一般聚集內容設定為總和,由此在執行計算時,會將總和用來聚集那些項目。

註:計算的聚集類型不支援內嵌在查詢主題中的計算。

它只支援單獨計算,以及內嵌在測量維度中且根據來自相同測量維度的測量的計算。

例如,考量內嵌在「銷售」測量維度中的「利潤」計算: 在此範例中,「利潤」是根據相同測量維度「銷售」中的「生產成本」測量和「收入」測量。

如果將「利潤」的一般聚集內容設定為已計算,則其累積更新方式為: Margin=sum(Revenue-Productcost)/sum(Revenue) 如果「利潤」是根據「生產成本」測量和「收入」測量(Sales(Sales).Productcost,Sales(model).Revenue)的來源查詢項目,則計算的聚集不受支援並且會自動進行聚集行為。

在此種情況下,「利潤」的累積更新方式為: Margin=sum(Revenue-Productcost)/Revenue) 如需相關資訊,請參閱修改查詢項目的聚集方式。

上層主題:模型設計FAQ



請為這篇文章評分?