3

MDX クエリは初めてです。次のクエリがあり、Margin Pct が > 0 であるレコードのみを表示するように結果を制限したいと考えています。

と
    MEMBER [メジャー].[利益率] as ([メジャー].[マークアップを除く管理利益]/[メジャー].[純売上高])*100,format_string="0.0"
    MEMBER [メジャー].[管理マージン] as [メジャー].[マークアップを除く管理マージン],format_string="0.0"
    MEMBER [メジャー].[管理コスト ユニット] as [メジャー].[マークアップを除く管理コスト ユニット],format_string="0.00"
    MEMBER [メジャー].[FOBPrce] as [メジャー].[FOB価格],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 [メジャー].[FrtUnt] as [メジャー].[Frt/単位],format_string="0.00"
    MEMBER [メジャー].[PriceUnt] as [メジャー].[価格/単位],format_string="0.00"
空でないものを選択 {
    [メジャー].[Rpt Inv Shp Date],
    [メジャー].[発送済みポンド],
    [対策].[売上高],
    [対策].[FOBPrce],
    [対策].[通信],
    [メジャー].[RebUnt],
    [メジャー].[FrtUnt],
    [メジャー].[PriceUnt],
    [メジャー].[管理コスト ユニット],
    [対策].[管理マージン],
    [メジャー].[マージン率]
} 列について、空でない {
    (
        [項目].[グループソート].[グループソート],
        [アイテム].[フォームソート].[フォームソート],
        [アイテム].[正貨ソート].[正貨ソート],
        {[アイテム].[アイテムIDによるグループ].[グループ].ALLMEMBERS},
        [エビグループ].[エビグループ].[エビグループ名].ALLMEMBERS ,
        {[アイテム].[フォーム].[フォーム].ALLMEMBERS},
        [アイテム].[肉 - 殻付き].[肉または殻付き].ALLMEMBERS ,
        [Item].[Super Specie].[Super Specie].ALLMEMBERS ,
        {[アイテム].[種].[種].ALLMEMBERS},
        {[アイテム].[アイテムID].[アイテムID].ALLMEMBERS},
        [アイテム].[Desc-ItemID].[アイテムIDの説明].ALLMEMBERS ,
        [アイテム].[パッケージ タイプ].[パッケージ].ALLMEMBERS ,
        {[ブランド].[ブランド].[ブランド名].ALLMEMBERS},
        {[倉庫].[倉庫].[倉庫コード].ALLMEMBERS},
        [オーダーインボイスロット].[オーダーインボイスロット].[ロット].ALLMEMBERS ,
        {[顧客口座番号].[顧客口座番号].Levels(1)},
        {[Ship To Customer].[Customer Name].Levels(1)},
        {[営業担当者].[担当者].Levels(1)},
        [注文請求ロット].[販売注文].[販売注文].ALLMEMBERS ,
        [注文請求ロット].[請求書].[請求書].ALLMEMBERS
    )
} DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME 行の FROM (
    SELECT StrToSet( '{[Breaded Group].[Breaded Group].[All]}' ,CONSTRAINED ) ON COLUMNS FROM (
    SELECT StrToSet( '{[在庫カテゴリ].[在庫カテゴリ].[すべて]}' ,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( '{[原産国].[長い名前].[すべて]}' ,CONSTRAINED ) ON COLUMNS FROM (
    SELECT StrToSet( '{[Is Sample].[Sample].[Description].[Regular]}' ,CONSTRAINED ) ON COLUMNS FROM (
    SELECT StrToSet( '{[請求状況].[請求状況-詳細].[詳細].[販売のみ],[請求状況].[請求状況-詳細].[詳細].[与信のみ]}' ,CONSTRAINED ) からの列 (
    SELECT StrToSet( '{[請求日].[会計年度-四半期-月].[会計月].[2013 年 7 月]}' ,CONSTRAINED ) ON COLUMNS FROM (
    SELECT StrToSet( '{[Sold To Customer].[Name].[All]}' ,CONSTRAINED ) ON COLUMNS FROM (
    SELECT StrToSet( '{[Is NRV].[NRV].[すべて]}' ,CONSTRAINED )
ON COLUMNS FROM [FishTrackerReporting] ) ) ) ) ) ) ) ) )

[Measures].[Margin Pct] に対して where 句を使用しようとしましたが、次のエラーが発生します。

WHERE 句関数は、引数としてタプル セット式を想定しています。文字列または数値式が使用されました。

また、クエリの on columns 部分の後にフィルターを使用しようとしましたが、メモリの問題が発生したため、何かが欠けていると思います。

4

1 に答える 1

2

残念ながら、MDX のリファレンスは最適ではありません。HAVINGまたはを使用して、FILTER目的を達成できます。HAVING使いやすいので使いたいです。

ここを見て、最後の例を見つけてください。

于 2013-10-17T13:58:50.107 に答える