**Describe the issue**
We have to set macro or to pass explicitly shard and replica name to create table in DatabaseReplicated

{
    String name = getAliasToOrName(name_param);
    Value found;
    
    if (auto it = aggregate_functions.find(name); it != aggregate_functions.end())
    {
        found = it->second;
    }
    if (auto jt = case_insensitive_aggregate_functions.find(Poco::toLower(name)); jt != case_insensitive_aggregate_functions.end())
        found = jt->second;
    if (found.creator)
        return found.properties;
    
    
    
    if (AggregateFunctionCombinatorPtr combinator = AggregateFunctionCombinatorFactory::instance().tryFindSuffix(name))
    {
        if (combinator->isForInternalUsageOnly())
            return {};
        String nested_name = name.substr(0, name.size() - combinator->getName().size());
        
        return tryGetPropertiesImpl(nested_name);
    }
    return {};
}
std::optional<AggregateFunctionProperties> AggregateFunctionFactory::tryGetProperties(const String & name) const