0
我正在嘗試編寫一個olap4j(Mondrian)查詢,該查詢將按範圍對行進行分組。 假設我們有每個孩子和孩子年齡的卡片數量。 我想根據年齡範圍來計算卡的數量,所以我會計算年齡0-5,5-10,10-15等等。 這可以用olap4j完成嗎?olap4J - 計算成員分組
我正在嘗試編寫一個olap4j(Mondrian)查詢,該查詢將按範圍對行進行分組。 假設我們有每個孩子和孩子年齡的卡片數量。 我想根據年齡範圍來計算卡的數量,所以我會計算年齡0-5,5-10,10-15等等。 這可以用olap4j完成嗎?olap4J - 計算成員分組
您需要定義計算成員爲:
With member [Age].[0-4] as [Age].[0]:[Age].[4]
member [Age].[5-9] as [Age].[5]:[Age].[9]
等
或者,你可能要重新設計你的維度表。我猜你的年齡在事實表中是退化的維度。我建議創建一個單獨的維度dim_age像這樣的結構:
age_id, age, age_group
0, null, null
1, 0, 0-4
2, 1, 0-4
(...)
然後可以很容易地定義基於該AGE_GROUP尺寸的第一級。
是的,這是一個不錯的想法,但我的範圍大小是動態的。因此,預先定義表格中的範圍不會起到訣竅的作用。 – 2014-10-22 07:20:06
在這種情況下,您需要在查詢時創建它們。如果它們是動態的「但不是那麼多」,則可以在維度中定義多個分組。 – nsousa 2014-10-22 07:37:46
這可能與沒有MDX的olap4j api? – 2014-10-22 11:19:51