code: def facet(table, key):
      
  
      fct = dict()
      for v in set(values(table, key)):
          fct[v] = selecteq(table, key, v)
      return fct
docs: Return a dictionary mapping field values to tables. E.g.::
  
          >>> import petl as etl
          >>> table1 = [['foo', 'bar', 'baz'],
          ...           ['a', 4, 9.3],
          ...           ['a', 2, 88.2],
          ...           ['b', 1, 23.3],
          ...           ['c', 8, 42.0],
          ...           ['d', 7, 100.9],
          ...           ['c', 2]]
          >>> foo = etl.facet(table1, 'foo')
          >>> sorted(foo.keys())
          ['a', 'b', 'c', 'd']
          >>> foo['a']
          +-----+-----+------+
          | foo | bar | baz  |
          +=====+=====+======+
          | 'a' |   4 |  9.3 |
          +-----+-----+------+
          | 'a' |   2 | 88.2 |
          +-----+-----+------+
  
          >>> foo['c']
          +-----+-----+------+
          | foo | bar | baz  |
          +=====+=====+======+
          | 'c' |   8 | 42.0 |
          +-----+-----+------+
          | 'c' |   2 |      |
          +-----+-----+------+
  
      See also :func:`petl.util.materialise.facetcolumns`.