KX Community

Find answers, ask questions, and connect with our KX Community around the world.
KX Community Guidelines

Home Forums kdb+ How can I apply a func to a grouped table? Reply To: How can I apply a func to a grouped table?

  • rocuinneagain

    Member
    August 1, 2024 at 4:07 pm

    In my answer I use 0N which is the long null. If your table column type for AskOrder is float then the resulting column will be of mixed type. Check by calling meta on the result. save cannot write mixed type columns like this.

    A good solution is to update f to ensure it uses a null of the correct datatype:

    f:{i:az -1+(where deltas y xrank az:asc z),count z;(`$x,/:string 1+til y)!i,(y-count i)#z count z}

    The added bit is z count z in place of 0N

    Indexing out of bounds on a q vector returns nulls of the dataype of the vector:

    q)(0 1)2 / Long null returned
    0N
    q)(0 1f)2 / Float null returned
    0n