How useful Kibana is for reporting purpose

We understand that Kibana is very much helpful in case of Data Aggregation and analytics specially with strong set of graph tools. My concern is how useful kibana is for reporting purpose, like detail usage, stock reports etc ?
joining several indices and use search on that ?

is that ok or not recommended. If I wish to do those with millions of data spreader over indices what are things that I should remember as best practices ?

Well as long as you can ingest your data Kibana can 'report' on them. But it's not good at joining indicies like between relation tables in a rDBMS, so your data should not be 'normalized' into different indices: I would say one BCP is a bit like with other noSQLs ingest your data so they can answer your questions.

So, it can be assumed it could be done only if we can model data ingest before sending it to indices rather going to perform any join query on those data ? rDBMS type though process may not helpful either.

Yes if you can create a time serie of 'event documents' containing the field data you later wish to 'query' graph the trend of then yes no problem.

Not sure if elastic new KQL could perform some form of join or if the SQL-ish interpreter in Canvas only applies to Canvas.

Any Elastic member to elaborate on this here?