dbget

command
v1.17.7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 13, 2025 License: MIT Imports: 22 Imported by: 0

Documentation

Overview

dbget is a command line tool to export OpenM++ model metadata, input parameters and run results. It is reading from model database and produce CSV, TSV or JSON output.

Most generic format to specify source data is to use connection string and driver name:

dbget
  -dbget.Do model-list
  -dbget.Database "Database=model.sqlite; Timeout=86400; OpenMode=ReadOnly;"
  -dbget.DatabaseDriver SQLite

Dget can read model data from SQLite, MySQL, PostgreSQL, MS SQL, Oracle and DB2.

By default openM++ is using SQLite database and it is enough to specife path to model.sqlite file:

dbget -do model-list -db some/dir/model.sqlite
dbget -do model-list -dbget.Sqlite some/dir/model.sqlite

If SQLite database file name is the same as model name and located in current directory then it is enough to specify model name only:

dbget -m modelOne -do all-runs

As result of above command dbget will open modelOne.sqlite database file in current directory and do "all-runs" command to output all model runs result and input parameters.

Most often used options of dbget do have a short form to reduce typing on command line. For example: -db is a short version of: -dbget.Sqlite option and -do is a short of -dbget.Do. Longer version of options can be used on command line and ini files.

For example, if there is my.ini file:

[dbget]
Do     = model-list             ; dbget action: 'model-iist' = get list of the models
Sqlite = some/dir/model.sqlite  ; path to model SQLite database file

then commands below are equal:

dbget -ini           my.ini
dbget -OpenM.IniFile my.ini
dbget -do       model-list -db           some/dir/model.sqlite
dbget -dbget.Do model-list -dbget.Sqlite some/dir/model.sqlite

By default dbget produce .csv output file(s), e.g. commands above will create model-list.csv file. It is also possible to produce .tsv output and, for some commands, .json output:

dbget -db modelOne.sqlite -do model-list
dbget -db modelOne.sqlite -do model-list -csv
dbget -db modelOne.sqlite -do model-list -tsv
dbget -db modelOne.sqlite -do model-list -json
dbget -db modelOne.sqlite -do model-list -dbget.As csv
dbget -db modelOne.sqlite -do model-list -dbget.As tsv
dbget -db modelOne.sqlite -do model-list -dbget.As json

By default dbget write results into the file and user can redirect it to console:

dbget -db modelOne.sqlite -do model-list -dbget.ToConsole
dbget -db modelOne.sqlite -do model-list -pipe

It is convenient to use -pipe as a short form of: -dbget.ToConsole -OpenM.LogToConsole=false to produce output suitable for command pipes.

**Important:** By using -pipe you are suppressing any console error message output and therefore you must check dbget exit code or enable additonal log output to file by using -OpenM.LogToFile option.

By default dbget produces language specific output based on match of user OS language to model languages. For example, if user OS language is fr-CA then output will be created from model FR language, if it is exists in the model database. If there are no laguage matched then output created in default model language.

dbget -m modelOne -do all-runs

Above -do all-runs option producrs output of all modelOne model runs input parameters and output tables data into .csv files. Dimension labels in those .csv files are language specific, for example it can be Männlich, Weiblich for Deutsche OS version.

User can override default OS language:

dbget -m modelOne -do all-runs -lang FR
dbget -m modelOne -do all-runs -lang fr-CA
dbget -m modelOne -do all-runs -lang isl
dbget -m modelOne -do all-runs -dbget.Language EN
dbget -m modelOne -do all-runs -dbget.Language en-CA
dbget -m modelOne -do all-runs -dbget.Language isl

If isl = Icelandic language not found in model database then closest languge will be used, for example: DA, or, if no match found in database then it is a default model language.

If user do not want language specific labels in the output then -dbget.NoLanguage option can be used. In that case dimension items will be M, F codes instead of Male, Female lables.

dbget -m modelOne -do all-runs -dbget.NoLanguage

