Exemplo n.º 1
0
        /// <summary>
        /// <para>GROUPING_ID built-in function.</para>
        /// <para>Is a function that computes the level of grouping.</para>
        /// </summary>
        /// <param name="columns">Are columns in a GROUP BY clause.</param>
        public static SysFn GroupingId(params GroupingArgument[] columns)
        {
            var exception = columns.IsGroupingNull("Sys.GroupingId");

            return(new SysFn((buildContext, buildArgs) =>
            {
                return String.Format(
                    "GROUPING_ID({0})",
                    GroupingArgument.Concatenate(columns, buildContext, buildArgs, false));
            },
                             exception));
        }
Exemplo n.º 2
0
        /// <summary>
        /// <para>CUBE built-in function.</para>
        /// <para>Generates a result set that shows aggregates for all combinations of values in the selected columns.</para>
        /// </summary>
        /// <param name="columns">Are selected columns in a CUBE function.</param>
        public static SysFn Cube(params GroupingArgument[] columns)
        {
            // check null
            var exception = columns.IsGroupingNull("Sys.Cube");

            return(new SysFn((buildContext, buildArgs) =>
            {
                return String.Format(
                    "CUBE({0})",
                    GroupingArgument.Concatenate(columns, buildContext, buildArgs, false));
            },
                             exception));
        }