Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Функция для условия фильтрации строк в Power query
 
Ох, что-то в тупике я:( Может быть вообще кто-то сталкивался с подобной задачей и есть какой то альтернативный вариант замены выражения (в данном выражении в фильтре указаны 1,2 и 3 дни месяца)
Код
#"Строки с примененным фильтром6" = 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"])),
с месяцами и годами, главное, все просто, но тут из-за перечисления вся логика ломается
Функция для условия фильтрации строк в Power query
 
Выдает ошибку

Expression.Error: [1,59-1,60] Ожидался токен Eof.
Сведения:
List

при вставке
Код
'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].&[4]"" meta [DisplayName = ""4""] or Cube.AttributeMemberId([Период.День месяца]) = ""[Periods].[Period Day].&[5]"" meta [DisplayName = ""5""]
Функция для условия фильтрации строк в Power query
 
NN это переменная - количество дней. Функция DenOLAP(5) возвращает текст
Код
'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].&[4]" meta [DisplayName = "4"] or Cube.AttributeMemberId([Период.День месяца]) = "[Periods].[Period Day].&[5]" meta [DisplayName = "5"]
Для проверки синтаксиса копировали вместо Expression.Evaluate(DenOLAP(NN), #shared) этот текст, все отрабатывает.
Функция для условия фильтрации строк в Power query
 
Добрый день!

Есть запрос к 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"?

Где ошибка?

Заранее, благодарен!
Изменено: spryte - 04.10.2018 11:51:16
Страницы: 1
Наверх