Я хотел бы написать KPI в SSAS, который возвращает мне средний возраст всех сотрудников.Дата рождения сотрудника указана в Dim_Employee.Я уже прочитал 3 книги, полные рекомендаций по обработке даты и времени, но ни одна из них не сработала.С часами отчаянных проб и ошибок я безуспешно пробовал бесчисленное множество комбинаций для решения.
Дата рождения - дата-время (ноль) в исходной базе данных.Я попробовал следующее решение:
VBA!DateDiff("yyyy", now(), [Employee].[BirthDate].CurrentMember.Member_Value)
Конечно, я должен использовать [Date].[Date].CurrentMember
вместо now()
, но для простоты я использовал это.
В измерении Employee ясоздал ValueColumn с типом данных Date.Когда я пытаюсь выполнить его в Management Studio, он возвращает мне следующую ошибку:
"Функция Axis0 ожидает выражение набора кортежей для аргумента. Использовалось строковое или числовое выражение."
Когда я не использую Member_Value, он возвращает нулевое значение, а DateDiff возвращает -2010
.
Поскольку я не отвечаю за структуру куба, в которую я хотел бы написатьэтот KPI я ищу решение, которое не требует новых мер, размеров вообще.(однако, если нет решения без добавления новых элементов в куб, я, конечно, предложу запрос на изменение в данном кубе)
Какое решение в этом случае?Можно ли написать этот KPI без использования дополнительных мер?