If user want language neutral output with dimension items id's: 0, 1 instead codes: M, F then -dbget.IdCsv option can be used. In that case dimension items will be M, F codes instead of Male, Female lables.

dbget -m modelOne -do all-runs -dbget.IdCsv

**dbget commands (actions)**

Get list of the models from database:

dbget -db modelOne.sqlite -do model-list

dbget -db modelOne.sqlite -do model-list -dbget.As csv
dbget -db modelOne.sqlite -do model-list -dbget.As tsv
dbget -db modelOne.sqlite -do model-list -dbget.As json

dbget -db modelOne.sqlite -do model-list -csv  -dbget.ToConsole
dbget -db modelOne.sqlite -do model-list -tsv  -dbget.ToConsole
dbget -db modelOne.sqlite -do model-list -json -dbget.ToConsole
dbget -db modelOne.sqlite -do model-list -tsv  -pipe

dbget -db modelOne.sqlite -do model-list -dbget.Language EN
dbget -db modelOne.sqlite -do model-list -lang fr-CA
dbget -db modelOne.sqlite -do model-list -lang isl

dbget -db modelOne.sqlite -do model-list -dbget.Notes -lang en-CA
dbget -db modelOne.sqlite -do model-list -dbget.Notes -lang fr-CA
dbget -db modelOne.sqlite -do model-list -dbget.Notes -lang isl
dbget -db modelOne.sqlite -do model-list -dbget.NoLanguage

dbget -dbget.Sqlite my/dir/modelOne.sqlite -dbget.Do model-list

dbget
  -dbget.Do model-list
  -dbget.Database "Database=model.sqlite; Timeout=86400; OpenMode=ReadOnly;"
  -dbget.DatabaseDriver SQLite

Get model metadata from database:

dbget -m modelOne -do model
dbget -m modelOne -do model -csv
dbget -m modelOne -do model -tsv
dbget -m modelOne -do model -json
dbget -m modelOne -do model -pipe
dbget -m modelOne -do model -lang en-CA
dbget -m modelOne -do model -lang fr-CA
dbget -m modelOne -do model -lang isl
dbget -m modelOne -do model -lang fr-CA -dbget.Notes
dbget -m modelOne -do model -dbget.NoLanguage
dbget -m modelOne -do model -dir my/output/dir
dbget -m modelOne -do model -f my-model.csv

dbget -dbget.ModelName modelOne -dbget.Do model -dbget.As csv -dbget.ToConsole -dbget.Language FR

Get list of model runs:

dbget -m modelOne -do run-list
dbget -m modelOne -do run-list -csv
dbget -m modelOne -do run-list -tsv
dbget -m modelOne -do run-list -json
dbget -m modelOne -do run-list -lang fr-CA
dbget -m modelOne -do run-list -dbget.NoLanguage
dbget -m modelOne -do run-list -dir my/output/dir
dbget -m modelOne -do run-list -f my-runs.csv
dbget -m modelOne -do run-list -pipe
dbget -m modelOne -do run-list -lang fr-CA -dbget.Notes

dbget -db my/dir/modelOne.sqlite -dbget.ModelName modelOne -dbget.Do run-list

Get all model runs parameters and output table values:

dbget -m modelOne -do all-runs
dbget -m modelOne -do all-runs -lang fr-CA
dbget -m modelOne -do all-runs -dbget.NoLanguage
dbget -m modelOne -do all-runs -dbget.IdCsv
dbget -m modelOne -do all-runs -tsv
dbget -m modelOne -do all-runs -dir my/output/dir
dbget -m modelOne -do all-runs -pipe
dbget -m modelOne -do all-runs -dbget.NoZeroCsv
dbget -m modelOne -do all-runs -dbget.NoNullCsv
dbget -m modelOne -do all-runs -dbget.NoZeroCsv -dbget.NoNullCsv

dbget -dbget.ModelName modelOne -dbget.Do all-runs

Get model run parameters and output table values:

