dbget

command
v1.17.4 Latest Latest
Warning

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

Go to latest
Published: Jul 31, 2024 License: MIT Imports: 20 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.

In oredr to use it database connection must be specified. Most generic format is to use database connection string and driver name:

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

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/modelOne.sqlite
dbget -do model-list -dbget.Sqlite some/dir/modelOne.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 ouput 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/modelOne.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/modelOne.sqlite
dbget -dbget.Do model-list -dbget.Sqlite some/dir/modelOne.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 redirect 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.

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

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 command (action) supplied as -do or -dbget.Do option.**

Get list of the models from database:

dbget -db modelOne.sqlite -do model-list

dbget -m modelOne -do model-list -dbget.As csv
dbget -m modelOne -do model-list -dbget.As tsv
dbget -m modelOne -do model-list -dbget.As json

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

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

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

dbget -dbget.Sqlite modelOne.sqlite -dbget.Do model-list

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

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 -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.Sqlite modelOne.sqlite -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 -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.Sqlite modelOne.sqlite -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 -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.Sqlite modelOne.sqlite -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 -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.Sqlite modelOne.sqlite -dbget.Do table -dbget.Run Default -dbget.Table ageSexIncome

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.Sqlite modelOne.sqlite -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 -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.Sqlite modelOne.sqlite -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 -pipe

dbget -dbget.Sqlite modelOne.sqlite -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 -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.Sqlite modelOne.sqlite -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