title: Kusto: Apply function on multiple column values during bag_unpack
body: <p><strong>Given</strong> a dynamic field, say, <code>milestones</code>, it has value like: <code>{&quot;ta&quot;: 1655859586546, &quot;tb&quot;: 1655859586646}</code>,</p>
  <p><strong>How do I</strong> print a table with <strong>columns like &quot;ta&quot;, &quot;tb&quot; etc</strong>, with the single row as <code>unixtime_milliseconds_todatetime(tolong(taValue))</code>, <code>unixtime_milliseconds_todatetime(tolong(tbValue))</code> etc.</p>
  <p>I figured that I'll need to write a function that I can call, so I created this:-</p>
  <pre><code>let f = view(a:string ){
  unixtime_milliseconds_todatetime(tolong(a))
  };
  </code></pre>
  <p>I can use this function with a <code>normal</code> column as:- <code>project f(columnName)</code>.</p>
  <p>However, in this case, its a dynamic field, and the number of items in the list is large, so I do not want to enter the fields manually. This is what I have so far.</p>
  <pre><code>log_table
  | take 1
  | evaluate bag_unpack(milestones, &quot;m_&quot;) // This gives me fields as columns
  // | project-keep m_* // This would work, if I just wanted the value, however, I want `view(columnValue)
  | project-keep f(m_*) // This of course doesn't work, but explains the idea.
  </code></pre>