SSAS表格-如何在DAX汇总函数中使用格式函数

SSAS表格-如何在DAX汇总函数中使用格式函数,ssas,sql-server-2014,dax,ssas-tabular,Ssas,Sql Server 2014,Dax,Ssas Tabular,事实表中有一个日期列,由于某些客户端api要求,在使用summary函数对数据进行分组时,我需要将该列格式化为字符串。下面是我正在使用的示例查询: EVALUATE( CALCULATETABLE( ADDCOLUMNS( SUMMARIZE( 'BreakTable', 'BreakTable'[Column1], 'BreakTable'[Column2], 'BreakT

事实表中有一个日期列,由于某些客户端api要求,在使用summary函数对数据进行分组时,我需要将该列格式化为字符串。下面是我正在使用的示例查询:

EVALUATE(
CALCULATETABLE(
    ADDCOLUMNS(
        SUMMARIZE(
            'BreakTable',
            'BreakTable'[Column1],
            'BreakTable'[Column2],
            'BreakTable'[DateColumn1], --This needs to be formatted 
        ),
        "BreakCount",FORMAT('BreakTable'[BreakCount],"#,##0")
    )
))
我曾尝试在Summary中使用FORMAT函数,但默认情况下不起作用。我无法向FactTable添加新列,因此需要在查询自身时解决此问题

有没有其他方法可以做到这一点?感谢您的帮助

根据建议,添加更多信息


我们正在使用Sql Server 2014。

您可以使用SELECTCOLUMNS()函数。此函数的工作方式与ADDCOLUMNS()函数类似,只是它只返回您指定的列

以下是如何更改现有查询的示例:

EVALUATE(
    SELECTCOLUMNS(
        SUMMARIZE(
            'BreakTable',
            'BreakTable'[Column1],
            'BreakTable'[Column2],
            'BreakTable'[DateColumn1], 
        ),
        "Column1", [Column1],
        "Column2", [Column2],
        "DateColumn1", FORMAT([DateColumn1],"YourFormatHere"), --Format your DateColumn here
        "BreakCount",FORMAT('BreakTable'[BreakCount],"#,##0")
    )
)
编辑:


请注意,SELECTCOLUMNS()函数仅在SQL Server 2016及更高版本中可用。

SELECTCOLUMNS仅在SQL Server 2016中可用,我们仍然使用以前的版本。True。也许您可以在您的帖子中添加Sql Server 2014的标签来澄清这一点:-)