dbget -m modelOne -do run -dbget.FirstRun
dbget -m modelOne -do run -dbget.LastRun
dbget -m modelOne -do run -r Default-4
dbget -m modelOne -do run -r Default-4 -lang fr-CA
dbget -m modelOne -do run -r Default-4 -dbget.NoLanguage
dbget -m modelOne -do run -r Default-4 -dbget.IdCsv
dbget -m modelOne -do run -r Default-4 -tsv
dbget -m modelOne -do run -r Default-4 -pipe
dbget -m modelOne -do run -r Default-4 -dbget.NoZeroCsv
dbget -m modelOne -do run -r Default-4 -dbget.NoNullCsv
dbget -m modelOne -do run -r Default-4 -dbget.NoZeroCsv -dbget.NoNullCsv

dbget -dbget.ModelName modelOne -dbget.Do run -dbget.Run Default

Get parameter run values:

dbget -m modelOne -r Default -parameter ageSex
dbget -m modelOne -r Default -parameter ageSex -lang fr-CA
dbget -m modelOne -r Default -parameter ageSex -dbget.NoLanguage
dbget -m modelOne -r Default -parameter ageSex -dbget.IdCsv
dbget -m modelOne -r Default -parameter ageSex -tsv
dbget -m modelOne -r Default -parameter ageSex -pipe

dbget -m modelOne -dbget.FirstRun -parameter ageSex
dbget -m modelOne -dbget.LastRun  -parameter ageSex

dbget -dbget.ModelName modelOne -dbget.Do parameter -dbget.Run Default -dbget.Parameter ageSex

Get output table values:

dbget -m modelOne -r Default -table ageSexIncome
dbget -m modelOne -r Default -table ageSexIncome -lang fr-CA
dbget -m modelOne -r Default -table ageSexIncome -dbget.NoLanguage
dbget -m modelOne -r Default -table ageSexIncome -dbget.IdCsv
dbget -m modelOne -r Default -table ageSexIncome -tsv
dbget -m modelOne -r Default -table ageSexIncome -pipe
dbget -m modelOne -r Default -table ageSexIncome -dbget.NoZeroCsv
dbget -m modelOne -r Default -table ageSexIncome -dbget.NoNullCsv

dbget -m modelOne -dbget.FirstRun -table ageSexIncome
dbget -m modelOne -dbget.LastRun  -table ageSexIncome

dbget -dbget.ModelName modelOne -dbget.Do table -dbget.Run Default -dbget.Table ageSexIncome

Get output table sub-values (get accumulators):

dbget -m modelOne -r Default -sub-table ageSexIncome
dbget -m modelOne -r Default -sub-table ageSexIncome -lang fr-CA
dbget -m modelOne -r Default -sub-table ageSexIncome -dbget.NoLanguage
dbget -m modelOne -r Default -sub-table ageSexIncome -dbget.IdCsv
dbget -m modelOne -r Default -sub-table ageSexIncome -tsv
dbget -m modelOne -r Default -sub-table ageSexIncome -pipe
dbget -m modelOne -r Default -sub-table ageSexIncome -dbget.NoZeroCsv
dbget -m modelOne -r Default -sub-table ageSexIncome -dbget.NoNullCsv

dbget -m modelOne -dbget.FirstRun -sub-table ageSexIncome
dbget -m modelOne -dbget.LastRun  -sub-table ageSexIncome

dbget -dbget.ModelName modelOne -dbget.Do sub-table -dbget.Run Default -dbget.Table ageSexIncome

Get output table all sub-values, including derived (get all accumulators):

