2016-01-05 7 views
0

Ниже приведен мой запрос MDX. Здесь я применил сортировку для одного столбца, как не могу сортировать все столбцы, причиной этого является, я не столбец должен иметь любые значения, такие как (нуль), нуль, пусто, неизвестно и т.д.Сортировка всех столбцов в запросах MDX

WITH MEMBER PageSize AS 
    1 
MEMBER [PageNumber] AS 
    1 
MEMBER [Measures].[Orderby Measure] AS 
    [Measures].[Budget Delivered COGS] 
MEMBER [Orderby] AS 
    "BASC" 
SET ROWAXISWOF AS 
    NonEmpty (
    ([Time Periods].[Fiscal Year].[Fiscal Year].Members, [Time Periods].[Fiscal Quarter].[Fiscal Quarter].Members, [Time Periods].[Fiscal Month].[Fiscal Month].Members, [Time Periods].[Fiscal Week].[Fiscal Week].Members), 
    { 
     { [Measures].[Budget Delivered COGS] }, 
     { [Measures].[Break Even Delivered] } 
    } 
) 
SET ROWAXISWF AS 
    Filter (ROWAXISWOF, [Measures].[Budget Delivered COGS]) 
SET ROWAXIS AS 
    IIf ('Filter' = "NotFilter", ROWAXISWF, ROWAXISWOF) 
MEMBER [Measures].[MaxRowCount] AS 
    ROWAXIS .Count 
SET ROWAXIS_Count AS 
    IIf (
    'Paging' = "Paging", 
    (
    CASE 
    WHEN [Orderby] = 'BASC' 
    THEN Tail (
     TopCount (ROWAXIS, PageSize * PageNumber, [Measures].[Orderby Measure]), 
     PageSize 
    ) 
    ELSE Tail (
     BottomCount (ROWAXIS, PageSize * PageNumber, [Measures].[Orderby Measure]), 
     PageSize 
    ) END), 
    ROWAXISWOF 
) 
SELECT (IIf (
    'Paging' = "Paging", 
    (
    { [Measures].[Budget Delivered COGS], [Measures].[Break Even Delivered], [Measures].[MaxRowCount] }), 
    { [Measures].[Budget Delivered COGS], [Measures].[Break Even Delivered] } 
)) ON COLUMNS, 
ROWAXIS_Count ON ROWS 
FROM (
    SELECT (
    { [Time Periods].[Fiscal Year].&[2011], [Time Periods].[Fiscal Year].&[2012], [Time Periods].[Fiscal Year].&[2013], [Time Periods].[Fiscal Year].&[2014], [Time Periods].[Fiscal Year].&[2015] }) ON COLUMNS 
    FROM [Homestore Sales] 
) 

It вернет выход как предыдущий.

enter image description here

В этом запросе на перерыв Даже при поставке заголовка он показывает (нуль) в качестве первого значения. Как мы можем сделать значение, которое не является нулевым, чтобы быть сверху? если это для одного столбца, мы можем просто применить сортировку. Мое требование: ни один столбец не должен иметь нулевые значения в первой ячейке, если какая-либо ячейка содержит значения. Пожалуйста, предложите мне любую идею. Заранее спасибо.

ответ

0

Я сделал это сам. Я изменил ROWAXISWOF следующим образом.

SET ROWAXISWOF AS 
    NonEmpty (
    NonEmpty (
    ( 
    [Time Periods].[Fiscal Year].[Fiscal Year].Members, [Time Periods].[Fiscal Quarter].[Fiscal Quarter].Members, [Time Periods].[Fiscal Month].[Fiscal Month].Members, [Time Periods].[Fiscal Week].[Fiscal Week].Members 
    ), 
     { [Measures].[Budget Delivered COGS] }), 
     { [Measures].[Break Even Delivered] } ) 

Я включил условия NonEmpty для каждого измерения. Надеюсь, это поможет кому-то.

Смежные вопросы