| A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | one | software | A | 12/6/2021 | one | five | workstream | hardware | process | software | ||||||||||||||||
2 | two | hardware | A | 12/7/2021 | eleven | one | five | A | 4 | 1 | 3 | step 1 replace number values for key words | for the total row we will do the same byt we will query it in a different way | |||||||||||||
3 | three | software | A | 12/8/2021 | one | four | B | 3 | 2 | software | hardware | #N/A | A | B | ||||||||||||
4 | four | hardware | A | 12/9/2021 | nine | TOTAL | 7 | 1 | 5 | hardware | software | hardware | 4 | 3 | ||||||||||||
5 | five | hardware | B | 12/6/2021 | one | software | hardware | #N/A | 1 | |||||||||||||||||
6 | six | hardware | B | 12/8/2021 | two | process | #N/A | #N/A | 3 | 2 | ||||||||||||||||
7 | seven | hardware | B | 12/10/2021 | one | two | twelve | software | #N/A | #N/A | ||||||||||||||||
8 | eight | software | hardware | #N/A | #N/A | we remove header rows | ||||||||||||||||||||
9 | nine | process | software | hardware | hardware | 4 | 3 | |||||||||||||||||||
10 | ten | process | #N/A | #N/A | #N/A | 1 | ||||||||||||||||||||
11 | eleven | hardware | #N/A | #N/A | #N/A | 3 | 2 | |||||||||||||||||||
12 | twelve | hardware | workstream | hardware | process | software | ||||||||||||||||||||
13 | A | 4 | 1 | 3 | join it with D column | and multiply it by 1 to get 0s instead of empty cells | ||||||||||||||||||||
14 | B | 3 | 0 | 2 | A×software | A×hardware | #N/A | 4 | 3 | |||||||||||||||||
15 | TOTAL | 7 | 1 | 5 | A×hardware | A×software | A×hardware | 1 | 0 | |||||||||||||||||
16 | A×software | A×hardware | #N/A | 3 | 2 | |||||||||||||||||||||
17 | A×process | #N/A | #N/A | |||||||||||||||||||||||
18 | B×software | #N/A | #N/A | next we use mmult to sum it up | ||||||||||||||||||||||
19 | B×hardware | #N/A | #N/A | 7 | ||||||||||||||||||||||
20 | B×software | B×hardware | B×hardware | 1 | ||||||||||||||||||||||
21 | #N/A | #N/A | #N/A | 5 | ||||||||||||||||||||||
22 | #N/A | #N/A | #N/A | |||||||||||||||||||||||
23 | in D column there are 2 unique values eg. {1;1} so to make it dynamic we use | |||||||||||||||||||||||||
24 | flaten it into one column | and split it on unique symbol | 2 | |||||||||||||||||||||||
25 | A×software | A | software | |||||||||||||||||||||||
26 | A×hardware | A | hardware | and make a sequence of it | ||||||||||||||||||||||
27 | #N/A | #N/A | 1 | |||||||||||||||||||||||
28 | A×hardware | A | hardware | 1 | ||||||||||||||||||||||
29 | A×software | A | software | |||||||||||||||||||||||
30 | A×hardware | A | hardware | next we just transpose mmult | ||||||||||||||||||||||
31 | A×software | A | software | 7 | 1 | 5 | ||||||||||||||||||||
32 | A×hardware | A | hardware | |||||||||||||||||||||||
33 | #N/A | #N/A | and add TOTAL label in array | |||||||||||||||||||||||
34 | A×process | A | process | TOTAL | 7 | 1 | 5 | |||||||||||||||||||
35 | #N/A | #N/A | ||||||||||||||||||||||||
36 | #N/A | #N/A | now we join it: | |||||||||||||||||||||||
37 | B×software | B | software | workstream | hardware | process | software | |||||||||||||||||||
38 | #N/A | #N/A | A | 4 | 1 | 3 | ||||||||||||||||||||
39 | #N/A | #N/A | B | 3 | 2 | |||||||||||||||||||||
40 | B×hardware | B | hardware | TOTAL | 7 | 1 | 5 | |||||||||||||||||||
41 | #N/A | #N/A | ||||||||||||||||||||||||
42 | #N/A | #N/A | all steps together will give us | |||||||||||||||||||||||
43 | B×software | B | software | workstream | hardware | process | software | |||||||||||||||||||
44 | B×hardware | B | hardware | A | 4 | 1 | 3 | |||||||||||||||||||
45 | B×hardware | B | hardware | B | 3 | 2 | ||||||||||||||||||||
46 | #N/A | #N/A | TOTAL | 7 | 1 | 5 | ||||||||||||||||||||
47 | #N/A | #N/A | ||||||||||||||||||||||||
48 | #N/A | #N/A | ||||||||||||||||||||||||
49 | #N/A | #N/A | ||||||||||||||||||||||||
50 | #N/A | #N/A | ||||||||||||||||||||||||
51 | #N/A | #N/A | ||||||||||||||||||||||||
52 | ||||||||||||||||||||||||||
53 | and next we query it and pivot it: | |||||||||||||||||||||||||
54 | workstream | hardware | process | software | ||||||||||||||||||||||
55 | A | 4 | 1 | 3 | ||||||||||||||||||||||
56 | B | 3 | 2 | |||||||||||||||||||||||
57 | ||||||||||||||||||||||||||
58 | ||||||||||||||||||||||||||
59 | ||||||||||||||||||||||||||
60 | ||||||||||||||||||||||||||
61 | ||||||||||||||||||||||||||
62 | ||||||||||||||||||||||||||
63 | ||||||||||||||||||||||||||
64 | ||||||||||||||||||||||||||
65 | ||||||||||||||||||||||||||
66 | ||||||||||||||||||||||||||
67 | ||||||||||||||||||||||||||
68 | ||||||||||||||||||||||||||
69 | ||||||||||||||||||||||||||
70 | ||||||||||||||||||||||||||
71 | ||||||||||||||||||||||||||
72 | ||||||||||||||||||||||||||
73 | ||||||||||||||||||||||||||
74 | ||||||||||||||||||||||||||
75 | ||||||||||||||||||||||||||
76 | ||||||||||||||||||||||||||
77 | ||||||||||||||||||||||||||
78 | ||||||||||||||||||||||||||
79 | ||||||||||||||||||||||||||
80 | ||||||||||||||||||||||||||
81 | ||||||||||||||||||||||||||
82 | ||||||||||||||||||||||||||
83 | ||||||||||||||||||||||||||
84 | ||||||||||||||||||||||||||
85 | ||||||||||||||||||||||||||
86 | ||||||||||||||||||||||||||
87 | ||||||||||||||||||||||||||
88 | ||||||||||||||||||||||||||
89 | ||||||||||||||||||||||||||
90 | ||||||||||||||||||||||||||
91 | ||||||||||||||||||||||||||
92 | ||||||||||||||||||||||||||
93 | ||||||||||||||||||||||||||
94 | ||||||||||||||||||||||||||
95 | ||||||||||||||||||||||||||
96 | ||||||||||||||||||||||||||
97 | ||||||||||||||||||||||||||
98 | ||||||||||||||||||||||||||
99 | ||||||||||||||||||||||||||
100 | ||||||||||||||||||||||||||