Примеры функций Concat

Не следует путь функцию CONCAT() с ключевым словом скрипта CONCATENATE.

В простейшей форме функция Concat() используется для объединения вместе значений, слов, выборки в одну строку. Однако ее можно использовать различным образом для решения различных проблем. Все примеры основаны на следующей таблице:

Простое объединение строк

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

=CONCAT(MyColumn,',')

=CONCAT(DISTINCT MyColumn,',')

Данное простое выражение concat объединяет в одну строку все возможные значения из столбца MyColumn. Можно также добавить ключевое слово DISTINCT. При этом каждое значение будет отображаться в строке только один раз.

ABC,DEF,GHI,JKL,MNO,PQR,STU,VWX

При использовании простой функции concat имеется возможность добавить вес сортировки в функцию, чтобы упорядочить строковые значения по выбранному столбцу. В следующем примере добавляет столбец данных для сортировки значений.

 

=CONCAT(MyColumn, ',', Date)

Результат: JKL,VWX,GHI,ABC,STU,PQR,MNO,DEF

Функция Concat() внутри выражения/оператора Set

Передача нескольких динамических значений в выражение для анализа множеств

Иногда требуется передать в оператор set динамическую выборку значений.. Для этого необходимо добавить несколько одиночных кавычек в строку, чтобы функция CONCAT() возвращала что-то наподобие 'JKL','VWX'. Однако одиночные кавычки нельзя использовать, поскольку они будут обрабатываться при оценке выражения Concat, а не во время оценки оператора set. Вместо этого используйте функцию Chr():

 

=CONCAT(Chr(39)&MyColumn&Chr(39),',')

Затем можно передать этот оператор concat внутрь выражения:

 

=Sum({<MyColumn={$(=CONCAT(Chr(39)&MyColumn&Chr(39),','))}>} Value)

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

Функция Concat() в скрипте

Функцию Concat также можно использовать в скрипте для преобразования нескольких строк в одно значение состояние из одного столбца, точно так же, как любое другое объединение.

Для исходных данных, которые применялись ранее, результат стороны скрипта CONCAT будет следующим:

Далее приведен результат функции скрипта:

Использование функции Rank() для воздействия на функцию Concat()

Как только вы начнете использовать другие функции вместе с функцией concat(), вы начнете получать более понятные результаты. В данном примере с помощью функции Rank() выбирались три лучших работника (на основе значения) и объединялись вместе в одну строку.

 

=CONCAT(IF(aggr(Rank(sum(Value)),MyColumn)<=3,MyColumn),',')

Результат: ABC,MNO,STU