KNIME does not have at the moment a node to calculate counts and totals all together. However, with a few nodes it is possible to implement a full cross tab with totals. The key node here is the "Pivoting" node.
Let's create an example data set with 2 columns ("class" and "value") using a "Table Creator" node, as displayed on the side.
Let's apply now a "Pivoting" node with "pivot column" = "class" and "group column" = "value". Being "class" and "value" two string columns, the "Pivoting" node can only count the co-occurrences of the pairs (class, value). For columns of type Integer or Double other aggregation methods are possible, like sum or mean.
The "Pivoting" node produces the following data table, where the values in the pivoting column give the column headers and the values in the group column give the row IDs.
To calculate the row totals we use a "Java Snippet" node with code:
double total = $A$+$B$+$C$;
Let's name the new column "total(value)".
To calculate the column totals we use a "GroupBy" node with no group columns, sum(A), sum(B), sum(C), and sum(total(value)) as aggregated variables, and keeping the original column names.
The result of the "GroupBy" node is shown here.
Finally let's concatenate ("Concatenate" node) the row with the class totals to the rest of the table on the output port of the "Java Snippet" node.
Now let's collect all those nodes used to calculate totals (from the "Java Snippet" node to the "Concatenate" node) into a Metanode that we will call "totals".
And this is the final workflow to create a crosstabs with totals.