Сведения о языке выражений
Если изучить принципы работы языка выражений, создавать действительные пользовательские выражения станет проще. В этом разделе объясняются некоторые основные функции этого языка.
Если имя столбца содержит символы, отличные от букв, цифр и подчеркивания (_), его необходимо заключать в квадратные скобки: [ и ]. Квадратные скобки необходимы также тогда, когда имя столбца совпадает с именем функции или начинается с цифры.
Если выражение заключить в угловые скобки (<>), оно обрабатывается как категорийное.
Несколько столбцов обычно разделяются запятой.
Чтобы указать новое имя выражения, можно использовать ключевое слово AS и скрыть базовое выражение. Ниже приведено несколько примеров. Обратите внимание, что, если выражение оси содержит запятые, всю ось переименовать нельзя, но можно определить одно имя для каждой части выражения.
Константы можно всегда использовать как аргументы, даже если в описании функции указано, что аргумент должен быть столбцом.
Полное описание операторов и функций см. в разделах Операторы и Функции.
Если вы создаете более сложные выражения, требующие объяснения, то к ним можно добавить комментарии. Чтобы указать, что текст после символов является комментарием, используйте символы //.
Например:
Avg([Sales]) OVER Intersect([Cat], AllPrevious([Year])) //Shows the average sales per category for all years, up until the current year.
Обратите внимание, что при добавлении комментариев к выражению на оси визуализации ожидается, что вы продолжите использовать диалоговое окно пользовательских выражений для всех дальнейших изменений. Это связано с тем, что операции перетаскивания слишком сильно влияют на выражения и меняют их порядок, позволяя таким образом сохранять комментарии.
Примеры выражений:
[Column1]
[Column1], [Column2]
[Column1]/([Column1]+[Column2]) AS Quota
[Column1] AS [My first column], [Column2] AS [My second column]
<[Category column 1]>
<[Category column 1] nest [Category column 2]>
39+12*3
-(1-2)
cast (power(2,2) as integer)
case [Column1] when 10 then 'ten' else 'not ten' end
case when Column1 is not null then Column1 else Column2 end
[Sales]/1000 //The sales figure has been divided by a thousand to show values in kkr instead of SEK