Use a ValueLoop (1,32) as a dimension, and using that, create your multiple rows.
so, If you have DATE_TIME as Dimension and STATUS as corresponding status, use ValueLoop(1,32) as a additional dimension, and in Expression put If(pick(ValueLoop(1,32),Filter1,...Filter32)&Status=1,'Status '&ValueLoop(1,32)&' is on','Status '&ValueLoop(1,32)& ' is Off')
Let me know how it goes.
I assume you refer to a diagram with your solution.
I rather envisioned a solution in the data load script because I will need to keep track of the changes in timely order.
To see whether the status has changed I will need to compare with each read record the new status against the old and then
a) generate an off record for all statuses not active any more
b) generate an on record for all statuses newly set
In case you want to do this in your script, instead of doing it in a chart, there should be simple way using an inline table.
Create a table of different status code and corresponding strings (Use Autogenerate for doing that).
Left Join with the Main Table, this should give you the values automatically.