Sql where子句中的MDX计算成员

Sql where子句中的MDX计算成员,sql,ssas,mdx,Sql,Ssas,Mdx,我不熟悉MDX查询。我有以下查询,希望将结果限制为仅显示边距Pct>0的记录。任何帮助都将不胜感激 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 E

我不熟悉MDX查询。我有以下查询,希望将结果限制为仅显示边距Pct>0的记录。任何帮助都将不胜感激

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] ) ) ) ) ) ) ) ) ) ) ) 我试图对[Measures].[Margin Pct]使用where子句,但出现以下错误:

WHERE子句函数要求参数使用元组集表达式。使用了字符串或数字表达式


我还尝试在查询的on列部分后使用过滤器,但内存不足,因此我认为我遗漏了一些内容。

太糟糕了,MDX的引用不是最好的。你可以使用“拥有”或“过滤”来实现你想要的。我喜欢吃,因为它更容易使用


请看一看,找到最后一个例子。

看起来having子句可以满足我的要求。当我回到家的时候,我会检查并接受答案,如果它有效,谢谢:添加了having子句,它就像一个符咒一样有效。非常感谢。