dbget -m modelOne -r Default -sub-table-all ageSexIncome
dbget -m modelOne -r Default -sub-table-all ageSexIncome -lang fr-CA
dbget -m modelOne -r Default -sub-table-all ageSexIncome -dbget.NoLanguage
dbget -m modelOne -r Default -sub-table-all ageSexIncome -dbget.IdCsv
dbget -m modelOne -r Default -sub-table-all ageSexIncome -tsv
dbget -m modelOne -r Default -sub-table-all ageSexIncome -pipe
dbget -m modelOne -r Default -sub-table-all ageSexIncome -dbget.NoZeroCsv
dbget -m modelOne -r Default -sub-table-all ageSexIncome -dbget.NoNullCsv

dbget -m modelOne -dbget.FirstRun -sub-table-all ageSexIncome
dbget -m modelOne -dbget.LastRun  -sub-table-all ageSexIncome -tsv -pipe
dbget -m modelOne -dbget.LastRun  -sub-table-all ageSexIncome -tsv -pipe -dbget.NoZeroCsv -dbget.NoNullCsv

dbget -dbget.ModelName modelOne -dbget.Do sub-table-all -dbget.Run Default -dbget.Table ageSexIncome

Get list of input parameters sets (list of input scenarios, list of worksets):

dbget -m modelOne -do set-list
dbget -m modelOne -do set-list -csv
dbget -m modelOne -do set-list -tsv
dbget -m modelOne -do set-list -json
dbget -m modelOne -do set-list -lang fr-CA
dbget -m modelOne -do set-list -dbget.NoLanguage
dbget -m modelOne -do set-list -dir my/output/dir
dbget -m modelOne -do set-list -f my-scenarios.csv
dbget -m modelOne -do set-list -pipe
dbget -m modelOne -do set-list -lang fr-CA -dbget.Notes

dbget -db my/dir/modelOne.sqlite -dbget.ModelName modelOne -dbget.Do set-list

Get all parameters from all input sets (a.k.a. input scenarios or worksets):

dbget -m modelOne -do all-sets
dbget -m modelOne -do all-sets -lang fr-CA
dbget -m modelOne -do all-sets -dbget.NoLanguage
dbget -m modelOne -do all-sets -dbget.IdCsv
dbget -m modelOne -do all-sets -tsv
dbget -m modelOne -do all-sets -pipe

dbget -dbget.ModelName modelOne -dbget.Do all-sets

Get parameter input set (a.k.a. input scenario or workset) values:

dbget -m modelOne -s Default -parameter-set ageSex
dbget -m modelOne -s Default -parameter-set ageSex -lang fr-CA
dbget -m modelOne -s Default -parameter-set ageSex -dbget.NoLanguage
dbget -m modelOne -s Default -parameter-set ageSex -dbget.IdCsv
dbget -m modelOne -s Default -parameter-set ageSex -tsv
dbget -m modelOne -s Default -parameter-set ageSex -pipe

dbget -dbget.ModelName modelOne -dbget.Do parameter-set -dbget.Set Default -dbget.Parameter ageSex

Get all parameters from input set (a.k.a. input scenario or workset):

dbget -m modelOne -s Default -do set
dbget -m modelOne -s Default -do set -lang fr-CA
dbget -m modelOne -s Default -do set -dbget.NoLanguage
dbget -m modelOne -s Default -do set -dbget.IdCsv
dbget -m modelOne -s Default -do set -tsv
dbget -m modelOne -s Default -do set -pipe

dbget -dbget.ModelName modelOne -dbget.Do set -dbget.Set Default

Get entity microdata:

dbget -m modelOne -r "Microdata in database" -microdata Person
dbget -m modelOne -r "Microdata in database" -microdata Person -lang fr-CA
dbget -m modelOne -r "Microdata in database" -microdata Person -dbget.NoLanguage
dbget -m modelOne -r "Microdata in database" -microdata Person -dbget.IdCsv
dbget -m modelOne -r "Microdata in database" -microdata Person -tsv
dbget -m modelOne -r "Microdata in database" -microdata Person -pipe
dbget -m modelOne -r "Microdata in database" -microdata Person -dbget.NoZeroCsv
dbget -m modelOne -r "Microdata in database" -microdata Person -dbget.NoNullCsv

