from typing import List
from typing import Any
from typing import Tuple
import math


def analyze_data_type(data_list: List[Any]) -> Tuple[List[Any], bool]:
    """Look at the data, remove any null-like values, sort, and tell if it's numerical."""

    def is_nullish(val: Any) -> bool:
        if isinstance(val, str):
            return not bool(val) or str.isspace(val)
        if isinstance(val, float):
            return math.isnan(val)
        return False

    uniques = sorted({e for e in data_list if not is_nullish(e)})
    is_numerical = isinstance(uniques[0], (float, int))  # sorted, so only need first
    return uniques, is_numerical