135 can be combined into a single server computer system in alternate embodiment all or a portion of the web application functions may be integrated into an application running on each of the user computers for example a java u2122 or javascript u2122 application on the user computer is used to retrieve or analyze data and display portions of the data analysis application many sql analytic functions rely on an ordered set of rows as part of the function syntax users define partitions which are subsets of the ordered set of rows the partitioning of rows determines the inputs to an sql analytic function and consequently the output of the sql analytic function as well previously the partitioning of data for a sql analytic function is determined independently of the layout of the sheet and is fixed because the partitioning of the sql analytic function is independent of the layout as users change the layout the partitioning no longer matches the layout and the sql analytic function produces incorrect results fig2 illustrates the partitioning of a set of rows for an analytical function fig2 illustrates how a change in layout leads to incorrect results from an sql analytic function example sheet 210 shows a layout for calculating the profit of a quarter in the previous year with the profit in the same quarter of the current year the sql analytic function u201c lag u201d locates the appropriate profit values and displays the results in the u201c lag by year u201d column in sheet 210 the sql analytic function uses its partitions to define the location of its inputs an example of an sql analytic function used in sheet 210 is u201c lag profit.