1
我想編寫一個在WHERE語句中使用度量值的MDX表達式。MDX - 過濾測量值?
例如:假設我想顯示不同城市的商店銷售產品的收入,但我只想計算售價超過10美元的產品的收入。
這是我試過,但它不工作:
WHERE ([MEASURES].[Price]>10)
我怎樣才能做到這一點使用MDX?
我想編寫一個在WHERE語句中使用度量值的MDX表達式。MDX - 過濾測量值?
例如:假設我想顯示不同城市的商店銷售產品的收入,但我只想計算售價超過10美元的產品的收入。
這是我試過,但它不工作:
WHERE ([MEASURES].[Price]>10)
我怎樣才能做到這一點使用MDX?
如果你有一個訪問OLAP數據庫你可以創建另一個指標價格(例如用於在DSV事實表創建表達,創造此字段的度量),並用它爲您進一步的計算。 但是,如果你沒有到DB的訪問,你可以試試下面的腳本:
WITH
MEMBER [Measures].[Price10] AS
'IIF([Measures].[Price] < 10,0,[Measures].[Price])'
MEMBER [Measures].[COST] AS
'[Measures].[Price10]*[Measures].[Unit Count]'
SELECT
{[Measures].[COST]} ON COLUMNS,
{[Customer].[Customer Geography].[City].Members,[Customer].[Customer Geography].[All Customers]} ON ROWS
from [Adventure Works]
這只是一個建議...而這取決於其使用度量計算價格聚合類型。
感謝您的回答!我確實可以訪問olap db,但問題是,價格限制應該由用戶輸入,因此我不知道限制將會是什麼。第二個腳本太複雜了,我想,我還有很多其他的選項供用戶輸入,所以mdx查詢將會太大而無法處理。但感謝您的幫助! – gusper