我是MDX查询的新手。我有以下查询,并希望将结果限制为仅显示Margin Pct> 0的记录。不胜感激。



成员[度量]。[保证金百分比]为([度量]。[不包括标记的管理利润] / [度量]。[净销售额])* 100,format_string =“ 0.0”
成员[Measures]。[Mgmt Margin] as [Measures]。[Mgmt Margin Exclusive Markup],format_string =“ 0.0”
成员[度量]。[管理成本单位]为[度量]。[管理成本单位不包括标记],format_string =“ 0.00”
成员[度量]。[FOBPrce]为[度量]。[FOB价格],format_string =“ 0.00”
成员[度量]。[CommUnt]作为[度量]。[Comm / Unit],format_string =“ 0.000”
成员[度量]。[RebUnt]作为[度量]。[Reb /单位],format_string =“ 0.00”
成员[Measures]。[FrtUnt] as [Measures .. [Frt / Unit],format_string =“ 0.00”
成员[度量]。[PriceUnt]作为[度量]。[价格/单位],format_string =“ 0.00”
选择非空{
[措施]。[Rpt Inv Shp Date],
[措施]。[运送磅数],
[衡量]。[净销售额],
[措施]。[FOBPrce],
[措施]。[通讯],
[措施]。[报废],
[措施]。[FrtUnt],
[措施]。[PriceUnt],
[措施]。[管理成本单位],
[措施]。[管理保证金],
[措施]。[保证金百分比]
}关于非空列{

[Item]。[Group Sort]。[Group Sort],
[项目]。[表格排序]。[表格排序],
[项目]。[种类分类]。[种类分类],
{[Item]。[Group through Item ID]。[Group] .ALLMEMBERS},
[虾组]。[虾组]。[虾组名称] .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,
[项目]。[包装类型]。[包装] .ALLMEMBERS,
{[Brand]。[Brand]。[Brand Name] .ALLMEMBERS},
{[Warehouse]。[Warehouse]。[Warehouse Code] .ALLMEMBERS},
[订单发票批次]。[订单发票批次]。[批次] .ALLMEMBERS,
{[客户帐号]。[客户帐号]。级别(1)},
{[运送给客户]。[客户名称] .Levels(1)},
{[销售人员]。[人员] .Levels(1)},
[订单发票批]。[销售订单]。[销售订单] .ALLMEMBERS,
[订单发票批]。[发票]。[发票] .ALLMEMBERS

}维度属性MEMBER_CAPTION,MEMBER_UNIQUE_NAME在行上来自(
SELECT StrToSet('{[Breaded Group]。[Breaded Group]。[All]}',CONSTRAINED)在来自(
在()中的列上选择StrToSet('{[库存类别]。[库存类别]。[全部]}',约束)
SELECT StrToSet('{[Sold To Customer]。[Customer Buying Group]。[All]}',CONSTRAINED)在(
SELECT StrToSet('{[运送到客户销售组]。[运送到客户销售组]。[全部]}',约束)在(
SELECT StrToSet('{[Sold to Customer]。[Customer Legal Group]。[All]}',CONSTRAINED)在(
SELECT StrToSet('{[原产国]。[全名]。[全部]}',约束)对来自(
SELECT StrToSet('{[Is Sample]。[Sample]。[Description]。[Regular]}',CONSTRAINED)从(
SELECT StrToSet('{[发票状态。 )来自(
SELECT StrToSet('{[发票日期]。[会计年度四分之一月]。[会计月]。[Jul-FY13]}',约束)在(
SELECT StrToSet('{[Sold To Customer]。[Name]。[All]}',CONSTRAINED)在(
SELECT StrToSet('{[是NRV]。[NRV]。[全部]}',CONSTRAINED)
在[FishTrackerReporting]的列上))))))))))))))



我试图对[Measures]。[Margin Pct]使用where子句,但出现此错误:

WHERE子句函数需要参数的元组设置表达式。使用了字符串或数字表达式。

我还尝试在查询的on列部分之后使用过滤器,但遇到内存不足的问题,因此我认为我丢失了一些东西。

最佳答案

太糟糕了,MDX的参考不是最好的。您可以使用HAVINGFILTER实现所需的功能。我会选择HAVING,因为它更易于使用。

请查看here并找到最后一个示例。

10-08 04:44