code: def _postprocess(results):
      processed: Dict[str, Dict] = {}
      for rev, rev_data in results.items():
          if not rev_data:
              continue
  
          processed[rev] = {}
  
          counts: typing.Counter[str] = Counter()
          for file_data in rev_data["data"].values():
              for k in file_data["data"]:
                  counts[k] += 1
          for file_name, file_data in rev_data["data"].items():
              to_merge = {
                  (k if counts[k] == 1 else f"{file_name}:{k}"): v
                  for k, v in file_data["data"].items()
              }
              processed[rev] = {**processed[rev], **to_merge}
  
      if "workspace" in processed:
          del processed["workspace"]
  
      return processed
  
file_path: dvc/dvc/api/show.py
imports: import typing
  from collections import Counter
  from typing import Dict, Iterable, Optional, Union
  from funcy import first
  from dvc.repo import Repo
label_desc: Use image node_id 1 for calling a global function with example usage: _postprocess(results) and returns: processed