Изменение порядка месяца и года в отформатированном столбце финансового периода - PullRequest
0 голосов
/ 30 мая 2019

Я пытаюсь изменить порядок столбца финансового периода с алфавитного порядка на хронологический. То есть у меня есть этот столбец, который отображает значения в виде месяца-года (показывая все различные значения в редакторе запросов): Столбец Period_Name

Я хотел бы упорядочить этот столбец в хронологическом порядке, например: JAN-18, FEB-18, MAR-18, APR-18 и т. Д., Чтобы использовать его для построения временного ряда.

Прямо сейчас, если я пытаюсь изменить тип данных столбца в редакторе запросов на «Дата», он думает, что год фактически является днем, а затем предполагает, что год является текущим годом (а именно 2019); то есть, APR-18 становится 18 апреля 2019 года вместо того, что должно быть, апрель 2018 года без дня (это столбец финансового периода). Пользовательские форматы даты и времени с функцией FORMAT (https://docs.microsoft.com/en-us/dax/custom-date-and-time-formats-for-the-format-function), по-видимому, не распознают текущий формат этого столбца как месяц-год, а просто выдают те же значения обратно, когда я пытаюсь использовать его в новый вычисляемый столбец.

Любая помощь будет высоко ценится!

Ответы [ 2 ]

2 голосов
/ 31 мая 2019

Не следует изменять тип данных месяца-года, а вместо этого сортировать столбец месяца-года по другому столбцу, который может иметь другой тип данных: Перейдите в представление таблицы / данных, щелкните столбец для сортировки, нажмите «сортировать по столбцу», а затем выберите столбец суррогатной сортировки

Вам также следует начать работать со связанной таблицей Календаря, чтобы правильно управлять сортировками такого типа.

Например, в вашей календарной таблице у вас есть два столбца. Месяц-год, который содержит данные типа «февраль-2019», которые вы хотите использовать, затем другой столбец с именем YearMonth, который содержит значения, например 201902, и имеет тип Int.

Затем просто сортируйте столбец Месяц-Год на основе столбца ГодМесяц, и он будет отсортирован правильно.

0 голосов
/ 31 мая 2019

Поскольку ваше поле является ТЕКСТОМ, оно будет отсортировано по алфавиту.Вы можете создать «Сортировать по столбцу» для сортировки данных, выполнив что-то вроде этого:

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"
)  

Это даст вам индекс, по которому можно отсортировать данные.Создайте это как вычисленный столбец, преобразуйте тип из текста в целое число, а затем отсортируйте исходный столбец по этому новому столбцу, и вы должны быть золотыми.

...