首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在带格式的会计期间列中重新排序月和年

在带格式的会计期间列中重新排序月和年
EN

Stack Overflow用户
提问于 2019-05-31 00:18:09
回答 1查看 63关注 0票数 0

我正在尝试将会计期间列从字母顺序重新排序为时间顺序。也就是说,我有这个列,它以月-年的形式显示值(在查询编辑器中显示所有不同的值):Period_Name Column

我想将这一列按时间顺序排序,如下所示: JAN-18,FEB-18,MAR-18,APR-18等,以便使用它来绘制时间序列。

现在,如果我尝试在Query Editor中将列的数据类型更改为Date,它会认为year实际上是日期,然后假设年份是当前年份(即2019);也就是说,APR-18变成了2019年4月18日,而不是它应该是2018年4月18日,没有日期(这是一个会计期间列)。带有FORMAT函数(https://docs.microsoft.com/en-us/dax/custom-date-and-time-formats-for-the-format-function)的自定义日期和时间格式似乎无法将此列的当前格式识别为月-年,并且当我尝试在新的计算列中使用它时,它们只是返回相同的值。

任何帮助都将不胜感激!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-31 08:36:37

因为您的字段是文本,所以它将按字母顺序排序。您可以创建一个“按列排序”来对数据进行排序,方法如下:

Sort by Column := 
VAR YearNumber =
    RIGHT ( 'Table'[Column], 2 ) + 2000
VAR CurrentMonthName =
    LEFT ( 'Table'[Column], 3 )
RETURN YearNumber &
    SWITCH (
    CurrentMonthName,
    "JAN", "01",
    "FEB", "02",
    "MAR", "03",
    "APR", "04",
    "MAY", "05",
    "JUN", "06",
    "JUL", "07",
    "AUG", "08",
    "SEP", "09",
    "OCT", "10",
    "NOV", "11",
    "DEC", "12"
)  

这将为您提供一个索引,从中对您的数据进行排序。将其创建为计算列,将类型从文本转换为整数,然后按此新列对原始列进行排序,您就应该是黄金列了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56381964

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档