    """
        This example script imports an Excel file and
        creates a predictionset from that dataset.
    """
    import umetrics
    import os
    from tkinter import messagebox, Tk

    def show_message(message):
        # Show a tkinter messagebox with the message.
        tk_main=Tk()
        tk_main.withdraw()
        messagebox.showinfo(title='Import Predictionset', message=message)
        tk_main.destroy()

    def run():
        show_message('This script imports data to an existing project and sets it as the current predictionset.')
        # Close the current open project
        project = umetrics.SimcaApp.get_active_project()
        if project.is_open :
            if not umetrics.simca.ProjectHandler.close_project(project, True):
                return

        # The path for the data file and where the project is located
        scriptpath = os.path.dirname(os.path.realpath(__file__))
        datapath = scriptpath + r'\Data\Foods_predset.xls'
        projectpath = scriptpath + r'\Data\Importpredset.usp'
        # UseIndexes tells that the index of the sheets should be used instead of the sheet name
        sheetOptions = ''

        # Open the project
        project = umetrics.simca.ProjectHandler.open_project(projectpath)

        # Set the project as the active project in SIMCA to be able to create plots
        umetrics.SimcaApp.set_active_project(project)

        datafile = umetrics.impdata.read_file(datapath, openoptions = sheetOptions)

        # Specify primary and secondary ID
        # Set first row to primary variable ID
        datafile.importspec.set_row_type(0, umetrics.impdata.ImportSpecification.rowtype.primaryvarid)
        # Set first colum to primary observation ID
        datafile.importspec.set_col_type(0, umetrics.impdata.ImportSpecification.columntype.primaryobsid)
        # Set second colum to secondary observation ID
        datafile.importspec.set_col_type(1, umetrics.impdata.ImportSpecification.columntype.secondaryobsid)

        # Create the dataset
        ds_num1 = project.create_dataset(datafile, "DS_As_Predset")

        # Create a prediction set using the dataset for the active model
        active_model = project.get_active_model()
        if (active_model == 0) :
            raise LookupError('No active model')

        # Create a new predictionset from the dataset
        predset = project.create_predictionset(active_model)
        predset.as_dataset(ds_num1)
        predset.save("MyPredset")

        # Set predictionset as current predictionset to use
        project.set_predictionset("MyPredset")

        # Create some prediction plots
        if (project.is_model_fitted(active_model) == False) :
            project.fit_model(active_model)

        builder = umetrics.SimcaApp.plot_list_builder()
        builder.dmod_column_plot(umetrics.SimcaApp.PlotListBuilder.DModType.DModXPS)
        builder.predicted_score_scatter_plot()

    if __name__ == "__main__":
        run()