# Data Access Layer
from DAL import DataAccessLayer

DAL = DataAccessLayer(path='DEV.yml')

mdx = {
    'columns':'{TM1FILTERBYLEVEL(TM1SubsetAll([Period].[Period]), 0)}',
    'rows':'{[Account].[Account].MEMBERS}',
    'where':[
        '[Version].[Version].[Forecast]', 
        '[Scenario].[Scenario].[real case]', 
        '[Measure].[Measure].[comment]'
       ],
    'cube':'[Profit_and_Loss]'
}

query = f"SELECT NON EMPTY {mdx['columns']} ON 0, "\
        f"NON EMPTY {mdx['rows']} ON 1 "\
        f"FROM {mdx['cube']} "\
        f"WHERE ({','.join(mdx['where'])})"
        
# Call the Data Access Layer PULL request by MDX-Statement
data_raw = DAL.load_data_by_mdx(query)