Добрый день!
Есть запрос к OLAP кубу, в определенном шаге фильтруются нужные дни. Код шага ниже (в фильтре указано 3 дня):
Код |
---|
#"Строки с примененным фильтром5" = Table.SelectRows(#"Добавленные элементы4", each (Cube.AttributeMemberId([Период.День месяца]) = "[Periods].[Period Day].&[1]" meta [DisplayName = "1"] or Cube.AttributeMemberId([Период.День месяца]) = "[Periods].[Period Day].&[2]" meta [DisplayName = "2"] or Cube.AttributeMemberId([Период.День месяца]) = "[Periods].[Period Day].&[3]" meta [DisplayName = "3"])),
|
Кол-во дней в месяце - это переменная величина, и проблема в том, что на каждый выбранный вручную день, редактор добавляет код :
Код |
---|
' or Cube.AttributeMemberId([Период.День месяца]) = "[Periods].[Period Day].&[2]" meta [DisplayName = "2"] |
а дни будут задаваться переменной.
Написали функцию DenOLAP(NN), которая на основе кол-ва дней генерирует текстовый код типа, указанного выше. Чтобы редактор понимал текст формулы, использовали функцию Expression.Evaluate.
Код |
---|
#"Строки с примененным фильтром5" = Table.SelectRows(#"Добавленные элементы4", each (Expression.Evaluate(DenOLAP(NN), #shared))),
|
Редактор выдает ошибку
Expression.Error: Неизвестный идентификатор. Использовалось ли условное обозначение [field] для _[field] вне выражения "each"?
Где ошибка?
Заранее, благодарен!