web-dev-qa-db-ja.com

MDXで行FORMAT_STRINGを列FORMAT_STRINGでオーバーライドする

行のフォーマット文字列を列のフォーマット文字列でオーバーライドする方法を知っている人はいますか?

次のようなクエリがあります。

WITH
    MEMBER [Measures].[ROH Total Sold Gross]                AS [Measures].[ROH Total Sold Dollars] - [Measures].[ROH Total Sold Cost], FORMAT_STRING='Currency'

    MEMBER [ClosedDate].[Date].[MTD]                        AS AGGREGATE([ClosedDate].[Date].[2017-07-01]:[ClosedDate].[Date].[2017-07-31])
    MEMBER [ClosedDate].[Date].[PrevMTD]                    AS AGGREGATE([ClosedDate].[Date].[2017-06-01]:[ClosedDate].[Date].[2017-06-30])

    MEMBER [ClosedDate].[Date].[MTD vs. Prev. MTD]          AS [ClosedDate].[Date].[MTD] - [ClosedDate].[Date].[PrevMTD]
    MEMBER [ClosedDate].[Date].[MTD vs. Prev. MTD %]        AS [ClosedDate].[Date].[MTD vs. Prev. MTD] / [ClosedDate].[Date].[MTD], FORMAT_STRING='Percent'
SELECT
    {
        [ClosedDate].[Date].[MTD],
        [ClosedDate].[Date].[PrevMTD],
        [ClosedDate].[Date].[MTD vs. Prev. MTD],
        [ClosedDate].[Date].[MTD vs. Prev. MTD %]
    } ON COLUMNS,
    NON EMPTY
    {
        [Measures].[ROH Count],
        [Measures].[ROH Total Sold Gross]
    } ON ROWS
FROM
    [ServiceDept]

ROHカウント行は、MTDとPrevを除いて、整数として適切にフォーマットされています。 MTD%列。パーセンテージとして適切にフォーマットされています。

問題は、すべての列が通貨としてフォーマットされているROH Total SoldGross行です。

誰かが以前にこのようなことをしたことがありますか?

3

もう少し調べてみると、SOLVE_ORDERメンバープロパティはSSASを取得して、MTD vs. Prev. MTD %メンバーのフォーマット文字列を使用できることがわかりました。

次のコードは私のために働いた:

MEMBER [ClosedDate].[Date].[MTD vs. Prev. MTD %] AS 
  [ClosedDate].[Date].[MTD vs. Prev. MTD] / [ClosedDate].[Date].[MTD],
  FORMAT_STRING='Percent', SOLVE_ORDER=1
2