Я хотел бы написать KPI в SSAS, который возвращает мне среднее значение для всего возраста сотрудника. Дата рождения сотрудника находится в Dim_Employee. Я уже прочитал 3 книги, полный рекомендаций по дате и времени MDX, но ни один из них не работал. С часами отчаянного испытания и ошибки я пробовал бесчисленные комбинации с решением без успеха.Использование DateDiff в SSAS MDX
Дата рождения - это дата и время (null) в исходной базе данных. Решение, которое я попробовал это следующее:
VBA!DateDiff("yyyy", now(), [Employee].[BirthDate].CurrentMember.Member_Value)
Конечно, я должен использовать [Date].[Date].CurrentMember
вместо now()
, но для простоты я использовал это.
В измерении Employee я создал ValueColumn с типом данных Date. Когда я пытаюсь выполнить его в Management Studio, он возвращает мне следующую ошибку:
"The Axis0 function expects a tuple set expression for the argument. A string or numeric expression was used."
Когда я не использую Member_Value, она возвращает нуль, и DateDiff возвращает -2010
.
Поскольку я не несу ответственности за структуру куба, где я хотел бы написать этот KPI, я ищу решение, которое не требует новых измерений, измерений вообще. (однако, если нет решения без добавления новых элементов в куб, тогда я, конечно, предложим запрос на изменение в данном кубе)
Каково решение в этом случае? Можно ли написать этот KPI без использования дополнительных мер?
Поздравляем с решением. Когда вы в состоянии, пожалуйста, отметьте свой ответ как «принятый», чтобы другие могли узнать о вашем успехе. Приветствия ~ –