====Samples==== Captures table values //over time// into attributes of the timeframe. This is used to capture a sequence of values that happen over time in a clear, consistent order. For example, you can choose to **sample** a table of Temperature values every 5 seconds for 30 seconds. This will create 6 attributes in your final Capture, named **Temperature_1**, **Temperature_2** etc, until **Temperature_6**. Each will be 5 seconds apart. The system will forward-fill any missing data to ensure it is complete for AI or analytic use. This deletes the table. ===Parameters=== ^Name^Default^Meaning^ |seconds||The number of seconds per sample| |max||The maximum number of samples| |columns||The specific columns to extract (optional)| If no columns are specified, //all// columns in the table are summarised. ===Example=== If the frame contains the following table of data... ^Attribute^Value^ |StartTime|09:00AM| |EndTime|10:00AM| ^Time^Machine.Speed^Machine.Voltage^Machine.Current^ |09:00AM|0|0|0| |09:10AM|0|240|3.2| |09:20AM|15|240|1.5| |09:30AM|18|240|1.5| |09:40AM|17|240|1.5| |09:50AM|17.5|240|1.5| { "type": "sample", "seconds": 600, "max": 4, "columns": ["Machine.Voltage"] } The final capture will have the following attributes... ^Attribute^Value^ |StartTime|09:00AM| |EndTime|10:00AM| |Machine.Voltage_1|0| |Machine.Voltage_2|0| |Machine.Voltage_3|15| |Machine.Voltage_4|18| ===Use Cases=== The primary use-case for this function is capturing data for building AI models that analyse data over time, such as LTSM neural networks. For example, if you want to detect specific defects or events based on a single value that is monitored over time, instead of looking for a combination of values from several sensors.