Forum Discussion
ic2092
Sep 17, 2024Copper Contributor
Extending by a function output
datatable(ids: dynamic)
[
dynamic(["value1", "value2"])
]
| function(ids) This above snippet works fine and returns a table datatable(date: datetime, ids: dynamic)
[
datetime(20...
Anonymous
Oct 22, 2024Cuando usas `extend` espera un escalar pero la función devuelve una tabla, puedes utilizar `mv-apply` para trabajar con datos tabulares dentro de la columna dinámica. Aquí hay un enfoque alternativo:
```kusto
let function = (ids: dynamic) {
datatable(output1: string, output2: string)
[
tostring(ids[0]), tostring(ids[1])
]
};
datatable(date: datetime, ids: dynamic)
[
datetime(2022-01-01), dynamic(["value1", "value2"]),
datetime(2022-01-02), dynamic(["value3", "value4"])
]
| mv-apply ids on (
extend (output1, output2) = function(ids)
)
```
Al usar `mv-apply`, puedes aplicar la función a cada elemento de la columna dinámica y extender los resultados a nuevas columnas. Prueba este enfoque y dime si te funciona.
```kusto
let function = (ids: dynamic) {
datatable(output1: string, output2: string)
[
tostring(ids[0]), tostring(ids[1])
]
};
datatable(date: datetime, ids: dynamic)
[
datetime(2022-01-01), dynamic(["value1", "value2"]),
datetime(2022-01-02), dynamic(["value3", "value4"])
]
| mv-apply ids on (
extend (output1, output2) = function(ids)
)
```
Al usar `mv-apply`, puedes aplicar la función a cada elemento de la columna dinámica y extender los resultados a nuevas columnas. Prueba este enfoque y dime si te funciona.