2015-09-09 4 views
0

Таким образом, у меня есть измерение Дата и один из членов является 4 цифры года, например, 2012MDX выбора списка лет с даты измерения

Im все еще довольно новое с MDX.

Я смотрю пример использования AdventureWorks 2008 DW. Следующее получит значение за 2008 год, но мне нужен список значений для ВСЕХ участников года.

WITH MEMBER Measures.ValueColumn as [Date].[Calendar].[July 1, 2008].MemberValue 
MEMBER Measures.KeyColumn as [Date].[Calendar].[July 1, 2008].Member_Key 
MEMBER Measures.NameColumn as [Date].[Calendar].[July 1, 2008].Member_Name 

SELECT {Measures.ValueColumn, Measures.KeyColumn, Measures.NameColumn} ON 0 
from [Adventure Works] 

Results: 
ValueColumn KeyColumn NameColumn 
7/1/2008 20080701 July 1, 2008 

Что бы изменить, чтобы получить список значений года за текущий и предыдущий 5?

Это дает мне список всех Календаря членов года в Adventure Works куб

SELECT NULL ON COLUMNS, 
[Date].[Calendar Year].MEMBERS ON ROWS 
FROM [Adventure Works]; 

результаты:

All Periods 
CY 2005 
CY 2006 
CY 2007 
CY 2008 
CY 2010 

Те имена членов, но я хочу их значения

ответ

0

Вы можете использовать функцию currentmember, чтобы помочь объединить два сценария, которые вы упомянули:

WITH 
    MEMBER [Measures].[ValueColumn]AS 
    [Date].[Calendar Year].CURRENTMEMBER.MemberValue 
    MEMBER [Measures].[KeyColumn] AS 
    [Date].[Calendar Year].CURRENTMEMBER.Member_Key 
    MEMBER [Measures].[NameColumn] AS 
    [Date].[Calendar Year].CURRENTMEMBER.Member_Name 
SELECT 
    { 
    [Measures].[ValueColumn] 
    , [Measures].[KeyColumn] 
    , [Measures].[NameColumn] 
    } ON 0 
    [Date].[Calendar Year].MEMBERS ON 1 
FROM [Adventure Works]; 

Если вы хотите, чтобы избежать All члена затем добавить в уровне к выражению [Date].[Calendar Year].MEMBERS ON 1 как это:

WITH 
    MEMBER [Measures].[ValueColumn]AS 
    [Date].[Calendar Year].CURRENTMEMBER.MemberValue 
    MEMBER [Measures].[KeyColumn] AS 
    [Date].[Calendar Year].CURRENTMEMBER.Member_Key 
    MEMBER [Measures].[NameColumn] AS 
    [Date].[Calendar Year].CURRENTMEMBER.Member_Name 
SELECT 
    { 
    [Measures].[ValueColumn] 
    , [Measures].[KeyColumn] 
    , [Measures].[NameColumn] 
    } ON 0 
    [Date].[Calendar Year].[Calendar Year].MEMBERS ON 1 
FROM [Adventure Works]; 
+0

Congrats на удар 10K! Любопытно узнать, какие инструменты модератора у вас есть сейчас. – SouravA

+0

@SouravA совершенно секретный matey (... хотя я теперь посмотрел на вас!) – whytheq

+0

* Нажатие клавиш отчаянно * Не использовать сэр! Я чист – SouravA

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