2013-10-17 86 views
3

我是MDX查詢的新手。我有以下查詢,並希望限制結果只顯示保證金Pct> 0的記錄。任何幫助將不勝感激。MDX計算的成員在where子句中

 

WITH 
    MEMBER [Measures].[Margin Pct] as ([Measures].[Mgmt Margin Excluding Markup]/[Measures].[Net Sales])*100,format_string="0.0" 
    MEMBER [Measures].[Mgmt Margin] as [Measures].[Mgmt Margin Excluding Markup],format_string="0.0" 
    MEMBER [Measures].[Mgmt Cost Unit] as [Measures].[Mgmt Cost Unit Excluding Markup],format_string="0.00" 
    MEMBER [Measures].[FOBPrce] as [Measures].[FOB Price],format_string="0.00" 
    MEMBER [Measures].[CommUnt] as [Measures].[Comm/Unit],format_string="0.000" 
    MEMBER [Measures].[RebUnt] as [Measures].[Reb/Unit],format_string="0.00" 
    MEMBER [Measures].[FrtUnt] as [Measures].[Frt/Unit],format_string="0.00" 
    MEMBER [Measures].[PriceUnt] as [Measures].[Price/Unit],format_string="0.00" 
SELECT NON EMPTY { 
    [Measures].[Rpt Inv Shp Date], 
    [Measures].[Lbs Shipped], 
    [Measures].[Net Sales], 
    [Measures].[FOBPrce], 
    [Measures].[CommUnt], 
    [Measures].[RebUnt], 
    [Measures].[FrtUnt], 
    [Measures].[PriceUnt], 
    [Measures].[Mgmt Cost Unit], 
    [Measures].[Mgmt Margin], 
    [Measures].[Margin Pct] 
} ON COLUMNS, NON EMPTY { 
    (
     [Item].[Group Sort].[Group Sort], 
     [Item].[Form Sort].[Form Sort], 
     [Item].[Specie Sort].[Specie Sort], 
     {[Item].[Group thru Item ID].[Group].ALLMEMBERS}, 
     [Shrimp Group].[Shrimp Group].[Shrimp Group Name].ALLMEMBERS , 
     {[Item].[Form].[Form].ALLMEMBERS}, 
     [Item].[Meat - In Shell].[Meat or Inshell].ALLMEMBERS , 
     [Item].[Super Specie].[Super Specie].ALLMEMBERS , 
     {[Item].[Species].[Species].ALLMEMBERS}, 
     {[Item].[Item ID].[Item ID].ALLMEMBERS}, 
     [Item].[Desc-ItemID].[Item ID Description].ALLMEMBERS , 
     [Item].[Package Type].[Packaging].ALLMEMBERS , 
     {[Brand].[Brand].[Brand Name].ALLMEMBERS}, 
     {[Warehouse].[Warehouse].[Warehouse Code].ALLMEMBERS}, 
     [Order Invoice Lot].[Order-Invoice-Lot].[Lot].ALLMEMBERS , 
     {[Customer Account Number].[Customer Account No].Levels(1)}, 
     {[Ship To Customer].[Customer Name].Levels(1)}, 
     {[Sales Person].[Person].Levels(1)}, 
     [Order Invoice Lot].[Sales Order].[Sales Order].ALLMEMBERS , 
     [Order Invoice Lot].[Invoice].[Invoice].ALLMEMBERS 
    ) 
} DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS FROM (
    SELECT StrToSet('{[Breaded Group].[Breaded Group].[All]}' ,CONSTRAINED) ON COLUMNS FROM (
    SELECT StrToSet('{[Inventory Category].[Inventory Category].[All]}' ,CONSTRAINED) ON COLUMNS FROM (
    SELECT StrToSet('{[Sold To Customer].[Customer Buying Group].[All]}' ,CONSTRAINED) ON COLUMNS FROM (
    SELECT StrToSet('{[Ship To Customer Sales Group].[Ship To Customer Sales Group].[All]}' ,CONSTRAINED) ON COLUMNS FROM (
    SELECT StrToSet('{[Sold To Customer].[Customer Legal Group].[All]}' ,CONSTRAINED) ON COLUMNS FROM (
    SELECT StrToSet('{[Country Of Origin].[Long Name].[All]}' ,CONSTRAINED) ON COLUMNS FROM (
    SELECT StrToSet('{[Is Sample].[Sample].[Description].[Regular]}' ,CONSTRAINED) ON COLUMNS FROM (
    SELECT StrToSet('{[Invoicing Status].[Invoicing Status-Detail].[Detail].[Sale Only],[Invoicing Status].[Invoicing Status-Detail].[Detail].[Credit Only]}' ,CONSTRAINED) ON COLUMNS FROM (
    SELECT StrToSet('{[Invoice Date].[Fiscal Year-Quarter-Month].[Fiscal Month].[Jul-FY13]}' ,CONSTRAINED) ON COLUMNS FROM (
    SELECT StrToSet('{[Sold To Customer].[Name].[All]}' ,CONSTRAINED) ON COLUMNS FROM (
    SELECT StrToSet('{[Is NRV].[NRV].[All]}' ,CONSTRAINED) 
ON COLUMNS FROM [FishTrackerReporting]))))))))))) 

我曾嘗試使用對[措施] where子句[頁邊距PCT],但得到這個錯誤:

WHERE子句功能預計,參數的元組集合表達式。使用了一個字符串或數字表達式。

我也嘗試在查詢的列部分之後使用過濾器,但是出現內存不足的問題,所以我想我錯過了一些東西。

回答

2

MDX的參考不是最好的。你可以使用HAVINGFILTER來實現你想要的。我會去HAVING,因爲它更容易使用。

請看看here並找到最後一個例子。

+0

看起來像having clause可以做我想做的事。我會檢查我什麼時候回家,並接受答案,如果它的工作,謝謝:) – DevDave

+0

增加了having子句,它的工作就像一個魅力。謝謝。 – DevDave