def indexables_from_dsd(dsd):
    """Return indexable items from a DSD."""
    yield dsd.attributes
    yield from dsd.attributes.components
    yield dsd.dimensions
    yield from dsd.dimensions.components
    if dsd.measures:
        yield dsd.measures
        yield from dsd.measures.components
    for gdd in dsd.group_dimensions.values():
        yield gdd
        yield from gdd.components