dbget -dbget.ModelName modelOne -dbget.Do microdata -dbget.Run "Microdata in database" -dbget.Entity Person

Aggregate and compare microdata run values:

dbget -m modelOne -do microdata-aggregate
  -dbget.RunId 219
  -dbget.Entity Other
  -dbget.GroupBy AgeGroup
  -dbget.Calc OM_AVG(Income)

dbget -m modelOne -do microdata-aggregate
  -dbget.FirstRun
  -dbget.WithLastRun
  -dbget.Entity Other
  -dbget.GroupBy AgeGroup
  -dbget.Calc OM_AVG(Income),OM_AVG(Income[base]-Income[variant])

dbget -m modelOne -do microdata-compare
  -dbget.RunId 219
  -dbget.WithRunIds 221
  -dbget.Entity Person
  -dbget.GroupBy AgeGroup
  -dbget.Calc OM_AVG(Income[base]-Income[variant])

Get model metadata from compatibility (Modgen) views:

dbget -m modelOne -do old-model
dbget -m modelOne -do old-model -csv
dbget -m modelOne -do old-model -tsv
dbget -m modelOne -do old-model -json
dbget -m modelOne -do old-model -pipe

dbget -dbget.ModelName modelOne -dbget.Do old-model -dbget.As csv -dbget.ToConsole -dbget.Language FR

Get model run parameters and output tables values from compatibility (Modgen) views:

dbget -m modelOne -do old-run
dbget -m modelOne -do old-run -csv
dbget -m modelOne -do old-run -tsv
dbget -m modelOne -do old-run -lang fr-CA
dbget -m modelOne -do old-run -dbget.NoLanguage
dbget -m modelOne -do old-run -dbget.IdCsv
dbget -m modelOne -do old-run -pipe
dbget -m modelOne -do old-run -dir my/dir
dbget -m modelOne -do old-run -dbget.NoZeroCsv
dbget -m modelOne -do old-run -dbget.NoNullCsv

dbget -dbget.ModelName modelOne -dbget.Do old-run -dbget.As csv -dbget.ToConsole -dbget.Language FR

Get parameter run values from compatibility (Modgen) views:

dbget -m modelOne -do old-parameter -dbget.Parameter ageSex
dbget -m modelOne -do old-parameter -dbget.Parameter ageSex -csv
dbget -m modelOne -do old-parameter -dbget.Parameter ageSex -tsv
dbget -m modelOne -do old-parameter -dbget.Parameter ageSex -lang fr-CA
dbget -m modelOne -do old-parameter -dbget.Parameter ageSex -dbget.NoLanguage
dbget -m modelOne -do old-parameter -dbget.Parameter ageSex -dbget.IdCsv
dbget -m modelOne -do old-parameter -dbget.Parameter ageSex -pipe

dbget -dbget.ModelName modelOne -dbget.Do old-parameter -dbget.Parameter ageSex -dbget.As csv -dbget.ToConsole -dbget.Language FR

Get output table values from compatibility (Modgen) views:

dbget -m modelOne -do old-table -dbget.Table salarySex
dbget -m modelOne -do old-table -dbget.Table salarySex -csv
dbget -m modelOne -do old-table -dbget.Table salarySex -tsv
dbget -m modelOne -do old-table -dbget.Table salarySex -lang fr-CA
dbget -m modelOne -do old-table -dbget.Table salarySex -dbget.NoLanguage
dbget -m modelOne -do old-table -dbget.Table salarySex -dbget.IdCsv
dbget -m modelOne -do old-table -dbget.Table salarySex -pipe
dbget -m modelOne -do old-table -dbget.Table salarySex -dbget.NoZeroCsv
dbget -m modelOne -do old-table -dbget.Table salarySex -dbget.NoNullCsv

dbget -dbget.ModelName modelOne -dbget.Do old-table -dbget.Table ageSexIncome -dbget.As csv -dbget.ToConsole -dbget.Language FR

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL