【问题标题】:SSAS Tabular - How to use FORMAT function in DAX summarize functionSSAS 表格 - 如何在 DAX 汇总函数中使用 FORMAT 函数
【发布时间】:2023-03-25 12:34:01
【问题描述】:

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

EVALUATE(
CALCULATETABLE(
    ADDCOLUMNS(
        SUMMARIZE(
            'BreakTable',
            'BreakTable'[Column1],
            'BreakTable'[Column2],
            'BreakTable'[DateColumn1], --This needs to be formatted 
        ),
        "BreakCount",FORMAT('BreakTable'[BreakCount],"#,##0")
    )
))

我尝试在 SUMMARIZE 中使用 FORMAT 函数,但默认情况下不起作用。我无法向 FactTable 添加新列,因此需要在查询自身时解决此问题。

还有其他方法可以实现吗?任何帮助表示赞赏。

根据建议,添加更多信息。

我们使用的是 Sql Server 2014。

【问题讨论】:

    标签: ssas sql-server-2014 dax ssas-tabular


    【解决方案1】:

    您可以使用 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 中可用,我们仍在使用以前的版本。
    • 是的。也许您可以在帖子中添加 Sql Server 2014 的标签来澄清这一点:-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多