code: def _parse_table_name(self, table_id):
          
  
          # Prefix date
          attributes = table_id.split('_')
          year_month = "-".join(attributes[:2])
          app_id = "-".join(attributes[2:])
  
          # Check if date parsed correctly
          if year_month.count("-") == 1 and all(
                  [num.isdigit() for num in year_month.split('-')]):
              return year_month, app_id
  
          # Postfix date
          attributes = table_id.split('_')
          year_month = "-".join(attributes[-2:])
          app_id = "-".join(attributes[:-2])
  
  
          # Check if date parsed correctly
          if year_month.count("-") == 1 and all(
                  [num.isdigit() for num in year_month.split('-')]) and len(year_month) == 7:
              return year_month, app_id
  
          return None, None
docs: Parse a table name in the form of appid_YYYY_MM or
          YYYY_MM_appid and return a tuple consisting of YYYY-MM and the app id.
  
          Returns (None, None) in the event of a name like <desc>_YYYYMMDD_<int>
  
          Parameters
          ----------
          table_id : str
              The table id as listed by BigQuery
  
          Returns
          -------
          tuple
              (year/month, app id), or (None, None) if the table id cannot be
              parsed.