Ssas DAX Studio中的YTD测量值不';不显示几个日期的任何值

Ssas DAX Studio中的YTD测量值不';不显示几个日期的任何值,ssas,dax,ssas-tabular,Ssas,Dax,Ssas Tabular,根据指南在DAX STUDIO中尝试计算几个日期的YTD 我在模型中创建了一个度量,当我使用Date维度并计算每个日期的YTD时,它完成了工作 CALCULATE ( [Sales Amt], FILTER ( ALL ( 'Date' ), 'Date'[Year] = MAX ( 'Date'[Year] ) && 'Date'[Date] <= MAX ( 'Date'[Date] ) )

根据指南在DAX STUDIO中尝试计算几个日期的YTD

我在模型中创建了一个度量,当我使用Date维度并计算每个日期的YTD时,它完成了工作

CALCULATE (
    [Sales Amt],
    FILTER (
        ALL ( 'Date' ),
        'Date'[Year] = MAX ( 'Date'[Year] )
            && 'Date'[Date] <= MAX ( 'Date'[Date] )
    )
)
计算(
[销售金额],
滤器(
全部(‘日期’),
“日期”[年]=最大值(“日期”[年])

&&“Date”[Date]=,但我得到的所有行的结果都是空的

您定义度量值的方式没有问题

但是,在测试度量时,您应该尝试以类似于Power BI等客户端工具的方式编写DAX查询:

EVALUATE
SUMMARIZECOLUMNS(
    'Date'[Date],
    FILTER('Date', 'Date'[Date] >= DATE(2018,5,1)),
    "YTD", CALCULATE (
        [Sales Amt],
        FILTER (
            ALL ( 'Date' ),
            'Date'[Year] = MAX ( 'Date'[Year] )
                && 'Date'[Date] <= MAX ( 'Date'[Date]  )
        )
    )
)
这与直接引用度量值相同,因为引用度量值总是进行隐式计算:

EVALUATE
CALCULATETABLE(
    ADDCOLUMNS (
        VALUES ( 'Date'[Date] ),
        "YTD", [Sales Amt YTD]
    ),
    'Date'[Date] >= DATE(2018,5,1)
)
EVALUATE
SUMMARIZECOLUMNS(
    'Date'[Date],
    FILTER('Date', 'Date'[Date] >= DATE(2018,5,1)),
    "YTD", CALCULATE (
        [Sales Amt],
        FILTER (
            ALL ( 'Date' ),
            'Date'[Year] = MAX ( 'Date'[Year] )
                && 'Date'[Date] <= MAX ( 'Date'[Date]  )
        )
    )
)
DEFINE MEASURE 'Sales'[Sales Amt YTD] = CALCULATE (
        [Sales Amt],
        FILTER (
            ALL ( 'Date' ),
            'Date'[Year] = MAX ( 'Date'[Year] )
                && 'Date'[Date] <= MAX ( 'Date'[Date]  )
        )
    )

EVALUATE
SUMMARIZECOLUMNS(
    'Date'[Date],
    FILTER('Date', 'Date'[Date] >= DATE(2018,5,1)),
    "YTD", [Sales Amt YTD]
)
EVALUATE
CALCULATETABLE(
    ADDCOLUMNS (
        VALUES ( 'Date'[Date] ),
        "YTD", 
            CALCULATE(        // Additional CALCULATE to force context transition on filter arguments
                CALCULATE (
                [Sales Amt],
                FILTER (
                    ALL ( 'Date' ),
                    'Date'[Year] = MAX ( 'Date'[Year] )
                        && 'Date'[Date] <= MAX ( 'Date'[Date]  )
                )
            )
        )
    ),
    'Date'[Date] >= DATE(2018,5,1)
)
EVALUATE
CALCULATETABLE(
    ADDCOLUMNS (
        VALUES ( 'Date'[Date] ),
        "YTD", [Sales Amt YTD]
    ),
    'Date'[Date] >= DATE(2018,5,1)
)