From ea568cb6486ce6d5f3c5d52fcd2e9202079cfecb Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 10 Jul 2024 06:49:34 +0000 Subject: [PATCH] deploy: 78b670c4f7dedcaba6a6459b91a5af12673b9532 --- 404.html | 8 +++---- administrator-guide/grammar/index.html | 10 ++++---- ...35a17.38802cb6.js => 02535a17.87e218fb.js} | 2 +- ...64eed.50883b7b.js => 0cf64eed.d9badc0b.js} | 2 +- ...de6e1.978084cb.js => 14fde6e1.9b19e673.js} | 2 +- ...9517c.6dfe154f.js => 1819517c.ca4edab9.js} | 2 +- ...068d9.9be65da6.js => 1a0068d9.c05826ea.js} | 2 +- assets/js/1d02d4bc.3fe72ef6.js | 1 - assets/js/1d02d4bc.63001061.js | 1 + ...a8812.d11dd49d.js => 1e1a8812.dd131f10.js} | 2 +- assets/js/1e2984e9.7abbe18b.js | 1 + assets/js/1e2984e9.edf35a0a.js | 1 - ...71902.57b0bfe9.js => 23c71902.a2749f4e.js} | 2 +- assets/js/354b54d5.5c499c66.js | 1 - assets/js/354b54d5.d4e493b6.js | 1 + ...3f942.481fc9c4.js => 35e3f942.296c27e3.js} | 2 +- ...77833.fc65e5fa.js => 3b877833.11d02e1e.js} | 2 +- ...20334.5c5ca08f.js => 3cc20334.5610a8b6.js} | 2 +- ...612b7.30d02be2.js => 3e2612b7.df5f687f.js} | 2 +- ...283ff.9abce036.js => 46e283ff.a545579b.js} | 2 +- ...f63c3.f210489f.js => 503f63c3.8fb6ede7.js} | 2 +- ...dbc72.94ccc495.js => 554dbc72.5b0adbbf.js} | 2 +- ...07297.ac244279.js => 5de07297.d39680c8.js} | 2 +- ...15c37.ccfe8769.js => 62c15c37.0b897830.js} | 2 +- ...4ca26.6044149a.js => 7684ca26.74cfa7bc.js} | 2 +- ...0d321.ed811856.js => 8150d321.cbfe11f8.js} | 2 +- ...dffe5.8c6a1f67.js => 872dffe5.adcc65b8.js} | 2 +- ...96d3a.2121c9b4.js => 8fd96d3a.b786a199.js} | 2 +- assets/js/935f2afb.709c1509.js | 1 - assets/js/935f2afb.88221692.js | 1 + ...22fc7.dfb16052.js => 94122fc7.533f8c5f.js} | 2 +- ...e6e4d.d9078173.js => 96ee6e4d.998d64ed.js} | 2 +- ...b3b0d.0d6a40ee.js => 9beb3b0d.ecc8b3f1.js} | 2 +- assets/js/9e7e4436.6b7e3733.js | 1 + ...dcfaa.573febf3.js => a1fdcfaa.9676a54d.js} | 2 +- ...0904c.7913b622.js => a2e0904c.9ca689c3.js} | 2 +- ...ba3f2.a8ec33ad.js => a35ba3f2.3947e5de.js} | 2 +- ...9e7f2.9118e5ac.js => aa19e7f2.0206d476.js} | 2 +- ...ad629.145229dc.js => ad8ad629.39c7ec94.js} | 2 +- ...c251f.5a63cbbc.js => ae1c251f.cdcae0a6.js} | 2 +- ...48e10.97ed0133.js => b2c48e10.20ce283b.js} | 2 +- ...0a178.e0080740.js => b720a178.82548779.js} | 2 +- ...23c67.f2515137.js => bb123c67.c7c82165.js} | 2 +- ...89211.37f94229.js => bd189211.fbb233e8.js} | 2 +- ...f84bd.bc0046d6.js => bf7f84bd.7fcf1186.js} | 2 +- ...373c7.07b9abff.js => c40373c7.b96ced77.js} | 2 +- ...7d197.7c7b43b0.js => c747d197.5edbccb0.js} | 2 +- ...36d5a.f528ae2b.js => cae36d5a.b6a0d6e8.js} | 2 +- ...150f4.82cdc422.js => cd8150f4.11b836af.js} | 2 +- ...1f8f6.095c3dfa.js => d391f8f6.135794d2.js} | 2 +- ...f6109.65150dcc.js => d49f6109.47ba3435.js} | 2 +- ...481b0.7c60a171.js => d91481b0.25100343.js} | 2 +- ...9e957.88187ec1.js => dc49e957.5f17e956.js} | 2 +- ...c4970.9305aada.js => dd7c4970.03382266.js} | 2 +- ...b44de.45469cb9.js => e39b44de.71ca4397.js} | 2 +- ...a9f0e.7eeac152.js => e98a9f0e.2811e023.js} | 2 +- ...2eec8.eadcf2ff.js => ece2eec8.4b7ed7b0.js} | 2 +- ...399a8.4fc88f52.js => f8b399a8.7af39a1a.js} | 2 +- ...e1c08.f0b26214.js => fbee1c08.16b4cbf5.js} | 2 +- assets/js/main.ae884746.js | 2 -- assets/js/main.e63eee52.js | 2 ++ ...CENSE.txt => main.e63eee52.js.LICENSE.txt} | 0 assets/js/runtime~main.191dc144.js | 1 + assets/js/runtime~main.a0b33f76.js | 1 - blog/archive/index.html | 8 +++---- blog/atom.xml | 2 +- blog/index.html | 10 ++++---- blog/rss.xml | 2 +- blog/tags/index.html | 8 +++---- blog/tags/sdmx/index.html | 10 ++++---- blog/tags/trevas-batch/index.html | 8 +++---- blog/tags/trevas-jupyter/index.html | 8 +++---- blog/tags/trevas-lab/index.html | 8 +++---- blog/tags/trevas/index.html | 10 ++++---- blog/trevas-batch-0.1.1/index.html | 8 +++---- blog/trevas-check_hierarchy/index.html | 8 +++---- blog/trevas-java-17/index.html | 8 +++---- blog/trevas-jupyter-0.3.2/index.html | 8 +++---- blog/trevas-lab-0.3.3/index.html | 8 +++---- blog/trevas-persistent-assignments/index.html | 8 +++---- blog/trevas-sdmx/index.html | 10 ++++---- blog/trevas-temporal-operators/index.html | 8 +++---- .../basic-mode/data-sources/index.html | 10 ++++---- .../basic-mode/data-sources/jdbc/index.html | 10 ++++---- .../basic-mode/data-sources/json/index.html | 10 ++++---- .../basic-mode/data-sources/others/index.html | 10 ++++---- developer-guide/basic-mode/index.html | 10 ++++---- developer-guide/index.html | 10 ++++---- .../spark-mode/data-sources/csv/index.html | 10 ++++---- .../spark-mode/data-sources/index.html | 10 ++++---- .../spark-mode/data-sources/jdbc/index.html | 10 ++++---- .../spark-mode/data-sources/others/index.html | 10 ++++---- .../data-sources/parquet/index.html | 10 ++++---- .../spark-mode/data-sources/sdmx/index.html | 24 +++++++++++++++++++ developer-guide/spark-mode/index.html | 10 ++++---- fr/404.html | 8 +++---- fr/administrator-guide/grammar/index.html | 10 ++++---- fr/assets/js/09b2a5c7.345fb751.js | 1 + fr/assets/js/09b2a5c7.ec69867c.js | 1 - ...15100.142346b7.js => 0d515100.970a33ed.js} | 2 +- fr/assets/js/1dbb7be8.3e0262a8.js | 1 - fr/assets/js/1dbb7be8.a3bb966e.js | 1 + ...92aa5.e2c977aa.js => 22c92aa5.50de1762.js} | 2 +- fr/assets/js/2ba6e4e9.683c53ce.js | 1 + fr/assets/js/2ba6e4e9.aa8f0a28.js | 1 - fr/assets/js/2c9d2781.2161ab20.js | 1 + fr/assets/js/2c9d2781.d1dd6843.js | 1 - ...28758.32a1bad3.js => 2e028758.d8880bfc.js} | 2 +- ...40132.7a4aa189.js => 38240132.fe600a2a.js} | 2 +- fr/assets/js/3b622d02.d85a93fb.js | 1 - fr/assets/js/3b622d02.f0373278.js | 1 + fr/assets/js/4105a8a1.31f39175.js | 1 - fr/assets/js/4105a8a1.647e0079.js | 1 + ...9798e.bd6ac852.js => 4519798e.8e0a1b6f.js} | 2 +- ...f6b6b.f1f6309a.js => 4def6b6b.69860f82.js} | 2 +- ...8ccff.f4bff8f0.js => 5488ccff.4ceaf283.js} | 2 +- ...3a0e2.a7be8619.js => 5563a0e2.f6b705e3.js} | 2 +- fr/assets/js/56c44917.253c8033.js | 1 - fr/assets/js/56c44917.dc8e828b.js | 1 + ...912a6.f37d062b.js => 582912a6.0797981d.js} | 2 +- ...1018b.d646a0f2.js => 58b1018b.4e32cbbc.js} | 2 +- ...c0cd9.ca735cd8.js => 5a5c0cd9.deece3db.js} | 2 +- ...0289b.9fa672f9.js => 5aa0289b.87c92fb9.js} | 2 +- ...25202.4bf7e7b2.js => 5ae25202.ed4ec0c8.js} | 2 +- ...bf3ee.2f7c281e.js => 5aebf3ee.4cd987b8.js} | 2 +- ...cf11b.25372426.js => 5f5cf11b.6d6f3c6f.js} | 2 +- ...e0308.6ead33aa.js => 63ae0308.76071172.js} | 2 +- fr/assets/js/6bac9c9f.d2f82fba.js | 1 + fr/assets/js/74ff4fe5.56e3b062.js | 1 + fr/assets/js/74ff4fe5.71a85747.js | 1 - ...f1925.50fac19d.js => 768f1925.b5b60f55.js} | 2 +- fr/assets/js/76da1b5d.b3a34856.js | 1 - fr/assets/js/76da1b5d.f1e75fe5.js | 1 + fr/assets/js/774b9899.989a95de.js | 1 + fr/assets/js/774b9899.a5480f2f.js | 1 - fr/assets/js/83f3df7d.b1e41f1b.js | 1 + fr/assets/js/83f3df7d.d67ad487.js | 1 - ...32e05.2dfc8725.js => 8af32e05.e5e0d3c6.js} | 2 +- ...444a7.7e348b3b.js => 8c8444a7.69217981.js} | 2 +- fr/assets/js/935f2afb.6b477d7e.js | 1 - fr/assets/js/935f2afb.f6585b56.js | 1 + ...5ab60.15cc788f.js => a045ab60.0fa296dd.js} | 2 +- ...5db36.ffe5fab0.js => a065db36.9cc82598.js} | 2 +- fr/assets/js/a952f7b5.19b0117b.js | 1 + fr/assets/js/a952f7b5.e74db6fd.js | 1 - fr/assets/js/a9db48ec.caf4f7ec.js | 1 + fr/assets/js/a9db48ec.eecf1eec.js | 1 - ...9a2ef.43962c49.js => abf9a2ef.c5af3d9e.js} | 2 +- fr/assets/js/b5f3ee0b.6455d94b.js | 1 - fr/assets/js/b5f3ee0b.6e84cd02.js | 1 + fr/assets/js/b85c47d4.bdb3b79a.js | 1 - fr/assets/js/b85c47d4.dc181c8c.js | 1 + ...649f9.3663a897.js => bc8649f9.5b3fb54f.js} | 2 +- fr/assets/js/bd0c814e.856c4223.js | 1 - fr/assets/js/bd0c814e.eef7c862.js | 1 + ...4312f.4f709283.js => cf54312f.e0f99e1d.js} | 2 +- fr/assets/js/d98b5987.20f6dbd4.js | 1 + fr/assets/js/d98b5987.e0faf260.js | 1 - ...d9062.6c72fd6c.js => df3d9062.0345e141.js} | 2 +- ...d9a54.098591a2.js => df9d9a54.c56f11ca.js} | 2 +- ...387d0.775898f9.js => dfd387d0.45b5787b.js} | 2 +- ...5e905.3e3c9b76.js => e6d5e905.4bc51fb1.js} | 2 +- ...f167e.658e76c1.js => eecf167e.99ea45b6.js} | 2 +- ...fe76d.fa7ef6e1.js => f45fe76d.cadbf287.js} | 2 +- fr/assets/js/f638a836.00a841be.js | 1 + fr/assets/js/f638a836.21aa27b8.js | 1 - ...12063.5cad1e76.js => fed12063.36d049df.js} | 2 +- fr/assets/js/ff294025.5f0ea704.js | 1 - fr/assets/js/ff294025.a4dfb271.js | 1 + fr/assets/js/ff490d43.8c9bda11.js | 1 - fr/assets/js/ff490d43.e1611299.js | 1 + fr/assets/js/main.082924ae.js | 2 -- fr/assets/js/main.f7e90db5.js | 2 ++ ...CENSE.txt => main.f7e90db5.js.LICENSE.txt} | 0 fr/assets/js/runtime~main.1c49b49f.js | 1 + fr/assets/js/runtime~main.bfc5d01e.js | 1 - fr/blog/archive/index.html | 8 +++---- fr/blog/atom.xml | 2 +- fr/blog/index.html | 10 ++++---- fr/blog/rss.xml | 2 +- fr/blog/tags/index.html | 8 +++---- fr/blog/tags/sdmx/index.html | 10 ++++---- fr/blog/tags/trevas-batch/index.html | 8 +++---- fr/blog/tags/trevas-jupyter/index.html | 8 +++---- fr/blog/tags/trevas-lab/index.html | 8 +++---- fr/blog/tags/trevas/index.html | 10 ++++---- fr/blog/trevas-batch-0.1.1/index.html | 8 +++---- fr/blog/trevas-check_hierarchy/index.html | 8 +++---- fr/blog/trevas-java-17/index.html | 8 +++---- fr/blog/trevas-jupyter-0.3.2/index.html | 8 +++---- fr/blog/trevas-lab-0.3.3/index.html | 8 +++---- .../trevas-persistent-assignment/index.html | 8 +++---- fr/blog/trevas-sdmx/index.html | 10 ++++---- fr/blog/trevas-temporal-operators/index.html | 8 +++---- .../basic-mode/data-sources/index.html | 10 ++++---- .../basic-mode/data-sources/jdbc/index.html | 10 ++++---- .../basic-mode/data-sources/json/index.html | 10 ++++---- .../basic-mode/data-sources/others/index.html | 10 ++++---- fr/developer-guide/basic-mode/index.html | 10 ++++---- fr/developer-guide/index.html | 10 ++++---- .../spark-mode/data-sources/csv/index.html | 10 ++++---- .../spark-mode/data-sources/index.html | 10 ++++---- .../spark-mode/data-sources/jdbc/index.html | 10 ++++---- .../spark-mode/data-sources/others/index.html | 10 ++++---- .../data-sources/parquet/index.html | 10 ++++---- .../spark-mode/data-sources/sdmx/index.html | 24 +++++++++++++++++++ fr/developer-guide/spark-mode/index.html | 10 ++++---- fr/index.html | 8 +++---- fr/introduction/index.html | 10 ++++---- fr/lunr-index-1719441858702.json | 1 - fr/lunr-index-1720593977968.json | 1 + fr/lunr-index.json | 2 +- fr/modules/csv/index.html | 10 ++++---- fr/modules/engine/index.html | 10 ++++---- fr/modules/index.html | 10 ++++---- fr/modules/jackson/index.html | 10 ++++---- fr/modules/jdbc/index.html | 10 ++++---- fr/modules/model/index.html | 10 ++++---- fr/modules/parser/index.html | 10 ++++---- fr/modules/sdmx/index.html | 10 ++++---- fr/modules/spark/index.html | 10 ++++---- fr/releases/1.x.x/index.html | 10 ++++---- fr/releases/index.html | 10 ++++---- fr/search-doc-1719441858702.json | 1 - fr/search-doc-1720593977968.json | 1 + fr/search-doc.json | 2 +- fr/sitemap.xml | 2 +- .../coverage/aggregate-operators/index.html | 10 ++++---- .../coverage/analytic-operators/index.html | 10 ++++---- .../coverage/boolean-operators/index.html | 10 ++++---- .../coverage/clause-operators/index.html | 10 ++++---- .../coverage/comparison-operators/index.html | 10 ++++---- .../coverage/conditional-operators/index.html | 10 ++++---- .../data-validation-operators/index.html | 10 ++++---- .../coverage/general-operators/index.html | 10 ++++---- .../hierarchical-aggregation/index.html | 10 ++++---- fr/user-guide/coverage/index.html | 10 ++++---- .../coverage/join-operators/index.html | 10 ++++---- .../coverage/numeric-operators/index.html | 10 ++++---- .../coverage/set-operators/index.html | 10 ++++---- .../coverage/string-operators/index.html | 10 ++++---- .../coverage/time-operators/index.html | 10 ++++---- fr/user-guide/vtl/client-apps/index.html | 10 ++++---- .../vtl/client-apps/jupyter/index.html | 10 ++++---- fr/user-guide/vtl/client-apps/lab/index.html | 10 ++++---- fr/user-guide/vtl/index.html | 10 ++++---- fr/user-guide/vtl/sas-vtl/drop/index.html | 10 ++++---- fr/user-guide/vtl/sas-vtl/index.html | 10 ++++---- fr/user-guide/vtl/sas-vtl/keep/index.html | 10 ++++---- fr/user-guide/vtl/sas-vtl/rename/index.html | 10 ++++---- index.html | 8 +++---- introduction/index.html | 10 ++++---- lunr-index-1719441791053.json | 1 - lunr-index-1720593912689.json | 1 + lunr-index.json | 2 +- modules/csv/index.html | 10 ++++---- modules/engine/index.html | 10 ++++---- modules/index.html | 10 ++++---- modules/jackson/index.html | 10 ++++---- modules/jdbc/index.html | 10 ++++---- modules/model/index.html | 10 ++++---- modules/parser/index.html | 10 ++++---- modules/sdmx/index.html | 10 ++++---- modules/spark/index.html | 10 ++++---- no/404.html | 8 +++---- no/administrator-guide/grammar/index.html | 10 ++++---- ...bf466.07ad5fca.js => 005bf466.018cab17.js} | 2 +- ...93586.9f29c651.js => 04a93586.b624f1a9.js} | 2 +- ...b6804.23fca32e.js => 078b6804.29bcfae6.js} | 2 +- no/assets/js/0c189a05.653c6385.js | 1 - no/assets/js/0c189a05.b892f68b.js | 1 + ...a4e33.3f980bb5.js => 0d3a4e33.e539cb42.js} | 2 +- no/assets/js/0fd1db82.7fcc438a.js | 1 - ...29d3f.711eea18.js => 1a329d3f.20e02772.js} | 2 +- ...0ea73.f98ac16a.js => 1b40ea73.451a9b54.js} | 2 +- ...c4dd9.692b88f3.js => 1cce9cf2.933c1b84.js} | 2 +- no/assets/js/1d02d4bc.4bbf51b2.js | 1 - no/assets/js/1d02d4bc.5ebf25c0.js | 1 + no/assets/js/1e2984e9.9aa1de72.js | 1 - no/assets/js/1e2984e9.bfc6f7ca.js | 1 + ...cd94a.025d2d0f.js => 26ecd94a.b3eade3b.js} | 2 +- ...d9df8.2a44930b.js => 28cd9df8.0b3193eb.js} | 2 +- ...4b581.738ba7ac.js => 2e34b581.8f88e7ef.js} | 2 +- ...08017.36fba238.js => 31908017.038593ba.js} | 2 +- ...2265d.45f2efd9.js => 3a22265d.39413daf.js} | 2 +- ...c7e47.f8cd877d.js => 3e1c7e47.d096a0db.js} | 2 +- ...e02c0.9f2851cc.js => 3ece02c0.4ae64264.js} | 2 +- no/assets/js/42048dfd.8a9734ed.js | 1 + no/assets/js/44f10dba.dd61a0ba.js | 1 - ...39855.aa048d32.js => 45739855.f0b492f1.js} | 2 +- ...cfff2.f1ab08fa.js => 558cfff2.ff74ff4c.js} | 2 +- no/assets/js/5b475daf.1eba60bc.js | 1 + no/assets/js/5b475daf.da9691fe.js | 1 - ...f3561.e31731a7.js => 5dcf3561.4e5fe2bd.js} | 2 +- no/assets/js/6303d0e2.3ba186dd.js | 1 + no/assets/js/6303d0e2.61eb04d9.js | 1 - ...0ad40.e9fb0499.js => 6950ad40.0a0d4562.js} | 2 +- ...c131e.18c38a56.js => 6a2c131e.e9208d27.js} | 2 +- ...df21c.c2fe873a.js => 6e2df21c.d5c623e9.js} | 2 +- ...d39b7.5f4fb7f3.js => 713d39b7.80fa0360.js} | 2 +- ...86a16.1554b220.js => 77886a16.c0396edf.js} | 2 +- ...485eb.9bbd869e.js => 7d9485eb.df9a6ab7.js} | 2 +- ...90c2f.c86847e5.js => 7fa90c2f.b75bc3fb.js} | 2 +- ...2df42.361f9add.js => 84d2df42.3876c666.js} | 2 +- no/assets/js/86576c4a.7a6f309e.js | 1 + no/assets/js/87f39a2a.5917ab41.js | 1 - ...07250.b26c045d.js => 8f407250.0f79f723.js} | 2 +- no/assets/js/935f2afb.62e40700.js | 1 + no/assets/js/935f2afb.d9c8c13a.js | 1 - ...80905.7e59978c.js => 95d80905.d4267ee2.js} | 2 +- no/assets/js/99f288bd.2b2c2bc1.js | 1 + ...e4b5b.03c14074.js => 9f7e4b5b.3d1b8a69.js} | 2 +- no/assets/js/b0fc953b.354af0d8.js | 1 + ...c2f1d.6f241ff2.js => b20c2f1d.2b64ccea.js} | 2 +- no/assets/js/b24164db.eac8d861.js | 1 - ...b328c.ca474673.js => b65b328c.a71ab741.js} | 2 +- ...6683f.23d9ee67.js => c0c6683f.e5892d09.js} | 2 +- no/assets/js/c56a3d8b.5760719b.js | 1 + ...49270.229202cd.js => c8a49270.be6bd1d7.js} | 2 +- ...794b5.714cb2dc.js => cd4794b5.a99ff1d1.js} | 2 +- ...99795.5dc4891b.js => cf899795.4d58ebc1.js} | 2 +- ...23e57.dc38befb.js => d2023e57.b9516159.js} | 2 +- no/assets/js/d36c949f.a22773c6.js | 1 + ...0172b.1c2943ee.js => d570172b.82aa9885.js} | 2 +- ...d974f.1dde40e2.js => d6dd974f.a2f5f2fe.js} | 2 +- ...9c74d.1da299d5.js => dcf9c74d.d9236b38.js} | 2 +- ...2eb08.0ffb3ce8.js => e392eb08.e2b69abf.js} | 2 +- ...84b97.50f71e03.js => e3e84b97.867ac348.js} | 2 +- no/assets/js/e8ee7a7e.348647f3.js | 1 - ...d12bb.fbf192f1.js => e9cd12bb.59d7e6ab.js} | 2 +- ...80405.da6289f9.js => eb180405.97a4f240.js} | 2 +- ...a355c.99974668.js => f0aa355c.6963a7ce.js} | 2 +- ...176e8.4c435d78.js => f31176e8.952f5567.js} | 2 +- ...79815.adcf78d7.js => f4079815.29de0902.js} | 2 +- ...d3779.9a48a200.js => f80d3779.e4996357.js} | 2 +- ...6f0d8.45575438.js => f916f0d8.23ef99d9.js} | 2 +- no/assets/js/main.19cf458d.js | 2 ++ ...CENSE.txt => main.19cf458d.js.LICENSE.txt} | 0 no/assets/js/main.8357e092.js | 2 -- no/assets/js/runtime~main.88045e5a.js | 1 + no/assets/js/runtime~main.b41a1335.js | 1 - no/blog/archive/index.html | 8 +++---- no/blog/atom.xml | 2 +- no/blog/index.html | 10 ++++---- no/blog/rss.xml | 2 +- no/blog/tags/index.html | 8 +++---- no/blog/tags/sdmx/index.html | 10 ++++---- no/blog/tags/trevas-batch/index.html | 8 +++---- no/blog/tags/trevas-jupyter/index.html | 8 +++---- no/blog/tags/trevas-lab/index.html | 8 +++---- no/blog/tags/trevas/index.html | 10 ++++---- no/blog/trevas-batch-0.1.1/index.html | 8 +++---- no/blog/trevas-check_hierarchy/index.html | 8 +++---- no/blog/trevas-java-17/index.html | 8 +++---- no/blog/trevas-jupyter-0.3.2/index.html | 8 +++---- no/blog/trevas-lab-0.3.3/index.html | 8 +++---- .../trevas-persistent-assignments/index.html | 8 +++---- no/blog/trevas-sdmx/index.html | 10 ++++---- no/blog/trevas-temporal-operators/index.html | 8 +++---- .../basic-mode/data-sources/index.html | 10 ++++---- .../basic-mode/data-sources/jdbc/index.html | 10 ++++---- .../basic-mode/data-sources/json/index.html | 10 ++++---- .../basic-mode/data-sources/others/index.html | 10 ++++---- no/developer-guide/basic-mode/index.html | 10 ++++---- no/developer-guide/index.html | 10 ++++---- .../spark-mode/data-sources/csv/index.html | 10 ++++---- .../spark-mode/data-sources/index.html | 10 ++++---- .../spark-mode/data-sources/jdbc/index.html | 10 ++++---- .../spark-mode/data-sources/others/index.html | 10 ++++---- .../data-sources/parquet/index.html | 10 ++++---- .../spark-mode/data-sources/sdmx/index.html | 24 +++++++++++++++++++ no/developer-guide/spark-mode/index.html | 10 ++++---- no/index.html | 8 +++---- no/introduction/index.html | 10 ++++---- no/lunr-index-1719441993539.json | 1 - no/lunr-index-1720594106981.json | 1 + no/lunr-index.json | 2 +- no/modules/csv/index.html | 10 ++++---- no/modules/engine/index.html | 10 ++++---- no/modules/index.html | 10 ++++---- no/modules/jackson/index.html | 10 ++++---- no/modules/jdbc/index.html | 10 ++++---- no/modules/model/index.html | 10 ++++---- no/modules/parser/index.html | 10 ++++---- no/modules/sdmx/index.html | 10 ++++---- no/modules/spark/index.html | 10 ++++---- no/releases/1.x.x/index.html | 10 ++++---- no/releases/index.html | 10 ++++---- no/search-doc-1719441993539.json | 1 - no/search-doc-1720594106981.json | 1 + no/search-doc.json | 2 +- no/sitemap.xml | 2 +- .../coverage/aggregate-operators/index.html | 10 ++++---- .../coverage/analytic-operators/index.html | 10 ++++---- .../coverage/boolean-operators/index.html | 10 ++++---- .../coverage/clause-operators/index.html | 10 ++++---- .../coverage/comparison-operators/index.html | 10 ++++---- .../coverage/conditional-operators/index.html | 10 ++++---- .../data-validation-operators/index.html | 10 ++++---- .../coverage/general-operators/index.html | 10 ++++---- .../hierarchical-aggregation/index.html | 10 ++++---- no/user-guide/coverage/index.html | 10 ++++---- .../coverage/join-operators/index.html | 10 ++++---- .../coverage/numeric-operators/index.html | 10 ++++---- .../coverage/set-operators/index.html | 10 ++++---- .../coverage/string-operators/index.html | 10 ++++---- .../coverage/time-operators/index.html | 10 ++++---- no/user-guide/vtl/client-apps/index.html | 10 ++++---- .../vtl/client-apps/jupyter/index.html | 10 ++++---- no/user-guide/vtl/client-apps/lab/index.html | 10 ++++---- no/user-guide/vtl/index.html | 10 ++++---- no/user-guide/vtl/sas-vtl/drop/index.html | 10 ++++---- no/user-guide/vtl/sas-vtl/index.html | 10 ++++---- no/user-guide/vtl/sas-vtl/keep/index.html | 10 ++++---- no/user-guide/vtl/sas-vtl/rename/index.html | 10 ++++---- releases/1.x.x/index.html | 10 ++++---- releases/index.html | 10 ++++---- search-doc-1719441791053.json | 1 - search-doc-1720593912689.json | 1 + search-doc.json | 2 +- sitemap.xml | 2 +- .../coverage/aggregate-operators/index.html | 10 ++++---- .../coverage/analytic-operators/index.html | 10 ++++---- .../coverage/boolean-operators/index.html | 10 ++++---- .../coverage/clause-operators/index.html | 10 ++++---- .../coverage/comparison-operators/index.html | 10 ++++---- .../coverage/conditional-operators/index.html | 10 ++++---- .../data-validation-operators/index.html | 10 ++++---- .../coverage/general-operators/index.html | 10 ++++---- .../hierarchical-aggregation/index.html | 10 ++++---- user-guide/coverage/index.html | 10 ++++---- user-guide/coverage/join-operators/index.html | 10 ++++---- .../coverage/numeric-operators/index.html | 10 ++++---- user-guide/coverage/set-operators/index.html | 10 ++++---- .../coverage/string-operators/index.html | 10 ++++---- user-guide/coverage/time-operators/index.html | 10 ++++---- user-guide/vtl/client-apps/index.html | 10 ++++---- user-guide/vtl/client-apps/jupyter/index.html | 10 ++++---- user-guide/vtl/client-apps/lab/index.html | 10 ++++---- user-guide/vtl/index.html | 10 ++++---- user-guide/vtl/sas-vtl/drop/index.html | 10 ++++---- user-guide/vtl/sas-vtl/index.html | 10 ++++---- user-guide/vtl/sas-vtl/keep/index.html | 10 ++++---- user-guide/vtl/sas-vtl/rename/index.html | 10 ++++---- zh-CN/404.html | 8 +++---- zh-CN/administrator-guide/grammar/index.html | 10 ++++---- ...27acf.35c773a7.js => 00e27acf.55398c0e.js} | 2 +- ...1c65f.0526212f.js => 0701c65f.5fb553d7.js} | 2 +- ...3ae7e.2eac3fe1.js => 0943ae7e.51be6a44.js} | 2 +- ...73499.ac201b38.js => 13b73499.836001d7.js} | 2 +- ...07455.9e3ac4c0.js => 14207455.5f6f8654.js} | 2 +- ...f2c3b.e8ab0540.js => 147f2c3b.575f5997.js} | 2 +- ...a4f72.7470e384.js => 1cce9cf2.d7cb82e0.js} | 2 +- zh-CN/assets/js/1d02d4bc.b26b4c90.js | 1 - zh-CN/assets/js/1d02d4bc.e0e7d0b8.js | 1 + zh-CN/assets/js/1e2984e9.8a151c8c.js | 1 + zh-CN/assets/js/1e2984e9.caa0c668.js | 1 - ...25722.b9e2f941.js => 30625722.899d0e29.js} | 2 +- ...289d1.01368a98.js => 388289d1.868651d6.js} | 2 +- ...07644.fa5eda6d.js => 43307644.371faba6.js} | 2 +- ...31d48.ccbca33b.js => 4ac31d48.d2ac7711.js} | 2 +- ...b95bc.578ce795.js => 530b95bc.5faf9d4d.js} | 2 +- ...e1cff.b483e1e9.js => 53ae1cff.69d6b145.js} | 2 +- ...35b50.c37f779d.js => 54035b50.5b7b7a70.js} | 2 +- zh-CN/assets/js/56ba08f5.698d1dd6.js | 1 - ...39f03.932a1ff3.js => 69639f03.67005086.js} | 2 +- ...8460e.a57467ed.js => 6a88460e.7cdc9c17.js} | 2 +- ...93f4f.b6dbe33c.js => 6cf93f4f.cc27a5f2.js} | 2 +- ...11a63.328c141d.js => 73b11a63.fcb5dd51.js} | 2 +- ...d6d2f.56a14cab.js => 757d6d2f.2edd4178.js} | 2 +- ...c613b.b53d6464.js => 7d4c613b.cd6c0e81.js} | 2 +- ...022f8.b52a423b.js => 7d6022f8.a7b59e8c.js} | 2 +- zh-CN/assets/js/86576c4a.c1828dca.js | 1 + zh-CN/assets/js/935f2afb.5b054c75.js | 1 - zh-CN/assets/js/935f2afb.d7bcc85b.js | 1 + ...d1ce8.42821d70.js => 937d1ce8.53928819.js} | 2 +- ...ad9ac.979fa76a.js => 942ad9ac.b4ef3fb6.js} | 2 +- zh-CN/assets/js/99f288bd.ee671f62.js | 1 + ...56930.6243de04.js => 9ad56930.d86d41a4.js} | 2 +- ...37088.5dc74331.js => 9c737088.c0e26307.js} | 2 +- zh-CN/assets/js/a213da47.26e54fa3.js | 1 - ...ccd57.84787ceb.js => a80ccd57.e0a5ef7d.js} | 2 +- ...25227.249b5a6b.js => a8825227.46624778.js} | 2 +- ...7f5bd.e0935209.js => add7f5bd.8d6bb3d7.js} | 2 +- ...0f762.6cbc7161.js => b050f762.a4094615.js} | 2 +- zh-CN/assets/js/b0fc953b.5cedc73d.js | 1 + ...faca6.7c065468.js => b6cfaca6.fdea8507.js} | 2 +- ...82739.ac264a9b.js => c2782739.e342cf65.js} | 2 +- ...2a9df.68c3f31c.js => c56a3d8b.d671a231.js} | 2 +- zh-CN/assets/js/c70ae549.99175cb6.js | 1 + zh-CN/assets/js/c70ae549.aeec2892.js | 1 - zh-CN/assets/js/ccd14df0.d08d5007.js | 1 - ...34650.878b5d43.js => ccf34650.1a7de1c9.js} | 2 +- ...be79c.8cc35435.js => cf8be79c.eb2a9541.js} | 2 +- ...45549.16f1d155.js => d1e45549.c2cd0a7f.js} | 2 +- zh-CN/assets/js/d36c949f.3ae7e271.js | 1 + ...eca78.12337ec6.js => d53eca78.7cf8de39.js} | 2 +- ...a27c9.6e1760e5.js => d5ca27c9.02146afe.js} | 2 +- ...d58b0.a161643a.js => d6fd58b0.159dcda1.js} | 2 +- ...8003c.56d036ea.js => e0d8003c.a8241f13.js} | 2 +- ...64c9a.a0d26402.js => e3664c9a.a11c4e9d.js} | 2 +- ...114b8.7073d0b8.js => e68114b8.6c14b219.js} | 2 +- ...4c898.5162ad5a.js => e684c898.931c427b.js} | 2 +- ...73bdf.12e26d9f.js => e8173bdf.2447b859.js} | 2 +- ...d6aa4.8e5b48cc.js => e82d6aa4.04df95be.js} | 2 +- zh-CN/assets/js/e8ec82f6.52be0956.js | 1 + ...31825.0e80b39e.js => ea531825.ae761c74.js} | 2 +- ...a6612.df676aae.js => eb8a6612.250fd9b1.js} | 2 +- zh-CN/assets/js/ebbada0f.1c8180b7.js | 1 - ...96deb.b96fb3d5.js => ed796deb.92d61b6f.js} | 2 +- ...59ec3.b7fb34e0.js => eda59ec3.ad77f9c8.js} | 2 +- ...095ec.44afcaaf.js => f3b095ec.3716cc9b.js} | 2 +- ...5c6f7.06735049.js => fb25c6f7.26da5657.js} | 2 +- zh-CN/assets/js/main.75d33fb6.js | 2 ++ ...CENSE.txt => main.75d33fb6.js.LICENSE.txt} | 0 zh-CN/assets/js/main.f30171e6.js | 2 -- zh-CN/assets/js/runtime~main.53628c4f.js | 1 + zh-CN/assets/js/runtime~main.ea4ef0c5.js | 1 - zh-CN/blog/archive/index.html | 8 +++---- zh-CN/blog/atom.xml | 2 +- zh-CN/blog/index.html | 10 ++++---- zh-CN/blog/rss.xml | 2 +- zh-CN/blog/tags/index.html | 8 +++---- zh-CN/blog/tags/sdmx/index.html | 10 ++++---- zh-CN/blog/tags/trevas-batch/index.html | 8 +++---- zh-CN/blog/tags/trevas-jupyter/index.html | 8 +++---- zh-CN/blog/tags/trevas-lab/index.html | 8 +++---- zh-CN/blog/tags/trevas/index.html | 10 ++++---- zh-CN/blog/trevas-batch-0.1.1/index.html | 8 +++---- zh-CN/blog/trevas-check_hierarchy/index.html | 8 +++---- zh-CN/blog/trevas-java-17/index.html | 8 +++---- zh-CN/blog/trevas-jupyter-0.3.2/index.html | 8 +++---- zh-CN/blog/trevas-lab-0.3.3/index.html | 8 +++---- .../trevas-persistent-assignments/index.html | 8 +++---- zh-CN/blog/trevas-sdmx/index.html | 10 ++++---- .../blog/trevas-temporal-operators/index.html | 8 +++---- .../basic-mode/data-sources/index.html | 10 ++++---- .../basic-mode/data-sources/jdbc/index.html | 10 ++++---- .../basic-mode/data-sources/json/index.html | 10 ++++---- .../basic-mode/data-sources/others/index.html | 10 ++++---- zh-CN/developer-guide/basic-mode/index.html | 10 ++++---- zh-CN/developer-guide/index.html | 10 ++++---- .../spark-mode/data-sources/csv/index.html | 10 ++++---- .../spark-mode/data-sources/index.html | 10 ++++---- .../spark-mode/data-sources/jdbc/index.html | 10 ++++---- .../spark-mode/data-sources/others/index.html | 10 ++++---- .../data-sources/parquet/index.html | 12 +++++----- .../spark-mode/data-sources/sdmx/index.html | 24 +++++++++++++++++++ zh-CN/developer-guide/spark-mode/index.html | 10 ++++---- zh-CN/index.html | 8 +++---- zh-CN/introduction/index.html | 10 ++++---- zh-CN/lunr-index-1719441925673.json | 1 - zh-CN/lunr-index-1720594041425.json | 1 + zh-CN/lunr-index.json | 2 +- zh-CN/modules/csv/index.html | 10 ++++---- zh-CN/modules/engine/index.html | 10 ++++---- zh-CN/modules/index.html | 10 ++++---- zh-CN/modules/jackson/index.html | 10 ++++---- zh-CN/modules/jdbc/index.html | 10 ++++---- zh-CN/modules/model/index.html | 10 ++++---- zh-CN/modules/parser/index.html | 10 ++++---- zh-CN/modules/sdmx/index.html | 10 ++++---- zh-CN/modules/spark/index.html | 10 ++++---- zh-CN/releases/1.x.x/index.html | 10 ++++---- zh-CN/releases/index.html | 10 ++++---- zh-CN/search-doc-1719441925673.json | 1 - zh-CN/search-doc-1720594041425.json | 1 + zh-CN/search-doc.json | 2 +- zh-CN/sitemap.xml | 2 +- .../coverage/aggregate-operators/index.html | 10 ++++---- .../coverage/analytic-operators/index.html | 10 ++++---- .../coverage/boolean-operators/index.html | 10 ++++---- .../coverage/clause-operators/index.html | 10 ++++---- .../coverage/comparison-operators/index.html | 10 ++++---- .../coverage/conditional-operators/index.html | 10 ++++---- .../data-validation-operators/index.html | 10 ++++---- .../coverage/general-operators/index.html | 10 ++++---- .../hierarchical-aggregation/index.html | 10 ++++---- zh-CN/user-guide/coverage/index.html | 10 ++++---- .../coverage/join-operators/index.html | 10 ++++---- .../coverage/numeric-operators/index.html | 10 ++++---- .../coverage/set-operators/index.html | 10 ++++---- .../coverage/string-operators/index.html | 10 ++++---- .../coverage/time-operators/index.html | 10 ++++---- zh-CN/user-guide/vtl/client-apps/index.html | 10 ++++---- .../vtl/client-apps/jupyter/index.html | 10 ++++---- .../user-guide/vtl/client-apps/lab/index.html | 10 ++++---- zh-CN/user-guide/vtl/index.html | 10 ++++---- zh-CN/user-guide/vtl/sas-vtl/drop/index.html | 10 ++++---- zh-CN/user-guide/vtl/sas-vtl/index.html | 10 ++++---- zh-CN/user-guide/vtl/sas-vtl/keep/index.html | 10 ++++---- .../user-guide/vtl/sas-vtl/rename/index.html | 10 ++++---- 592 files changed, 1625 insertions(+), 1525 deletions(-) rename assets/js/{02535a17.38802cb6.js => 02535a17.87e218fb.js} (97%) rename assets/js/{0cf64eed.50883b7b.js => 0cf64eed.d9badc0b.js} (96%) rename assets/js/{14fde6e1.978084cb.js => 14fde6e1.9b19e673.js} (98%) rename assets/js/{1819517c.6dfe154f.js => 1819517c.ca4edab9.js} (97%) rename assets/js/{1a0068d9.9be65da6.js => 1a0068d9.c05826ea.js} (98%) delete mode 100644 assets/js/1d02d4bc.3fe72ef6.js create mode 100644 assets/js/1d02d4bc.63001061.js rename assets/js/{1e1a8812.d11dd49d.js => 1e1a8812.dd131f10.js} (95%) create mode 100644 assets/js/1e2984e9.7abbe18b.js delete mode 100644 assets/js/1e2984e9.edf35a0a.js rename assets/js/{23c71902.57b0bfe9.js => 23c71902.a2749f4e.js} (98%) delete mode 100644 assets/js/354b54d5.5c499c66.js create mode 100644 assets/js/354b54d5.d4e493b6.js rename assets/js/{35e3f942.481fc9c4.js => 35e3f942.296c27e3.js} (96%) rename assets/js/{3b877833.fc65e5fa.js => 3b877833.11d02e1e.js} (98%) rename assets/js/{3cc20334.5c5ca08f.js => 3cc20334.5610a8b6.js} (75%) rename assets/js/{3e2612b7.30d02be2.js => 3e2612b7.df5f687f.js} (97%) rename assets/js/{46e283ff.9abce036.js => 46e283ff.a545579b.js} (96%) rename assets/js/{503f63c3.f210489f.js => 503f63c3.8fb6ede7.js} (99%) rename assets/js/{554dbc72.94ccc495.js => 554dbc72.5b0adbbf.js} (79%) rename assets/js/{5de07297.ac244279.js => 5de07297.d39680c8.js} (96%) rename assets/js/{62c15c37.ccfe8769.js => 62c15c37.0b897830.js} (97%) rename assets/js/{7684ca26.6044149a.js => 7684ca26.74cfa7bc.js} (96%) rename assets/js/{8150d321.ed811856.js => 8150d321.cbfe11f8.js} (98%) rename assets/js/{872dffe5.8c6a1f67.js => 872dffe5.adcc65b8.js} (97%) rename assets/js/{8fd96d3a.2121c9b4.js => 8fd96d3a.b786a199.js} (99%) delete mode 100644 assets/js/935f2afb.709c1509.js create mode 100644 assets/js/935f2afb.88221692.js rename assets/js/{94122fc7.dfb16052.js => 94122fc7.533f8c5f.js} (99%) rename assets/js/{96ee6e4d.d9078173.js => 96ee6e4d.998d64ed.js} (97%) rename assets/js/{9beb3b0d.0d6a40ee.js => 9beb3b0d.ecc8b3f1.js} (97%) create mode 100644 assets/js/9e7e4436.6b7e3733.js rename assets/js/{a1fdcfaa.573febf3.js => a1fdcfaa.9676a54d.js} (99%) rename assets/js/{a2e0904c.7913b622.js => a2e0904c.9ca689c3.js} (97%) rename assets/js/{a35ba3f2.a8ec33ad.js => a35ba3f2.3947e5de.js} (99%) rename assets/js/{aa19e7f2.9118e5ac.js => aa19e7f2.0206d476.js} (87%) rename assets/js/{ad8ad629.145229dc.js => ad8ad629.39c7ec94.js} (98%) rename assets/js/{ae1c251f.5a63cbbc.js => ae1c251f.cdcae0a6.js} (97%) rename assets/js/{b2c48e10.97ed0133.js => b2c48e10.20ce283b.js} (98%) rename assets/js/{b720a178.e0080740.js => b720a178.82548779.js} (51%) rename assets/js/{bb123c67.f2515137.js => bb123c67.c7c82165.js} (51%) rename assets/js/{bd189211.37f94229.js => bd189211.fbb233e8.js} (98%) rename assets/js/{bf7f84bd.bc0046d6.js => bf7f84bd.7fcf1186.js} (98%) rename assets/js/{c40373c7.07b9abff.js => c40373c7.b96ced77.js} (97%) rename assets/js/{c747d197.7c7b43b0.js => c747d197.5edbccb0.js} (60%) rename assets/js/{cae36d5a.f528ae2b.js => cae36d5a.b6a0d6e8.js} (74%) rename assets/js/{cd8150f4.82cdc422.js => cd8150f4.11b836af.js} (96%) rename assets/js/{d391f8f6.095c3dfa.js => d391f8f6.135794d2.js} (99%) rename assets/js/{d49f6109.65150dcc.js => d49f6109.47ba3435.js} (94%) rename assets/js/{d91481b0.7c60a171.js => d91481b0.25100343.js} (98%) rename assets/js/{dc49e957.88187ec1.js => dc49e957.5f17e956.js} (99%) rename assets/js/{dd7c4970.9305aada.js => dd7c4970.03382266.js} (99%) rename assets/js/{e39b44de.45469cb9.js => e39b44de.71ca4397.js} (94%) rename assets/js/{e98a9f0e.7eeac152.js => e98a9f0e.2811e023.js} (97%) rename assets/js/{ece2eec8.eadcf2ff.js => ece2eec8.4b7ed7b0.js} (97%) rename assets/js/{f8b399a8.4fc88f52.js => f8b399a8.7af39a1a.js} (98%) rename assets/js/{fbee1c08.f0b26214.js => fbee1c08.16b4cbf5.js} (98%) delete mode 100644 assets/js/main.ae884746.js create mode 100644 assets/js/main.e63eee52.js rename assets/js/{main.ae884746.js.LICENSE.txt => main.e63eee52.js.LICENSE.txt} (100%) create mode 100644 assets/js/runtime~main.191dc144.js delete mode 100644 assets/js/runtime~main.a0b33f76.js create mode 100644 developer-guide/spark-mode/data-sources/sdmx/index.html create mode 100644 fr/assets/js/09b2a5c7.345fb751.js delete mode 100644 fr/assets/js/09b2a5c7.ec69867c.js rename fr/assets/js/{0d515100.142346b7.js => 0d515100.970a33ed.js} (53%) delete mode 100644 fr/assets/js/1dbb7be8.3e0262a8.js create mode 100644 fr/assets/js/1dbb7be8.a3bb966e.js rename fr/assets/js/{22c92aa5.e2c977aa.js => 22c92aa5.50de1762.js} (58%) create mode 100644 fr/assets/js/2ba6e4e9.683c53ce.js delete mode 100644 fr/assets/js/2ba6e4e9.aa8f0a28.js create mode 100644 fr/assets/js/2c9d2781.2161ab20.js delete mode 100644 fr/assets/js/2c9d2781.d1dd6843.js rename fr/assets/js/{2e028758.32a1bad3.js => 2e028758.d8880bfc.js} (64%) rename fr/assets/js/{38240132.7a4aa189.js => 38240132.fe600a2a.js} (76%) delete mode 100644 fr/assets/js/3b622d02.d85a93fb.js create mode 100644 fr/assets/js/3b622d02.f0373278.js delete mode 100644 fr/assets/js/4105a8a1.31f39175.js create mode 100644 fr/assets/js/4105a8a1.647e0079.js rename fr/assets/js/{4519798e.bd6ac852.js => 4519798e.8e0a1b6f.js} (77%) rename fr/assets/js/{4def6b6b.f1f6309a.js => 4def6b6b.69860f82.js} (70%) rename fr/assets/js/{5488ccff.f4bff8f0.js => 5488ccff.4ceaf283.js} (98%) rename fr/assets/js/{5563a0e2.a7be8619.js => 5563a0e2.f6b705e3.js} (56%) delete mode 100644 fr/assets/js/56c44917.253c8033.js create mode 100644 fr/assets/js/56c44917.dc8e828b.js rename fr/assets/js/{582912a6.f37d062b.js => 582912a6.0797981d.js} (53%) rename fr/assets/js/{58b1018b.d646a0f2.js => 58b1018b.4e32cbbc.js} (60%) rename fr/assets/js/{5a5c0cd9.ca735cd8.js => 5a5c0cd9.deece3db.js} (76%) rename fr/assets/js/{5aa0289b.9fa672f9.js => 5aa0289b.87c92fb9.js} (63%) rename fr/assets/js/{5ae25202.4bf7e7b2.js => 5ae25202.ed4ec0c8.js} (65%) rename fr/assets/js/{5aebf3ee.2f7c281e.js => 5aebf3ee.4cd987b8.js} (62%) rename fr/assets/js/{5f5cf11b.25372426.js => 5f5cf11b.6d6f3c6f.js} (52%) rename fr/assets/js/{63ae0308.6ead33aa.js => 63ae0308.76071172.js} (76%) create mode 100644 fr/assets/js/6bac9c9f.d2f82fba.js create mode 100644 fr/assets/js/74ff4fe5.56e3b062.js delete mode 100644 fr/assets/js/74ff4fe5.71a85747.js rename fr/assets/js/{768f1925.50fac19d.js => 768f1925.b5b60f55.js} (66%) delete mode 100644 fr/assets/js/76da1b5d.b3a34856.js create mode 100644 fr/assets/js/76da1b5d.f1e75fe5.js create mode 100644 fr/assets/js/774b9899.989a95de.js delete mode 100644 fr/assets/js/774b9899.a5480f2f.js create mode 100644 fr/assets/js/83f3df7d.b1e41f1b.js delete mode 100644 fr/assets/js/83f3df7d.d67ad487.js rename fr/assets/js/{8af32e05.2dfc8725.js => 8af32e05.e5e0d3c6.js} (56%) rename fr/assets/js/{8c8444a7.7e348b3b.js => 8c8444a7.69217981.js} (77%) delete mode 100644 fr/assets/js/935f2afb.6b477d7e.js create mode 100644 fr/assets/js/935f2afb.f6585b56.js rename fr/assets/js/{a045ab60.15cc788f.js => a045ab60.0fa296dd.js} (98%) rename fr/assets/js/{a065db36.ffe5fab0.js => a065db36.9cc82598.js} (98%) create mode 100644 fr/assets/js/a952f7b5.19b0117b.js delete mode 100644 fr/assets/js/a952f7b5.e74db6fd.js create mode 100644 fr/assets/js/a9db48ec.caf4f7ec.js delete mode 100644 fr/assets/js/a9db48ec.eecf1eec.js rename fr/assets/js/{abf9a2ef.43962c49.js => abf9a2ef.c5af3d9e.js} (65%) delete mode 100644 fr/assets/js/b5f3ee0b.6455d94b.js create mode 100644 fr/assets/js/b5f3ee0b.6e84cd02.js delete mode 100644 fr/assets/js/b85c47d4.bdb3b79a.js create mode 100644 fr/assets/js/b85c47d4.dc181c8c.js rename fr/assets/js/{bc8649f9.3663a897.js => bc8649f9.5b3fb54f.js} (69%) delete mode 100644 fr/assets/js/bd0c814e.856c4223.js create mode 100644 fr/assets/js/bd0c814e.eef7c862.js rename fr/assets/js/{cf54312f.4f709283.js => cf54312f.e0f99e1d.js} (52%) create mode 100644 fr/assets/js/d98b5987.20f6dbd4.js delete mode 100644 fr/assets/js/d98b5987.e0faf260.js rename fr/assets/js/{df3d9062.6c72fd6c.js => df3d9062.0345e141.js} (62%) rename fr/assets/js/{df9d9a54.098591a2.js => df9d9a54.c56f11ca.js} (76%) rename fr/assets/js/{dfd387d0.775898f9.js => dfd387d0.45b5787b.js} (69%) rename fr/assets/js/{e6d5e905.3e3c9b76.js => e6d5e905.4bc51fb1.js} (75%) rename fr/assets/js/{eecf167e.658e76c1.js => eecf167e.99ea45b6.js} (72%) rename fr/assets/js/{f45fe76d.fa7ef6e1.js => f45fe76d.cadbf287.js} (66%) create mode 100644 fr/assets/js/f638a836.00a841be.js delete mode 100644 fr/assets/js/f638a836.21aa27b8.js rename fr/assets/js/{fed12063.5cad1e76.js => fed12063.36d049df.js} (59%) delete mode 100644 fr/assets/js/ff294025.5f0ea704.js create mode 100644 fr/assets/js/ff294025.a4dfb271.js delete mode 100644 fr/assets/js/ff490d43.8c9bda11.js create mode 100644 fr/assets/js/ff490d43.e1611299.js delete mode 100644 fr/assets/js/main.082924ae.js create mode 100644 fr/assets/js/main.f7e90db5.js rename fr/assets/js/{main.082924ae.js.LICENSE.txt => main.f7e90db5.js.LICENSE.txt} (100%) create mode 100644 fr/assets/js/runtime~main.1c49b49f.js delete mode 100644 fr/assets/js/runtime~main.bfc5d01e.js create mode 100644 fr/developer-guide/spark-mode/data-sources/sdmx/index.html delete mode 100644 fr/lunr-index-1719441858702.json create mode 100644 fr/lunr-index-1720593977968.json delete mode 100644 fr/search-doc-1719441858702.json create mode 100644 fr/search-doc-1720593977968.json delete mode 100644 lunr-index-1719441791053.json create mode 100644 lunr-index-1720593912689.json rename no/assets/js/{005bf466.07ad5fca.js => 005bf466.018cab17.js} (78%) rename no/assets/js/{04a93586.9f29c651.js => 04a93586.b624f1a9.js} (73%) rename no/assets/js/{078b6804.23fca32e.js => 078b6804.29bcfae6.js} (98%) delete mode 100644 no/assets/js/0c189a05.653c6385.js create mode 100644 no/assets/js/0c189a05.b892f68b.js rename no/assets/js/{0d3a4e33.3f980bb5.js => 0d3a4e33.e539cb42.js} (99%) delete mode 100644 no/assets/js/0fd1db82.7fcc438a.js rename no/assets/js/{1a329d3f.711eea18.js => 1a329d3f.20e02772.js} (97%) rename no/assets/js/{1b40ea73.f98ac16a.js => 1b40ea73.451a9b54.js} (99%) rename no/assets/js/{96ac4dd9.692b88f3.js => 1cce9cf2.933c1b84.js} (52%) delete mode 100644 no/assets/js/1d02d4bc.4bbf51b2.js create mode 100644 no/assets/js/1d02d4bc.5ebf25c0.js delete mode 100644 no/assets/js/1e2984e9.9aa1de72.js create mode 100644 no/assets/js/1e2984e9.bfc6f7ca.js rename no/assets/js/{26ecd94a.025d2d0f.js => 26ecd94a.b3eade3b.js} (96%) rename no/assets/js/{28cd9df8.2a44930b.js => 28cd9df8.0b3193eb.js} (97%) rename no/assets/js/{2e34b581.738ba7ac.js => 2e34b581.8f88e7ef.js} (97%) rename no/assets/js/{31908017.36fba238.js => 31908017.038593ba.js} (98%) rename no/assets/js/{3a22265d.45f2efd9.js => 3a22265d.39413daf.js} (98%) rename no/assets/js/{3e1c7e47.f8cd877d.js => 3e1c7e47.d096a0db.js} (76%) rename no/assets/js/{3ece02c0.9f2851cc.js => 3ece02c0.4ae64264.js} (98%) create mode 100644 no/assets/js/42048dfd.8a9734ed.js delete mode 100644 no/assets/js/44f10dba.dd61a0ba.js rename no/assets/js/{45739855.aa048d32.js => 45739855.f0b492f1.js} (96%) rename no/assets/js/{558cfff2.f1ab08fa.js => 558cfff2.ff74ff4c.js} (65%) create mode 100644 no/assets/js/5b475daf.1eba60bc.js delete mode 100644 no/assets/js/5b475daf.da9691fe.js rename no/assets/js/{5dcf3561.e31731a7.js => 5dcf3561.4e5fe2bd.js} (78%) create mode 100644 no/assets/js/6303d0e2.3ba186dd.js delete mode 100644 no/assets/js/6303d0e2.61eb04d9.js rename no/assets/js/{6950ad40.e9fb0499.js => 6950ad40.0a0d4562.js} (79%) rename no/assets/js/{6a2c131e.18c38a56.js => 6a2c131e.e9208d27.js} (96%) rename no/assets/js/{6e2df21c.c2fe873a.js => 6e2df21c.d5c623e9.js} (73%) rename no/assets/js/{713d39b7.5f4fb7f3.js => 713d39b7.80fa0360.js} (98%) rename no/assets/js/{77886a16.1554b220.js => 77886a16.c0396edf.js} (99%) rename no/assets/js/{7d9485eb.9bbd869e.js => 7d9485eb.df9a6ab7.js} (98%) rename no/assets/js/{7fa90c2f.c86847e5.js => 7fa90c2f.b75bc3fb.js} (95%) rename no/assets/js/{84d2df42.361f9add.js => 84d2df42.3876c666.js} (52%) create mode 100644 no/assets/js/86576c4a.7a6f309e.js delete mode 100644 no/assets/js/87f39a2a.5917ab41.js rename no/assets/js/{8f407250.b26c045d.js => 8f407250.0f79f723.js} (98%) create mode 100644 no/assets/js/935f2afb.62e40700.js delete mode 100644 no/assets/js/935f2afb.d9c8c13a.js rename no/assets/js/{95d80905.7e59978c.js => 95d80905.d4267ee2.js} (98%) create mode 100644 no/assets/js/99f288bd.2b2c2bc1.js rename no/assets/js/{9f7e4b5b.03c14074.js => 9f7e4b5b.3d1b8a69.js} (98%) create mode 100644 no/assets/js/b0fc953b.354af0d8.js rename no/assets/js/{b20c2f1d.6f241ff2.js => b20c2f1d.2b64ccea.js} (98%) delete mode 100644 no/assets/js/b24164db.eac8d861.js rename no/assets/js/{b65b328c.ca474673.js => b65b328c.a71ab741.js} (84%) rename no/assets/js/{c0c6683f.23d9ee67.js => c0c6683f.e5892d09.js} (82%) create mode 100644 no/assets/js/c56a3d8b.5760719b.js rename no/assets/js/{c8a49270.229202cd.js => c8a49270.be6bd1d7.js} (98%) rename no/assets/js/{cd4794b5.714cb2dc.js => cd4794b5.a99ff1d1.js} (98%) rename no/assets/js/{cf899795.5dc4891b.js => cf899795.4d58ebc1.js} (98%) rename no/assets/js/{d2023e57.dc38befb.js => d2023e57.b9516159.js} (98%) create mode 100644 no/assets/js/d36c949f.a22773c6.js rename no/assets/js/{d570172b.1c2943ee.js => d570172b.82aa9885.js} (96%) rename no/assets/js/{d6dd974f.1dde40e2.js => d6dd974f.a2f5f2fe.js} (97%) rename no/assets/js/{dcf9c74d.1da299d5.js => dcf9c74d.d9236b38.js} (99%) rename no/assets/js/{e392eb08.0ffb3ce8.js => e392eb08.e2b69abf.js} (99%) rename no/assets/js/{e3e84b97.50f71e03.js => e3e84b97.867ac348.js} (97%) delete mode 100644 no/assets/js/e8ee7a7e.348647f3.js rename no/assets/js/{e9cd12bb.fbf192f1.js => e9cd12bb.59d7e6ab.js} (61%) rename no/assets/js/{eb180405.da6289f9.js => eb180405.97a4f240.js} (98%) rename no/assets/js/{f0aa355c.99974668.js => f0aa355c.6963a7ce.js} (98%) rename no/assets/js/{f31176e8.4c435d78.js => f31176e8.952f5567.js} (96%) rename no/assets/js/{f4079815.adcf78d7.js => f4079815.29de0902.js} (99%) rename no/assets/js/{f80d3779.9a48a200.js => f80d3779.e4996357.js} (98%) rename no/assets/js/{f916f0d8.45575438.js => f916f0d8.23ef99d9.js} (97%) create mode 100644 no/assets/js/main.19cf458d.js rename no/assets/js/{main.8357e092.js.LICENSE.txt => main.19cf458d.js.LICENSE.txt} (100%) delete mode 100644 no/assets/js/main.8357e092.js create mode 100644 no/assets/js/runtime~main.88045e5a.js delete mode 100644 no/assets/js/runtime~main.b41a1335.js create mode 100644 no/developer-guide/spark-mode/data-sources/sdmx/index.html delete mode 100644 no/lunr-index-1719441993539.json create mode 100644 no/lunr-index-1720594106981.json delete mode 100644 no/search-doc-1719441993539.json create mode 100644 no/search-doc-1720594106981.json delete mode 100644 search-doc-1719441791053.json create mode 100644 search-doc-1720593912689.json rename zh-CN/assets/js/{00e27acf.35c773a7.js => 00e27acf.55398c0e.js} (96%) rename zh-CN/assets/js/{0701c65f.0526212f.js => 0701c65f.5fb553d7.js} (98%) rename zh-CN/assets/js/{0943ae7e.2eac3fe1.js => 0943ae7e.51be6a44.js} (98%) rename zh-CN/assets/js/{13b73499.ac201b38.js => 13b73499.836001d7.js} (96%) rename zh-CN/assets/js/{14207455.9e3ac4c0.js => 14207455.5f6f8654.js} (95%) rename zh-CN/assets/js/{147f2c3b.e8ab0540.js => 147f2c3b.575f5997.js} (95%) rename zh-CN/assets/js/{e52a4f72.7470e384.js => 1cce9cf2.d7cb82e0.js} (52%) delete mode 100644 zh-CN/assets/js/1d02d4bc.b26b4c90.js create mode 100644 zh-CN/assets/js/1d02d4bc.e0e7d0b8.js create mode 100644 zh-CN/assets/js/1e2984e9.8a151c8c.js delete mode 100644 zh-CN/assets/js/1e2984e9.caa0c668.js rename zh-CN/assets/js/{30625722.b9e2f941.js => 30625722.899d0e29.js} (97%) rename zh-CN/assets/js/{388289d1.01368a98.js => 388289d1.868651d6.js} (98%) rename zh-CN/assets/js/{43307644.fa5eda6d.js => 43307644.371faba6.js} (59%) rename zh-CN/assets/js/{4ac31d48.ccbca33b.js => 4ac31d48.d2ac7711.js} (96%) rename zh-CN/assets/js/{530b95bc.578ce795.js => 530b95bc.5faf9d4d.js} (52%) rename zh-CN/assets/js/{53ae1cff.b483e1e9.js => 53ae1cff.69d6b145.js} (97%) rename zh-CN/assets/js/{54035b50.c37f779d.js => 54035b50.5b7b7a70.js} (99%) delete mode 100644 zh-CN/assets/js/56ba08f5.698d1dd6.js rename zh-CN/assets/js/{69639f03.932a1ff3.js => 69639f03.67005086.js} (97%) rename zh-CN/assets/js/{6a88460e.a57467ed.js => 6a88460e.7cdc9c17.js} (96%) rename zh-CN/assets/js/{6cf93f4f.b6dbe33c.js => 6cf93f4f.cc27a5f2.js} (98%) rename zh-CN/assets/js/{73b11a63.328c141d.js => 73b11a63.fcb5dd51.js} (97%) rename zh-CN/assets/js/{757d6d2f.56a14cab.js => 757d6d2f.2edd4178.js} (96%) rename zh-CN/assets/js/{7d4c613b.b53d6464.js => 7d4c613b.cd6c0e81.js} (96%) rename zh-CN/assets/js/{7d6022f8.b52a423b.js => 7d6022f8.a7b59e8c.js} (98%) create mode 100644 zh-CN/assets/js/86576c4a.c1828dca.js delete mode 100644 zh-CN/assets/js/935f2afb.5b054c75.js create mode 100644 zh-CN/assets/js/935f2afb.d7bcc85b.js rename zh-CN/assets/js/{937d1ce8.42821d70.js => 937d1ce8.53928819.js} (99%) rename zh-CN/assets/js/{942ad9ac.979fa76a.js => 942ad9ac.b4ef3fb6.js} (97%) create mode 100644 zh-CN/assets/js/99f288bd.ee671f62.js rename zh-CN/assets/js/{9ad56930.6243de04.js => 9ad56930.d86d41a4.js} (99%) rename zh-CN/assets/js/{9c737088.5dc74331.js => 9c737088.c0e26307.js} (97%) delete mode 100644 zh-CN/assets/js/a213da47.26e54fa3.js rename zh-CN/assets/js/{a80ccd57.84787ceb.js => a80ccd57.e0a5ef7d.js} (55%) rename zh-CN/assets/js/{a8825227.249b5a6b.js => a8825227.46624778.js} (98%) rename zh-CN/assets/js/{add7f5bd.e0935209.js => add7f5bd.8d6bb3d7.js} (97%) rename zh-CN/assets/js/{b050f762.6cbc7161.js => b050f762.a4094615.js} (97%) create mode 100644 zh-CN/assets/js/b0fc953b.5cedc73d.js rename zh-CN/assets/js/{b6cfaca6.7c065468.js => b6cfaca6.fdea8507.js} (97%) rename zh-CN/assets/js/{c2782739.ac264a9b.js => c2782739.e342cf65.js} (99%) rename zh-CN/assets/js/{1922a9df.68c3f31c.js => c56a3d8b.d671a231.js} (52%) create mode 100644 zh-CN/assets/js/c70ae549.99175cb6.js delete mode 100644 zh-CN/assets/js/c70ae549.aeec2892.js delete mode 100644 zh-CN/assets/js/ccd14df0.d08d5007.js rename zh-CN/assets/js/{ccf34650.878b5d43.js => ccf34650.1a7de1c9.js} (97%) rename zh-CN/assets/js/{cf8be79c.8cc35435.js => cf8be79c.eb2a9541.js} (99%) rename zh-CN/assets/js/{d1e45549.16f1d155.js => d1e45549.c2cd0a7f.js} (96%) create mode 100644 zh-CN/assets/js/d36c949f.3ae7e271.js rename zh-CN/assets/js/{d53eca78.12337ec6.js => d53eca78.7cf8de39.js} (98%) rename zh-CN/assets/js/{d5ca27c9.6e1760e5.js => d5ca27c9.02146afe.js} (97%) rename zh-CN/assets/js/{d6fd58b0.a161643a.js => d6fd58b0.159dcda1.js} (64%) rename zh-CN/assets/js/{e0d8003c.56d036ea.js => e0d8003c.a8241f13.js} (98%) rename zh-CN/assets/js/{e3664c9a.a0d26402.js => e3664c9a.a11c4e9d.js} (96%) rename zh-CN/assets/js/{e68114b8.7073d0b8.js => e68114b8.6c14b219.js} (98%) rename zh-CN/assets/js/{e684c898.5162ad5a.js => e684c898.931c427b.js} (99%) rename zh-CN/assets/js/{e8173bdf.12e26d9f.js => e8173bdf.2447b859.js} (97%) rename zh-CN/assets/js/{e82d6aa4.8e5b48cc.js => e82d6aa4.04df95be.js} (98%) create mode 100644 zh-CN/assets/js/e8ec82f6.52be0956.js rename zh-CN/assets/js/{ea531825.0e80b39e.js => ea531825.ae761c74.js} (97%) rename zh-CN/assets/js/{eb8a6612.df676aae.js => eb8a6612.250fd9b1.js} (94%) delete mode 100644 zh-CN/assets/js/ebbada0f.1c8180b7.js rename zh-CN/assets/js/{ed796deb.b96fb3d5.js => ed796deb.92d61b6f.js} (98%) rename zh-CN/assets/js/{eda59ec3.b7fb34e0.js => eda59ec3.ad77f9c8.js} (98%) rename zh-CN/assets/js/{f3b095ec.44afcaaf.js => f3b095ec.3716cc9b.js} (97%) rename zh-CN/assets/js/{fb25c6f7.06735049.js => fb25c6f7.26da5657.js} (55%) create mode 100644 zh-CN/assets/js/main.75d33fb6.js rename zh-CN/assets/js/{main.f30171e6.js.LICENSE.txt => main.75d33fb6.js.LICENSE.txt} (100%) delete mode 100644 zh-CN/assets/js/main.f30171e6.js create mode 100644 zh-CN/assets/js/runtime~main.53628c4f.js delete mode 100644 zh-CN/assets/js/runtime~main.ea4ef0c5.js create mode 100644 zh-CN/developer-guide/spark-mode/data-sources/sdmx/index.html delete mode 100644 zh-CN/lunr-index-1719441925673.json create mode 100644 zh-CN/lunr-index-1720594041425.json delete mode 100644 zh-CN/search-doc-1719441925673.json create mode 100644 zh-CN/search-doc-1720594041425.json diff --git a/404.html b/404.html index 88e9b4a45..60c616e0d 100644 --- a/404.html +++ b/404.html @@ -10,15 +10,15 @@ - - + +
Skip to main content
- - + + \ No newline at end of file diff --git a/administrator-guide/grammar/index.html b/administrator-guide/grammar/index.html index 8dad6a2eb..fcf7c5243 100644 --- a/administrator-guide/grammar/index.html +++ b/administrator-guide/grammar/index.html @@ -10,15 +10,15 @@ - - + +
-
Skip to main content

Modifications of VTL grammar

Usage of the VTL grammar

Trevas on the VTL formal grammar expressed with EBNF. The reference is the version 2.0 upgrade published in July 2020 on the SDMX web site.

The grammar consists of two files ready to be processed by the Antlr parser generator:

  • VtlTokens.g4 contains the list of valid VTL terms.

  • Vtl.g4 contains the rules that produce valid VTL expressions.

Antlr uses these files to produce a lexer that creates a list of vocabulary symbols from an input character stream, and a parser that creates the grammatical structure corresponding to this list of symbols. Antlr can generate parsers usable in different target languages. Trevas uses the Java parser, which is exposed in the vtl-parser module.

Adaptations of the grammar

In order to improve performance and functionalities, minor modifications were made to the VTL grammar used in Trevas.

Simplification of the grammatical tree

As documented here and here, the expr and exprComp branches of the grammatical tree are nearly identical. In order to avoid implementing the same logic twice, the exprComp branch was commented out in the 498c1f8 commit. It was then noticed that this modification wrongly invalidated the COUNT() expression, and the corresponding rule was therefore reactivated in the grammar with the [54f86f2] (https://github.com/InseeFr/Trevas/commit/54f86f27d2e8fdd57df1439d74ed56d225064a7d) commit.

Addition of distance operators

Distance operators like Levenshtein of Jaro-Winkler are commonly used in tests of character strings. In order to allow them in VTL expressions, the 036dc60 commit added to the grammar a distanceOperators section containing a LEVENSHTEIN rule, as well as the LEVENSHTEIN symbol in the lexer file.

- - +
Skip to main content

Modifications of VTL grammar

Usage of the VTL grammar

Trevas on the VTL formal grammar expressed with EBNF. The reference is the version 2.0 upgrade published in July 2020 on the SDMX web site.

The grammar consists of two files ready to be processed by the Antlr parser generator:

  • VtlTokens.g4 contains the list of valid VTL terms.

  • Vtl.g4 contains the rules that produce valid VTL expressions.

Antlr uses these files to produce a lexer that creates a list of vocabulary symbols from an input character stream, and a parser that creates the grammatical structure corresponding to this list of symbols. Antlr can generate parsers usable in different target languages. Trevas uses the Java parser, which is exposed in the vtl-parser module.

Adaptations of the grammar

In order to improve performance and functionalities, minor modifications were made to the VTL grammar used in Trevas.

Simplification of the grammatical tree

As documented here and here, the expr and exprComp branches of the grammatical tree are nearly identical. In order to avoid implementing the same logic twice, the exprComp branch was commented out in the 498c1f8 commit. It was then noticed that this modification wrongly invalidated the COUNT() expression, and the corresponding rule was therefore reactivated in the grammar with the [54f86f2] (https://github.com/InseeFr/Trevas/commit/54f86f27d2e8fdd57df1439d74ed56d225064a7d) commit.

Addition of distance operators

Distance operators like Levenshtein of Jaro-Winkler are commonly used in tests of character strings. In order to allow them in VTL expressions, the 036dc60 commit added to the grammar a distanceOperators section containing a LEVENSHTEIN rule, as well as the LEVENSHTEIN symbol in the lexer file.

+ + \ No newline at end of file diff --git a/assets/js/02535a17.38802cb6.js b/assets/js/02535a17.87e218fb.js similarity index 97% rename from assets/js/02535a17.38802cb6.js rename to assets/js/02535a17.87e218fb.js index 5af5e7042..8be24043d 100644 --- a/assets/js/02535a17.38802cb6.js +++ b/assets/js/02535a17.87e218fb.js @@ -1 +1 @@ -"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[151],{3905:(e,t,r)=>{r.d(t,{Zo:()=>d,kt:()=>v});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function l(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var c=a.createContext({}),i=function(e){var t=a.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},d=function(e){var t=i(e.components);return a.createElement(c.Provider,{value:t},e.children)},u="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,c=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),u=i(r),m=n,v=u["".concat(c,".").concat(m)]||u[m]||p[m]||o;return r?a.createElement(v,l(l({ref:t},d),{},{components:r})):a.createElement(v,l({ref:t},d))}));function v(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,l=new Array(o);l[0]=m;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s[u]="string"==typeof e?e:n,l[1]=s;for(var i=2;i{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>l,default:()=>u,frontMatter:()=>o,metadata:()=>s,toc:()=>i});var a=r(87462),n=(r(67294),r(3905));const o={id:"json",title:"Basic mode - JSON source",sidebar_label:"JSON",slug:"/developer-guide/basic-mode/data-sources/json",custom_edit_url:null},l=void 0,s={unversionedId:"developer-guide/basic-mode/data-sources/json",id:"developer-guide/basic-mode/data-sources/json",title:"Basic mode - JSON source",description:"Import Trevas Jackson module",source:"@site/docs/developer-guide/basic-mode/data-sources/json.mdx",sourceDirName:"developer-guide/basic-mode/data-sources",slug:"/developer-guide/basic-mode/data-sources/json",permalink:"/Trevas/developer-guide/basic-mode/data-sources/json",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1719441741,formattedLastUpdatedAt:"Jun 26, 2024",frontMatter:{id:"json",title:"Basic mode - JSON source",sidebar_label:"JSON",slug:"/developer-guide/basic-mode/data-sources/json",custom_edit_url:null},sidebar:"docs",previous:{title:"JDBC",permalink:"/Trevas/developer-guide/basic-mode/data-sources/jdbc"},next:{title:"Others",permalink:"/Trevas/developer-guide/basic-mode/data-sources/others"}},c={},i=[{value:"Import Trevas Jackson module",id:"import-trevas-jackson-module",level:3},{value:"SchEma",id:"schema",level:3},{value:"Usage of the vtl-jackson module",id:"usage-of-the-vtl-jackson-module",level:3},{value:"Global declaration",id:"global-declaration",level:4},{value:"Deserialization example",id:"deserialization-example",level:4}],d={toc:i};function u(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,a.Z)({},d,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h3",{id:"import-trevas-jackson-module"},"Import Trevas Jackson module"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-xml"},"\n fr.insee.trevas\n vtl-jackson\n 1.4.1\n\n")),(0,n.kt)("h3",{id:"schema"},"SchEma"),(0,n.kt)("p",null,"The JSON representation of a ",(0,n.kt)("inlineCode",{parentName:"p"},"Dataset")," is defined as follows:"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-json"},'{\n "dataStructure": [\n { "name": "id", "type": "STRING", "role": "IDENTIFIER" },\n { "name": "x", "type": "INTEGER", "role": "MEASURE" },\n { "name": "y", "type": "FLOAT", "role": "MEASURE" }\n ],\n "dataPoints": [\n ["0001", 10, 50.5],\n ["0002", 20, -8],\n ["0003", 1000, 0],\n ["0004", 1, 4.5]\n ]\n}\n')),(0,n.kt)("h3",{id:"usage-of-the-vtl-jackson-module"},"Usage of the ",(0,n.kt)("inlineCode",{parentName:"h3"},"vtl-jackson")," module"),(0,n.kt)("h4",{id:"global-declaration"},"Global declaration"),(0,n.kt)("p",null,"The module can be globally declared at the scope of the client project."),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-java"},"public ObjectMapper objectMapper() {\n return new ObjectMapper()\n .registerModule(new TrevasModule());\n}\n")),(0,n.kt)("h4",{id:"deserialization-example"},"Deserialization example"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-java"},"ObjectMapper objectMapper = new ObjectMapper();\nobjectMapper.readValue(json, Dataset.class);\n")))}u.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[151],{3905:(e,t,r)=>{r.d(t,{Zo:()=>d,kt:()=>v});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function l(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var c=a.createContext({}),i=function(e){var t=a.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},d=function(e){var t=i(e.components);return a.createElement(c.Provider,{value:t},e.children)},u="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,c=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),u=i(r),m=n,v=u["".concat(c,".").concat(m)]||u[m]||p[m]||o;return r?a.createElement(v,l(l({ref:t},d),{},{components:r})):a.createElement(v,l({ref:t},d))}));function v(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,l=new Array(o);l[0]=m;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s[u]="string"==typeof e?e:n,l[1]=s;for(var i=2;i{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>l,default:()=>u,frontMatter:()=>o,metadata:()=>s,toc:()=>i});var a=r(87462),n=(r(67294),r(3905));const o={id:"json",title:"Basic mode - JSON source",sidebar_label:"JSON",slug:"/developer-guide/basic-mode/data-sources/json",custom_edit_url:null},l=void 0,s={unversionedId:"developer-guide/basic-mode/data-sources/json",id:"developer-guide/basic-mode/data-sources/json",title:"Basic mode - JSON source",description:"Import Trevas Jackson module",source:"@site/docs/developer-guide/basic-mode/data-sources/json.mdx",sourceDirName:"developer-guide/basic-mode/data-sources",slug:"/developer-guide/basic-mode/data-sources/json",permalink:"/Trevas/developer-guide/basic-mode/data-sources/json",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1720593860,formattedLastUpdatedAt:"Jul 10, 2024",frontMatter:{id:"json",title:"Basic mode - JSON source",sidebar_label:"JSON",slug:"/developer-guide/basic-mode/data-sources/json",custom_edit_url:null},sidebar:"docs",previous:{title:"JDBC",permalink:"/Trevas/developer-guide/basic-mode/data-sources/jdbc"},next:{title:"Others",permalink:"/Trevas/developer-guide/basic-mode/data-sources/others"}},c={},i=[{value:"Import Trevas Jackson module",id:"import-trevas-jackson-module",level:3},{value:"SchEma",id:"schema",level:3},{value:"Usage of the vtl-jackson module",id:"usage-of-the-vtl-jackson-module",level:3},{value:"Global declaration",id:"global-declaration",level:4},{value:"Deserialization example",id:"deserialization-example",level:4}],d={toc:i};function u(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,a.Z)({},d,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h3",{id:"import-trevas-jackson-module"},"Import Trevas Jackson module"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-xml"},"\n fr.insee.trevas\n vtl-jackson\n 1.4.1\n\n")),(0,n.kt)("h3",{id:"schema"},"SchEma"),(0,n.kt)("p",null,"The JSON representation of a ",(0,n.kt)("inlineCode",{parentName:"p"},"Dataset")," is defined as follows:"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-json"},'{\n "dataStructure": [\n { "name": "id", "type": "STRING", "role": "IDENTIFIER" },\n { "name": "x", "type": "INTEGER", "role": "MEASURE" },\n { "name": "y", "type": "FLOAT", "role": "MEASURE" }\n ],\n "dataPoints": [\n ["0001", 10, 50.5],\n ["0002", 20, -8],\n ["0003", 1000, 0],\n ["0004", 1, 4.5]\n ]\n}\n')),(0,n.kt)("h3",{id:"usage-of-the-vtl-jackson-module"},"Usage of the ",(0,n.kt)("inlineCode",{parentName:"h3"},"vtl-jackson")," module"),(0,n.kt)("h4",{id:"global-declaration"},"Global declaration"),(0,n.kt)("p",null,"The module can be globally declared at the scope of the client project."),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-java"},"public ObjectMapper objectMapper() {\n return new ObjectMapper()\n .registerModule(new TrevasModule());\n}\n")),(0,n.kt)("h4",{id:"deserialization-example"},"Deserialization example"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-java"},"ObjectMapper objectMapper = new ObjectMapper();\nobjectMapper.readValue(json, Dataset.class);\n")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/0cf64eed.50883b7b.js b/assets/js/0cf64eed.d9badc0b.js similarity index 96% rename from assets/js/0cf64eed.50883b7b.js rename to assets/js/0cf64eed.d9badc0b.js index 7d1237507..25b416767 100644 --- a/assets/js/0cf64eed.50883b7b.js +++ b/assets/js/0cf64eed.d9badc0b.js @@ -1 +1 @@ -"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[1407],{3905:(e,r,t)=>{t.d(r,{Zo:()=>c,kt:()=>f});var n=t(67294);function a(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function o(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function s(e){for(var r=1;r=0||(a[t]=e[t]);return a}(e,r);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var i=n.createContext({}),p=function(e){var r=n.useContext(i),t=r;return e&&(t="function"==typeof e?e(r):s(s({},r),e)),t},c=function(e){var r=p(e.components);return n.createElement(i.Provider,{value:r},e.children)},u="mdxType",m={inlineCode:"code",wrapper:function(e){var r=e.children;return n.createElement(n.Fragment,{},r)}},d=n.forwardRef((function(e,r){var t=e.components,a=e.mdxType,o=e.originalType,i=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),u=p(t),d=a,f=u["".concat(i,".").concat(d)]||u[d]||m[d]||o;return t?n.createElement(f,s(s({ref:r},c),{},{components:t})):n.createElement(f,s({ref:r},c))}));function f(e,r){var t=arguments,a=r&&r.mdxType;if("string"==typeof e||a){var o=t.length,s=new Array(o);s[0]=d;var l={};for(var i in r)hasOwnProperty.call(r,i)&&(l[i]=r[i]);l.originalType=e,l[u]="string"==typeof e?e:a,s[1]=l;for(var p=2;p{t.r(r),t.d(r,{assets:()=>i,contentTitle:()=>s,default:()=>u,frontMatter:()=>o,metadata:()=>l,toc:()=>p});var n=t(87462),a=(t(67294),t(3905));const o={id:"parser",title:"VTL Parser",sidebar_label:"VTL Parser",slug:"/modules/parser",custom_edit_url:null},s=void 0,l={unversionedId:"introduction/modules/parser",id:"introduction/modules/parser",title:"VTL Parser",description:"Maven - Vtl Parser",source:"@site/docs/introduction/modules/parser.mdx",sourceDirName:"introduction/modules",slug:"/modules/parser",permalink:"/Trevas/modules/parser",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1719441741,formattedLastUpdatedAt:"Jun 26, 2024",frontMatter:{id:"parser",title:"VTL Parser",sidebar_label:"VTL Parser",slug:"/modules/parser",custom_edit_url:null},sidebar:"docs",previous:{title:"VTL Engine",permalink:"/Trevas/modules/engine"},next:{title:"VTL Spark",permalink:"/Trevas/modules/spark"}},i={},p=[],c={toc:p};function u(e){let{components:r,...t}=e;return(0,a.kt)("wrapper",(0,n.Z)({},c,t,{components:r,mdxType:"MDXLayout"}),(0,a.kt)("p",null,(0,a.kt)("a",{parentName:"p",href:"https://maven-badges.herokuapp.com/maven-central/fr.insee.trevas/vtl-parser"},(0,a.kt)("img",{parentName:"a",src:"https://maven-badges.herokuapp.com/maven-central/fr.insee.trevas/vtl-parser/badge.svg",alt:"Maven - Vtl Parser"}))),(0,a.kt)("p",null,"Parser generated by ",(0,a.kt)("a",{parentName:"p",href:"https://www.antlr.org/"},"Antlr")," from the ",(0,a.kt)("a",{parentName:"p",href:"https://github.com/InseeFr/Trevas/tree/master/vtl-parser/src/main/antlr4/fr/insee/vtl/parser"},"VTL 2.0 formal grammar"),"."))}u.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[1407],{3905:(e,r,t)=>{t.d(r,{Zo:()=>c,kt:()=>f});var n=t(67294);function a(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function o(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function s(e){for(var r=1;r=0||(a[t]=e[t]);return a}(e,r);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var i=n.createContext({}),p=function(e){var r=n.useContext(i),t=r;return e&&(t="function"==typeof e?e(r):s(s({},r),e)),t},c=function(e){var r=p(e.components);return n.createElement(i.Provider,{value:r},e.children)},u="mdxType",m={inlineCode:"code",wrapper:function(e){var r=e.children;return n.createElement(n.Fragment,{},r)}},d=n.forwardRef((function(e,r){var t=e.components,a=e.mdxType,o=e.originalType,i=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),u=p(t),d=a,f=u["".concat(i,".").concat(d)]||u[d]||m[d]||o;return t?n.createElement(f,s(s({ref:r},c),{},{components:t})):n.createElement(f,s({ref:r},c))}));function f(e,r){var t=arguments,a=r&&r.mdxType;if("string"==typeof e||a){var o=t.length,s=new Array(o);s[0]=d;var l={};for(var i in r)hasOwnProperty.call(r,i)&&(l[i]=r[i]);l.originalType=e,l[u]="string"==typeof e?e:a,s[1]=l;for(var p=2;p{t.r(r),t.d(r,{assets:()=>i,contentTitle:()=>s,default:()=>u,frontMatter:()=>o,metadata:()=>l,toc:()=>p});var n=t(87462),a=(t(67294),t(3905));const o={id:"parser",title:"VTL Parser",sidebar_label:"VTL Parser",slug:"/modules/parser",custom_edit_url:null},s=void 0,l={unversionedId:"introduction/modules/parser",id:"introduction/modules/parser",title:"VTL Parser",description:"Maven - Vtl Parser",source:"@site/docs/introduction/modules/parser.mdx",sourceDirName:"introduction/modules",slug:"/modules/parser",permalink:"/Trevas/modules/parser",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1720593860,formattedLastUpdatedAt:"Jul 10, 2024",frontMatter:{id:"parser",title:"VTL Parser",sidebar_label:"VTL Parser",slug:"/modules/parser",custom_edit_url:null},sidebar:"docs",previous:{title:"VTL Engine",permalink:"/Trevas/modules/engine"},next:{title:"VTL Spark",permalink:"/Trevas/modules/spark"}},i={},p=[],c={toc:p};function u(e){let{components:r,...t}=e;return(0,a.kt)("wrapper",(0,n.Z)({},c,t,{components:r,mdxType:"MDXLayout"}),(0,a.kt)("p",null,(0,a.kt)("a",{parentName:"p",href:"https://maven-badges.herokuapp.com/maven-central/fr.insee.trevas/vtl-parser"},(0,a.kt)("img",{parentName:"a",src:"https://maven-badges.herokuapp.com/maven-central/fr.insee.trevas/vtl-parser/badge.svg",alt:"Maven - Vtl Parser"}))),(0,a.kt)("p",null,"Parser generated by ",(0,a.kt)("a",{parentName:"p",href:"https://www.antlr.org/"},"Antlr")," from the ",(0,a.kt)("a",{parentName:"p",href:"https://github.com/InseeFr/Trevas/tree/master/vtl-parser/src/main/antlr4/fr/insee/vtl/parser"},"VTL 2.0 formal grammar"),"."))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/14fde6e1.978084cb.js b/assets/js/14fde6e1.9b19e673.js similarity index 98% rename from assets/js/14fde6e1.978084cb.js rename to assets/js/14fde6e1.9b19e673.js index 8d3ef938b..3e72e8268 100644 --- a/assets/js/14fde6e1.978084cb.js +++ b/assets/js/14fde6e1.9b19e673.js @@ -1 +1 @@ -"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[6371],{3905:(t,e,r)=>{r.d(e,{Zo:()=>m,kt:()=>g});var a=r(67294);function n(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,a)}return r}function l(t){for(var e=1;e=0||(n[r]=t[r]);return n}(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}var p=a.createContext({}),c=function(t){var e=a.useContext(p),r=e;return t&&(r="function"==typeof t?t(e):l(l({},e),t)),r},m=function(t){var e=c(t.components);return a.createElement(p.Provider,{value:e},t.children)},d="mdxType",s={inlineCode:"code",wrapper:function(t){var e=t.children;return a.createElement(a.Fragment,{},e)}},u=a.forwardRef((function(t,e){var r=t.components,n=t.mdxType,o=t.originalType,p=t.parentName,m=i(t,["components","mdxType","originalType","parentName"]),d=c(r),u=n,g=d["".concat(p,".").concat(u)]||d[u]||s[u]||o;return r?a.createElement(g,l(l({ref:e},m),{},{components:r})):a.createElement(g,l({ref:e},m))}));function g(t,e){var r=arguments,n=e&&e.mdxType;if("string"==typeof t||n){var o=r.length,l=new Array(o);l[0]=u;var i={};for(var p in e)hasOwnProperty.call(e,p)&&(i[p]=e[p]);i.originalType=t,i[d]="string"==typeof t?t:n,l[1]=i;for(var c=2;c{r.r(e),r.d(e,{assets:()=>p,contentTitle:()=>l,default:()=>d,frontMatter:()=>o,metadata:()=>i,toc:()=>c});var a=r(87462),n=(r(67294),r(3905));const o={id:"comparison-operators",title:"VTL - Comparison operators",sidebar_label:"Comparison operators",slug:"/user-guide/coverage/comparison-operators",custom_edit_url:null},l=void 0,i={unversionedId:"user-guide/coverage/comparison-operators",id:"user-guide/coverage/comparison-operators",title:"VTL - Comparison operators",description:"| Name | Symbol | Scalar | Component | Dataset |",source:"@site/docs/user-guide/coverage/comparison-operators.mdx",sourceDirName:"user-guide/coverage",slug:"/user-guide/coverage/comparison-operators",permalink:"/Trevas/user-guide/coverage/comparison-operators",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1719441741,formattedLastUpdatedAt:"Jun 26, 2024",frontMatter:{id:"comparison-operators",title:"VTL - Comparison operators",sidebar_label:"Comparison operators",slug:"/user-guide/coverage/comparison-operators",custom_edit_url:null},sidebar:"docs",previous:{title:"Numeric operators",permalink:"/Trevas/user-guide/coverage/numeric-operators"},next:{title:"Boolean operators",permalink:"/Trevas/user-guide/coverage/boolean-operators"}},p={},c=[],m={toc:c};function d(t){let{components:e,...r}=t;return(0,n.kt)("wrapper",(0,a.Z)({},m,r,{components:e,mdxType:"MDXLayout"}),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:"left"},"Symbol"),(0,n.kt)("th",{parentName:"tr",align:"center"},"Scalar"),(0,n.kt)("th",{parentName:"tr",align:"center"},"Component"),(0,n.kt)("th",{parentName:"tr",align:"center"},"Dataset"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Equal to"),(0,n.kt)("td",{parentName:"tr",align:"left"},"="),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Not equal to"),(0,n.kt)("td",{parentName:"tr",align:"left"},"<",">"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Greater than"),(0,n.kt)("td",{parentName:"tr",align:"left"},">"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Less than"),(0,n.kt)("td",{parentName:"tr",align:"left"},"<"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Greater or equal than"),(0,n.kt)("td",{parentName:"tr",align:"left"},"> ="),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Less or equal than"),(0,n.kt)("td",{parentName:"tr",align:"left"},"<="),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Between"),(0,n.kt)("td",{parentName:"tr",align:"left"},"between"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Element of"),(0,n.kt)("td",{parentName:"tr",align:"left"},"in / not_in"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Match characters"),(0,n.kt)("td",{parentName:"tr",align:"left"},"match_characters"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Is null"),(0,n.kt)("td",{parentName:"tr",align:"left"},"isnull"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Exists in"),(0,n.kt)("td",{parentName:"tr",align:"left"},"exists_in"),(0,n.kt)("td",{parentName:"tr",align:"center"},"N/A"),(0,n.kt)("td",{parentName:"tr",align:"center"},"N/A"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u274c")))))}d.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[6371],{3905:(t,e,r)=>{r.d(e,{Zo:()=>m,kt:()=>g});var a=r(67294);function n(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,a)}return r}function l(t){for(var e=1;e=0||(n[r]=t[r]);return n}(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}var p=a.createContext({}),c=function(t){var e=a.useContext(p),r=e;return t&&(r="function"==typeof t?t(e):l(l({},e),t)),r},m=function(t){var e=c(t.components);return a.createElement(p.Provider,{value:e},t.children)},d="mdxType",s={inlineCode:"code",wrapper:function(t){var e=t.children;return a.createElement(a.Fragment,{},e)}},u=a.forwardRef((function(t,e){var r=t.components,n=t.mdxType,o=t.originalType,p=t.parentName,m=i(t,["components","mdxType","originalType","parentName"]),d=c(r),u=n,g=d["".concat(p,".").concat(u)]||d[u]||s[u]||o;return r?a.createElement(g,l(l({ref:e},m),{},{components:r})):a.createElement(g,l({ref:e},m))}));function g(t,e){var r=arguments,n=e&&e.mdxType;if("string"==typeof t||n){var o=r.length,l=new Array(o);l[0]=u;var i={};for(var p in e)hasOwnProperty.call(e,p)&&(i[p]=e[p]);i.originalType=t,i[d]="string"==typeof t?t:n,l[1]=i;for(var c=2;c{r.r(e),r.d(e,{assets:()=>p,contentTitle:()=>l,default:()=>d,frontMatter:()=>o,metadata:()=>i,toc:()=>c});var a=r(87462),n=(r(67294),r(3905));const o={id:"comparison-operators",title:"VTL - Comparison operators",sidebar_label:"Comparison operators",slug:"/user-guide/coverage/comparison-operators",custom_edit_url:null},l=void 0,i={unversionedId:"user-guide/coverage/comparison-operators",id:"user-guide/coverage/comparison-operators",title:"VTL - Comparison operators",description:"| Name | Symbol | Scalar | Component | Dataset |",source:"@site/docs/user-guide/coverage/comparison-operators.mdx",sourceDirName:"user-guide/coverage",slug:"/user-guide/coverage/comparison-operators",permalink:"/Trevas/user-guide/coverage/comparison-operators",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1720593860,formattedLastUpdatedAt:"Jul 10, 2024",frontMatter:{id:"comparison-operators",title:"VTL - Comparison operators",sidebar_label:"Comparison operators",slug:"/user-guide/coverage/comparison-operators",custom_edit_url:null},sidebar:"docs",previous:{title:"Numeric operators",permalink:"/Trevas/user-guide/coverage/numeric-operators"},next:{title:"Boolean operators",permalink:"/Trevas/user-guide/coverage/boolean-operators"}},p={},c=[],m={toc:c};function d(t){let{components:e,...r}=t;return(0,n.kt)("wrapper",(0,a.Z)({},m,r,{components:e,mdxType:"MDXLayout"}),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:"left"},"Symbol"),(0,n.kt)("th",{parentName:"tr",align:"center"},"Scalar"),(0,n.kt)("th",{parentName:"tr",align:"center"},"Component"),(0,n.kt)("th",{parentName:"tr",align:"center"},"Dataset"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Equal to"),(0,n.kt)("td",{parentName:"tr",align:"left"},"="),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Not equal to"),(0,n.kt)("td",{parentName:"tr",align:"left"},"<",">"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Greater than"),(0,n.kt)("td",{parentName:"tr",align:"left"},">"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Less than"),(0,n.kt)("td",{parentName:"tr",align:"left"},"<"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Greater or equal than"),(0,n.kt)("td",{parentName:"tr",align:"left"},"> ="),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Less or equal than"),(0,n.kt)("td",{parentName:"tr",align:"left"},"<="),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Between"),(0,n.kt)("td",{parentName:"tr",align:"left"},"between"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Element of"),(0,n.kt)("td",{parentName:"tr",align:"left"},"in / not_in"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Match characters"),(0,n.kt)("td",{parentName:"tr",align:"left"},"match_characters"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Is null"),(0,n.kt)("td",{parentName:"tr",align:"left"},"isnull"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Exists in"),(0,n.kt)("td",{parentName:"tr",align:"left"},"exists_in"),(0,n.kt)("td",{parentName:"tr",align:"center"},"N/A"),(0,n.kt)("td",{parentName:"tr",align:"center"},"N/A"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u274c")))))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/1819517c.6dfe154f.js b/assets/js/1819517c.ca4edab9.js similarity index 97% rename from assets/js/1819517c.6dfe154f.js rename to assets/js/1819517c.ca4edab9.js index 74bf42af9..7752c1e31 100644 --- a/assets/js/1819517c.6dfe154f.js +++ b/assets/js/1819517c.ca4edab9.js @@ -1 +1 @@ -"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[2132],{3905:(e,t,r)=>{r.d(t,{Zo:()=>c,kt:()=>g});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function i(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var p=a.createContext({}),m=function(e){var t=a.useContext(p),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},c=function(e){var t=m(e.components);return a.createElement(p.Provider,{value:t},e.children)},d="mdxType",s={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},u=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,p=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),d=m(r),u=n,g=d["".concat(p,".").concat(u)]||d[u]||s[u]||o;return r?a.createElement(g,i(i({ref:t},c),{},{components:r})):a.createElement(g,i({ref:t},c))}));function g(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,i=new Array(o);i[0]=u;var l={};for(var p in t)hasOwnProperty.call(t,p)&&(l[p]=t[p]);l.originalType=e,l[d]="string"==typeof e?e:n,i[1]=l;for(var m=2;m{r.r(t),r.d(t,{assets:()=>p,contentTitle:()=>i,default:()=>d,frontMatter:()=>o,metadata:()=>l,toc:()=>m});var a=r(87462),n=(r(67294),r(3905));const o={id:"time-operators",title:"VTL - Time operators",sidebar_label:"Time operators",slug:"/user-guide/coverage/time-operators",custom_edit_url:null},i=void 0,l={unversionedId:"user-guide/coverage/time-operators",id:"user-guide/coverage/time-operators",title:"VTL - Time operators",description:"| Name | Symbol | Time_period | Component | Dataset |",source:"@site/docs/user-guide/coverage/time-operators.mdx",sourceDirName:"user-guide/coverage",slug:"/user-guide/coverage/time-operators",permalink:"/Trevas/user-guide/coverage/time-operators",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1719441741,formattedLastUpdatedAt:"Jun 26, 2024",frontMatter:{id:"time-operators",title:"VTL - Time operators",sidebar_label:"Time operators",slug:"/user-guide/coverage/time-operators",custom_edit_url:null},sidebar:"docs",previous:{title:"Boolean operators",permalink:"/Trevas/user-guide/coverage/boolean-operators"},next:{title:"Set operators",permalink:"/Trevas/user-guide/coverage/set-operators"}},p={},m=[],c={toc:m};function d(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,a.Z)({},c,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:"left"},"Symbol"),(0,n.kt)("th",{parentName:"tr",align:"center"},"Time_period"),(0,n.kt)("th",{parentName:"tr",align:"center"},"Component"),(0,n.kt)("th",{parentName:"tr",align:"center"},"Dataset"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Period indicator"),(0,n.kt)("td",{parentName:"tr",align:"left"},"period_indicator"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Fill time series"),(0,n.kt)("td",{parentName:"tr",align:"left"},"fill_time_series"),(0,n.kt)("td",{parentName:"tr",align:"center"},"N/A"),(0,n.kt)("td",{parentName:"tr",align:"center"},"N/A"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u274c")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Flow to stock"),(0,n.kt)("td",{parentName:"tr",align:"left"},"flow_to_stock"),(0,n.kt)("td",{parentName:"tr",align:"center"},"N/A"),(0,n.kt)("td",{parentName:"tr",align:"center"},"N/A"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Stock to flow"),(0,n.kt)("td",{parentName:"tr",align:"left"},"stock_to_flow"),(0,n.kt)("td",{parentName:"tr",align:"center"},"N/A"),(0,n.kt)("td",{parentName:"tr",align:"center"},"N/A"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Time shift"),(0,n.kt)("td",{parentName:"tr",align:"left"},"timeshift"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Time aggregation"),(0,n.kt)("td",{parentName:"tr",align:"left"},"time_agg"),(0,n.kt)("td",{parentName:"tr",align:"center"},"N/A"),(0,n.kt)("td",{parentName:"tr",align:"center"},"N/A"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u274c")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Actual time"),(0,n.kt)("td",{parentName:"tr",align:"left"},"current_date"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"N/A"),(0,n.kt)("td",{parentName:"tr",align:"center"},"N/A")))))}d.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[2132],{3905:(e,t,r)=>{r.d(t,{Zo:()=>c,kt:()=>g});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function i(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var p=a.createContext({}),m=function(e){var t=a.useContext(p),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},c=function(e){var t=m(e.components);return a.createElement(p.Provider,{value:t},e.children)},d="mdxType",s={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},u=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,p=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),d=m(r),u=n,g=d["".concat(p,".").concat(u)]||d[u]||s[u]||o;return r?a.createElement(g,i(i({ref:t},c),{},{components:r})):a.createElement(g,i({ref:t},c))}));function g(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,i=new Array(o);i[0]=u;var l={};for(var p in t)hasOwnProperty.call(t,p)&&(l[p]=t[p]);l.originalType=e,l[d]="string"==typeof e?e:n,i[1]=l;for(var m=2;m{r.r(t),r.d(t,{assets:()=>p,contentTitle:()=>i,default:()=>d,frontMatter:()=>o,metadata:()=>l,toc:()=>m});var a=r(87462),n=(r(67294),r(3905));const o={id:"time-operators",title:"VTL - Time operators",sidebar_label:"Time operators",slug:"/user-guide/coverage/time-operators",custom_edit_url:null},i=void 0,l={unversionedId:"user-guide/coverage/time-operators",id:"user-guide/coverage/time-operators",title:"VTL - Time operators",description:"| Name | Symbol | Time_period | Component | Dataset |",source:"@site/docs/user-guide/coverage/time-operators.mdx",sourceDirName:"user-guide/coverage",slug:"/user-guide/coverage/time-operators",permalink:"/Trevas/user-guide/coverage/time-operators",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1720593860,formattedLastUpdatedAt:"Jul 10, 2024",frontMatter:{id:"time-operators",title:"VTL - Time operators",sidebar_label:"Time operators",slug:"/user-guide/coverage/time-operators",custom_edit_url:null},sidebar:"docs",previous:{title:"Boolean operators",permalink:"/Trevas/user-guide/coverage/boolean-operators"},next:{title:"Set operators",permalink:"/Trevas/user-guide/coverage/set-operators"}},p={},m=[],c={toc:m};function d(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,a.Z)({},c,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:"left"},"Symbol"),(0,n.kt)("th",{parentName:"tr",align:"center"},"Time_period"),(0,n.kt)("th",{parentName:"tr",align:"center"},"Component"),(0,n.kt)("th",{parentName:"tr",align:"center"},"Dataset"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Period indicator"),(0,n.kt)("td",{parentName:"tr",align:"left"},"period_indicator"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Fill time series"),(0,n.kt)("td",{parentName:"tr",align:"left"},"fill_time_series"),(0,n.kt)("td",{parentName:"tr",align:"center"},"N/A"),(0,n.kt)("td",{parentName:"tr",align:"center"},"N/A"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u274c")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Flow to stock"),(0,n.kt)("td",{parentName:"tr",align:"left"},"flow_to_stock"),(0,n.kt)("td",{parentName:"tr",align:"center"},"N/A"),(0,n.kt)("td",{parentName:"tr",align:"center"},"N/A"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Stock to flow"),(0,n.kt)("td",{parentName:"tr",align:"left"},"stock_to_flow"),(0,n.kt)("td",{parentName:"tr",align:"center"},"N/A"),(0,n.kt)("td",{parentName:"tr",align:"center"},"N/A"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Time shift"),(0,n.kt)("td",{parentName:"tr",align:"left"},"timeshift"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Time aggregation"),(0,n.kt)("td",{parentName:"tr",align:"left"},"time_agg"),(0,n.kt)("td",{parentName:"tr",align:"center"},"N/A"),(0,n.kt)("td",{parentName:"tr",align:"center"},"N/A"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u274c")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Actual time"),(0,n.kt)("td",{parentName:"tr",align:"left"},"current_date"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"N/A"),(0,n.kt)("td",{parentName:"tr",align:"center"},"N/A")))))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/1a0068d9.9be65da6.js b/assets/js/1a0068d9.c05826ea.js similarity index 98% rename from assets/js/1a0068d9.9be65da6.js rename to assets/js/1a0068d9.c05826ea.js index c3b9f2015..09c3edef6 100644 --- a/assets/js/1a0068d9.9be65da6.js +++ b/assets/js/1a0068d9.c05826ea.js @@ -1 +1 @@ -"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[3612],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>m});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function s(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var p=n.createContext({}),l=function(e){var t=n.useContext(p),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},u=function(e){var t=l(e.components);return n.createElement(p.Provider,{value:t},e.children)},d="mdxType",c={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},k=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,s=e.originalType,p=e.parentName,u=o(e,["components","mdxType","originalType","parentName"]),d=l(r),k=a,m=d["".concat(p,".").concat(k)]||d[k]||c[k]||s;return r?n.createElement(m,i(i({ref:t},u),{},{components:r})):n.createElement(m,i({ref:t},u))}));function m(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var s=r.length,i=new Array(s);i[0]=k;var o={};for(var p in t)hasOwnProperty.call(t,p)&&(o[p]=t[p]);o.originalType=e,o[d]="string"==typeof e?e:a,i[1]=o;for(var l=2;l{r.r(t),r.d(t,{assets:()=>p,contentTitle:()=>i,default:()=>d,frontMatter:()=>s,metadata:()=>o,toc:()=>l});var n=r(87462),a=(r(67294),r(3905));const s={id:"index-spark-mode",title:"Spark mode",sidebar_label:"Overview",slug:"/developer-guide/spark-mode",custom_edit_url:null},i=void 0,o={unversionedId:"developer-guide/spark-mode/index-spark-mode",id:"developer-guide/spark-mode/index-spark-mode",title:"Spark mode",description:"SparkDataset",source:"@site/docs/developer-guide/spark-mode/index-spark-mode.mdx",sourceDirName:"developer-guide/spark-mode",slug:"/developer-guide/spark-mode",permalink:"/Trevas/developer-guide/spark-mode",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1719441741,formattedLastUpdatedAt:"Jun 26, 2024",frontMatter:{id:"index-spark-mode",title:"Spark mode",sidebar_label:"Overview",slug:"/developer-guide/spark-mode",custom_edit_url:null},sidebar:"docs",previous:{title:"Others",permalink:"/Trevas/developer-guide/basic-mode/data-sources/others"},next:{title:"Overview",permalink:"/Trevas/developer-guide/spark-mode/data-sources"}},p={},l=[{value:"SparkDataset",id:"sparkdataset",level:3},{value:"Import Trevas Spark module",id:"import-trevas-spark-module",level:3},{value:"Spark session",id:"spark-session",level:3},{value:"Example",id:"example",level:3},{value:"Distributed execution",id:"distributed-execution",level:3},{value:"Execution in a Kubernetes cluster",id:"execution-in-a-kubernetes-cluster",level:3}],u={toc:l};function d(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h3",{id:"sparkdataset"},"SparkDataset"),(0,a.kt)("p",null,"The ",(0,a.kt)("inlineCode",{parentName:"p"},"SparkDataset")," data sets can represent statistical tables in a Java application using Trevas in Spark mode."),(0,a.kt)("h3",{id:"import-trevas-spark-module"},"Import Trevas Spark module"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-xml"},"\n fr.insee.trevas\n vtl-spark\n 1.4.1\n\n")),(0,a.kt)("h3",{id:"spark-session"},"Spark session"),(0,a.kt)("p",null,"In order to execute VTL via Trevas in Spark mode, a Spark session must be instantiated."),(0,a.kt)("p",null,"The session can be:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"locale (execution on the Java server)"),(0,a.kt)("li",{parentName:"ul"},"static (execution on a Spark instance installed on a server beforehand)"),(0,a.kt)("li",{parentName:"ul"},"dynamic (dynamic execution on a Kubernetes cluster)")),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-java"},'SparkSession spark = SparkSession.builder().master("local").getOrCreate();\n')),(0,a.kt)("h3",{id:"example"},"Example"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-java"},'ScriptEngine engine = new ScriptEngineManager().getEngineByName("vtl");\n\nBindings bindings = new SimpleBindings();\nSparkDataset dataset = new SparkDataset(spark.read().parquet("folder_path"));\nbindings.put("myDataset", dataset);\n\nengine.getContext().setBindings(bindings, ScriptContext.ENGINE_SCOPE);\nengine.put("$vtl.engine.processing_engine_names", "spark");\nengine.put("$vtl.spark.session", spark);\n\nString script = "res := myDataset[filter var3 > 6];";\n\ntry {\n engine.eval(script);\n} catch (ScriptException e) {\n e.printStackTrace();\n}\n\nBindings outputBindings = engine.getContext().getBindings(ScriptContext.ENGINE_SCOPE);\nSparkDataset result = (SparkDataset) outputBindings.get("res");\n// Ensure direct resolution because of spark lazy mechanism (performance warning!)\nInMemoryDataset imResult = new InMemoryDataset(\n result.getDataPoints(),\n result.getDataStructure()\n );\n')),(0,a.kt)("h3",{id:"distributed-execution"},"Distributed execution"),(0,a.kt)("p",null,"Whether in static or dynamic mode, the distributed execution of the treatments requires that the executors instantiated by the master be able to solve the VTL processing."),(0,a.kt)("p",null,"It is thus necessary to provide the Trevas jars to the executors via the ",(0,a.kt)("inlineCode",{parentName:"p"},"spark.jars")," option of the ",(0,a.kt)("inlineCode",{parentName:"p"},"SparkConf")," object:"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-java"},'SparkSession.Builder sparkBuilder = SparkSession.builder()\nSparkConf conf = new SparkConf();\nconf.set("spark.jars", String.join(",",\n "/vtl-spark.jar",\n "/vtl-model.jar",\n "/vtl-parser.jar",\n "/vtl-engine.jar",\n ));\nsparkBuilder.config(conf);\n...\nSparkSession spark = sparkBuilder.getOrCreate();\n')),(0,a.kt)("h3",{id:"execution-in-a-kubernetes-cluster"},"Execution in a Kubernetes cluster"),(0,a.kt)("p",null,"Many options are detailed in the ",(0,a.kt)("a",{parentName:"p",href:"https://spark.apache.org/docs/latest/running-on-kubernetes.html#docker-images"},"official documentation")),(0,a.kt)("p",null,"Among these, one option is particularly important: the Docker image that will allow executors to resolve VTL processing."),(0,a.kt)("p",null,"A custom image is available ",(0,a.kt)("a",{parentName:"p",href:"https://github.com/InseeFrLab/Trevas-Spark-Hadoop"},"here"),"."),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-java"},'SparkSession.Builder sparkBuilder = SparkSession.builder()\nSparkConf conf = new SparkConf();\nconf.set("spark.kubernetes.container.image", "inseefrlab/spark-hadoop:trevas-0.4.7-spark-3.2.1-hadoop-3.3.1-postgresql-42.3.3-postgis-2021.1.0");\nconf.set("spark.kubernetes.container.pullPolicy", "IfNotPresent");\nsparkBuilder.config(conf);\nsparkBuilder.master("k8s://...")\n...\nSparkSession spark = sparkBuilder.getOrCreate();\n')))}d.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[3612],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>m});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function s(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var p=n.createContext({}),l=function(e){var t=n.useContext(p),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},u=function(e){var t=l(e.components);return n.createElement(p.Provider,{value:t},e.children)},d="mdxType",c={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},k=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,s=e.originalType,p=e.parentName,u=o(e,["components","mdxType","originalType","parentName"]),d=l(r),k=a,m=d["".concat(p,".").concat(k)]||d[k]||c[k]||s;return r?n.createElement(m,i(i({ref:t},u),{},{components:r})):n.createElement(m,i({ref:t},u))}));function m(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var s=r.length,i=new Array(s);i[0]=k;var o={};for(var p in t)hasOwnProperty.call(t,p)&&(o[p]=t[p]);o.originalType=e,o[d]="string"==typeof e?e:a,i[1]=o;for(var l=2;l{r.r(t),r.d(t,{assets:()=>p,contentTitle:()=>i,default:()=>d,frontMatter:()=>s,metadata:()=>o,toc:()=>l});var n=r(87462),a=(r(67294),r(3905));const s={id:"index-spark-mode",title:"Spark mode",sidebar_label:"Overview",slug:"/developer-guide/spark-mode",custom_edit_url:null},i=void 0,o={unversionedId:"developer-guide/spark-mode/index-spark-mode",id:"developer-guide/spark-mode/index-spark-mode",title:"Spark mode",description:"SparkDataset",source:"@site/docs/developer-guide/spark-mode/index-spark-mode.mdx",sourceDirName:"developer-guide/spark-mode",slug:"/developer-guide/spark-mode",permalink:"/Trevas/developer-guide/spark-mode",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1720593860,formattedLastUpdatedAt:"Jul 10, 2024",frontMatter:{id:"index-spark-mode",title:"Spark mode",sidebar_label:"Overview",slug:"/developer-guide/spark-mode",custom_edit_url:null},sidebar:"docs",previous:{title:"Others",permalink:"/Trevas/developer-guide/basic-mode/data-sources/others"},next:{title:"Overview",permalink:"/Trevas/developer-guide/spark-mode/data-sources"}},p={},l=[{value:"SparkDataset",id:"sparkdataset",level:3},{value:"Import Trevas Spark module",id:"import-trevas-spark-module",level:3},{value:"Spark session",id:"spark-session",level:3},{value:"Example",id:"example",level:3},{value:"Distributed execution",id:"distributed-execution",level:3},{value:"Execution in a Kubernetes cluster",id:"execution-in-a-kubernetes-cluster",level:3}],u={toc:l};function d(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h3",{id:"sparkdataset"},"SparkDataset"),(0,a.kt)("p",null,"The ",(0,a.kt)("inlineCode",{parentName:"p"},"SparkDataset")," data sets can represent statistical tables in a Java application using Trevas in Spark mode."),(0,a.kt)("h3",{id:"import-trevas-spark-module"},"Import Trevas Spark module"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-xml"},"\n fr.insee.trevas\n vtl-spark\n 1.4.1\n\n")),(0,a.kt)("h3",{id:"spark-session"},"Spark session"),(0,a.kt)("p",null,"In order to execute VTL via Trevas in Spark mode, a Spark session must be instantiated."),(0,a.kt)("p",null,"The session can be:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"locale (execution on the Java server)"),(0,a.kt)("li",{parentName:"ul"},"static (execution on a Spark instance installed on a server beforehand)"),(0,a.kt)("li",{parentName:"ul"},"dynamic (dynamic execution on a Kubernetes cluster)")),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-java"},'SparkSession spark = SparkSession.builder().master("local").getOrCreate();\n')),(0,a.kt)("h3",{id:"example"},"Example"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-java"},'ScriptEngine engine = new ScriptEngineManager().getEngineByName("vtl");\n\nBindings bindings = new SimpleBindings();\nSparkDataset dataset = new SparkDataset(spark.read().parquet("folder_path"));\nbindings.put("myDataset", dataset);\n\nengine.getContext().setBindings(bindings, ScriptContext.ENGINE_SCOPE);\nengine.put("$vtl.engine.processing_engine_names", "spark");\nengine.put("$vtl.spark.session", spark);\n\nString script = "res := myDataset[filter var3 > 6];";\n\ntry {\n engine.eval(script);\n} catch (ScriptException e) {\n e.printStackTrace();\n}\n\nBindings outputBindings = engine.getContext().getBindings(ScriptContext.ENGINE_SCOPE);\nSparkDataset result = (SparkDataset) outputBindings.get("res");\n// Ensure direct resolution because of spark lazy mechanism (performance warning!)\nInMemoryDataset imResult = new InMemoryDataset(\n result.getDataPoints(),\n result.getDataStructure()\n );\n')),(0,a.kt)("h3",{id:"distributed-execution"},"Distributed execution"),(0,a.kt)("p",null,"Whether in static or dynamic mode, the distributed execution of the treatments requires that the executors instantiated by the master be able to solve the VTL processing."),(0,a.kt)("p",null,"It is thus necessary to provide the Trevas jars to the executors via the ",(0,a.kt)("inlineCode",{parentName:"p"},"spark.jars")," option of the ",(0,a.kt)("inlineCode",{parentName:"p"},"SparkConf")," object:"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-java"},'SparkSession.Builder sparkBuilder = SparkSession.builder()\nSparkConf conf = new SparkConf();\nconf.set("spark.jars", String.join(",",\n "/vtl-spark.jar",\n "/vtl-model.jar",\n "/vtl-parser.jar",\n "/vtl-engine.jar",\n ));\nsparkBuilder.config(conf);\n...\nSparkSession spark = sparkBuilder.getOrCreate();\n')),(0,a.kt)("h3",{id:"execution-in-a-kubernetes-cluster"},"Execution in a Kubernetes cluster"),(0,a.kt)("p",null,"Many options are detailed in the ",(0,a.kt)("a",{parentName:"p",href:"https://spark.apache.org/docs/latest/running-on-kubernetes.html#docker-images"},"official documentation")),(0,a.kt)("p",null,"Among these, one option is particularly important: the Docker image that will allow executors to resolve VTL processing."),(0,a.kt)("p",null,"A custom image is available ",(0,a.kt)("a",{parentName:"p",href:"https://github.com/InseeFrLab/Trevas-Spark-Hadoop"},"here"),"."),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-java"},'SparkSession.Builder sparkBuilder = SparkSession.builder()\nSparkConf conf = new SparkConf();\nconf.set("spark.kubernetes.container.image", "inseefrlab/spark-hadoop:trevas-0.4.7-spark-3.2.1-hadoop-3.3.1-postgresql-42.3.3-postgis-2021.1.0");\nconf.set("spark.kubernetes.container.pullPolicy", "IfNotPresent");\nsparkBuilder.config(conf);\nsparkBuilder.master("k8s://...")\n...\nSparkSession spark = sparkBuilder.getOrCreate();\n')))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/1d02d4bc.3fe72ef6.js b/assets/js/1d02d4bc.3fe72ef6.js deleted file mode 100644 index ea84c5af6..000000000 --- a/assets/js/1d02d4bc.3fe72ef6.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[1758],{3905:(e,t,n)=>{n.d(t,{Zo:()=>d,kt:()=>f});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function l(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var s=a.createContext({}),u=function(e){var t=a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},d=function(e){var t=u(e.components);return a.createElement(s.Provider,{value:t},e.children)},c="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,s=e.parentName,d=i(e,["components","mdxType","originalType","parentName"]),c=u(n),m=r,f=c["".concat(s,".").concat(m)]||c[m]||p[m]||o;return n?a.createElement(f,l(l({ref:t},d),{},{components:n})):a.createElement(f,l({ref:t},d))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,l=new Array(o);l[0]=m;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i[c]="string"==typeof e?e:r,l[1]=i;for(var u=2;u{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>s,default:()=>m,frontMatter:()=>i,metadata:()=>u,toc:()=>c});var a=n(87462),r=(n(67294),n(3905)),o=n(44996),l=n(50941);const i={slug:"/trevas-sdmx",title:"Trevas - SDMX",authors:["nicolas"],tags:["Trevas","SDMX"]},s=void 0,u={permalink:"/Trevas/blog/trevas-sdmx",source:"@site/blog/2024-06-25-trevas-sdmx.mdx",title:"Trevas - SDMX",description:"News",date:"2024-06-25T00:00:00.000Z",formattedDate:"June 25, 2024",tags:[{label:"Trevas",permalink:"/Trevas/blog/tags/trevas"},{label:"SDMX",permalink:"/Trevas/blog/tags/sdmx"}],readingTime:2.44,hasTruncateMarker:!1,authors:[{name:"Nicolas Laval",link:"https://github.com/NicoLaval",title:"Making Sense - Developer",image:"/img/profile_pic_nicolas_laval.jpg",key:"nicolas"}],frontMatter:{slug:"/trevas-sdmx",title:"Trevas - SDMX",authors:["nicolas"],tags:["Trevas","SDMX"]},nextItem:{title:"Trevas - Temporal operators",permalink:"/Trevas/blog/trevas-temporal-operators"}},d={authorsImageUrls:[void 0]},c=[{value:"News",id:"news",level:3},{value:"Overview",id:"overview",level:4},{value:"Tools available",id:"tools-available",level:4},{value:"buildStructureFromSDMX3 utility",id:"buildstructurefromsdmx3-utility",level:4},{value:"SDMXVTLWorkflow object",id:"sdmxvtlworkflow-object",level:4},{value:"SDMXVTLWorkflow run function - Preview mode",id:"sdmxvtlworkflow-run-function---preview-mode",level:4},{value:"SDMXVTLWorkflow run function",id:"sdmxvtlworkflow-run-function",level:4},{value:"SDMXVTLWorkflow getTransformationsVTL function",id:"sdmxvtlworkflow-gettransformationsvtl-function",level:4},{value:"SDMXVTLWorkflow getRulesetsVTL function",id:"sdmxvtlworkflow-getrulesetsvtl-function",level:4}],p={toc:c};function m(e){let{components:t,...n}=e;return(0,r.kt)("wrapper",(0,a.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h3",{id:"news"},"News"),(0,r.kt)("p",null,"Trevas 1.4.1 introduces the VTL SDMX module."),(0,r.kt)("p",null,"This module enables to consume SDMX metadata sources to instantiate Trevas DataStructures and Datasets."),(0,r.kt)("p",null,"It also allows to execute the VTL TransformationSchemes to obtain the resulting persistent datasets."),(0,r.kt)("h4",{id:"overview"},"Overview"),(0,r.kt)("div",{style:{textAlign:"center"}},(0,r.kt)(l.Z,{alt:"VTL SDMX Diagram",sources:{light:(0,o.Z)("/img/vtl-sdmx-light.svg"),dark:(0,o.Z)("/img/vtl-sdmx-dark.svg")},mdxType:"ThemedImage"})),(0,r.kt)("p",null,"Trevas supports the above SDMX message elements. Only the VtlMappingSchemes attribute is optional."),(0,r.kt)("p",null,"The elements in box 1 are used to produce Trevas DataStructures, filling VTL components attributes name, role, type, nullable and valuedomain."),(0,r.kt)("p",null,"The elements in box 2 are used to generate the VTL code (rulesets & transformations)."),(0,r.kt)("h4",{id:"tools-available"},"Tools available"),(0,r.kt)("h4",{id:"buildstructurefromsdmx3-utility"},(0,r.kt)("inlineCode",{parentName:"h4"},"buildStructureFromSDMX3")," utility"),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"TrevasSDMXUtils.buildStructureFromSDMX3")," allows to obtain a Trevas DataStructure."),(0,r.kt)("p",null,"Providing corresponding data, you can build a Trevas Dataset."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-java"},'Structured.DataStructure structure = TrevasSDMXUtils.buildStructureFromSDMX3("path/sdmx_file.xml", "STRUCT_ID");\n\nSparkDataset ds = new SparkDataset(\n spark.read()\n .option("header", "true")\n .option("delimiter", ";")\n .option("quote", "\\"")\n .csv("path"),\n structure\n);\n')),(0,r.kt)("h4",{id:"sdmxvtlworkflow-object"},(0,r.kt)("inlineCode",{parentName:"h4"},"SDMXVTLWorkflow")," object"),(0,r.kt)("p",null,"The ",(0,r.kt)("inlineCode",{parentName:"p"},"SDMXVTLWorkflow")," constructor takes 3 arguments:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"a ",(0,r.kt)("inlineCode",{parentName:"li"},"ScriptEngine")," (Trevas or another)"),(0,r.kt)("li",{parentName:"ul"},"a ",(0,r.kt)("inlineCode",{parentName:"li"},"ReadableDataLocation")," to handle an SDMX message"),(0,r.kt)("li",{parentName:"ul"},"a map of names / Datasets")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-java"},'SparkSession.builder()\n .appName("test")\n .master("local")\n .getOrCreate();\n\nScriptEngineManager mgr = new ScriptEngineManager();\nScriptEngine engine = mgr.getEngineByExtension("vtl");\nengine.put(VtlScriptEngine.PROCESSING_ENGINE_NAMES, "spark");\n\nReadableDataLocation rdl = new ReadableDataLocationTmp("src/test/resources/DSD_BPE_CENSUS.xml");\n\nSDMXVTLWorkflow sdmxVtlWorkflow = new SDMXVTLWorkflow(engine, rdl, Map.of());\n')),(0,r.kt)("p",null,"This object then allows you to activate the following 3 functions."),(0,r.kt)("h4",{id:"sdmxvtlworkflow-run-function---preview-mode"},"SDMXVTLWorkflow ",(0,r.kt)("inlineCode",{parentName:"h4"},"run")," function - Preview mode"),(0,r.kt)("p",null,"The ",(0,r.kt)("inlineCode",{parentName:"p"},"run")," function can easily be called in a preview mode, without attached data."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-java"},'ScriptEngineManager mgr = new ScriptEngineManager();\nScriptEngine engine = mgr.getEngineByExtension("vtl");\nengine.put(VtlScriptEngine.PROCESSING_ENGINE_NAMES, "spark");\n\nReadableDataLocation rdl = new ReadableDataLocationTmp("src/test/resources/DSD_BPE_CENSUS.xml");\n\nSDMXVTLWorkflow sdmxVtlWorkflow = new SDMXVTLWorkflow(engine, rdl, Map.of());\n\n// instead of using TrevasSDMXUtils.buildStructureFromSDMX3 and data sources\n// to build Trevas Datasets, sdmxVtlWorkflow.getEmptyDatasets()\n// will handle SDMX message structures to produce Trevas Datasets\n// with metadata defined in this message, and adding empty data\nMap emptyDatasets = sdmxVtlWorkflow.getEmptyDatasets();\nengine.getBindings(ScriptContext.ENGINE_SCOPE).putAll(emptyDatasets);\n\nMap result = sdmxVtlWorkflow.run();\n')),(0,r.kt)("p",null,"The preview mode allows to check the conformity of the SDMX file and the metadata of the output datasets."),(0,r.kt)("h4",{id:"sdmxvtlworkflow-run-function"},"SDMXVTLWorkflow ",(0,r.kt)("inlineCode",{parentName:"h4"},"run")," function"),(0,r.kt)("p",null,"Once an ",(0,r.kt)("inlineCode",{parentName:"p"},"SDMXVTLWorkflow")," is built, it is easy to run the VTL validations and transformations defined in the SDMX file."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-java"},'Structured.DataStructure structure = TrevasSDMXUtils.buildStructureFromSDMX3("path/sdmx_file.xml", "ds1");\n\nSparkDataset ds1 = new SparkDataset(\n spark.read()\n .option("header", "true")\n .option("delimiter", ";")\n .option("quote", "\\"")\n .csv("path/data.csv"),\n structure\n);\n\nScriptEngineManager mgr = new ScriptEngineManager();\nScriptEngine engine = mgr.getEngineByExtension("vtl");\nengine.put(VtlScriptEngine.PROCESSING_ENGINE_NAMES, "spark");\n\nMap inputs = Map.of("ds1", ds1);\n\nReadableDataLocation rdl = new ReadableDataLocationTmp("path/sdmx_file.xml");\n\nSDMXVTLWorkflow sdmxVtlWorkflow = new SDMXVTLWorkflow(engine, rdl, inputs);\n\nMap bindings = sdmxVtlWorkflow.run();\n')),(0,r.kt)("p",null,"As a result, one will receive all the dataset defined as persistent in the ",(0,r.kt)("inlineCode",{parentName:"p"},"TransformationSchemes")," definition."),(0,r.kt)("h4",{id:"sdmxvtlworkflow-gettransformationsvtl-function"},"SDMXVTLWorkflow ",(0,r.kt)("inlineCode",{parentName:"h4"},"getTransformationsVTL")," function"),(0,r.kt)("p",null,"Gets the VTL code corresponding to the SDMX TransformationSchemes definition."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-java"},"SDMXVTLWorkflow sdmxVtlWorkflow = new SDMXVTLWorkflow(engine, rdl, Map.of());\nString vtl = sdmxVtlWorkflow.getTransformationsVTL();\n")),(0,r.kt)("h4",{id:"sdmxvtlworkflow-getrulesetsvtl-function"},"SDMXVTLWorkflow ",(0,r.kt)("inlineCode",{parentName:"h4"},"getRulesetsVTL")," function"),(0,r.kt)("p",null,"Gets the VTL code corresponding to the SDMX TransformationSchemes definition."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-java"},"SDMXVTLWorkflow sdmxVtlWorkflow = new SDMXVTLWorkflow(engine, rdl, Map.of());\nString dprs = sdmxVtlWorkflow.getRulesetsVTL();\n")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/1d02d4bc.63001061.js b/assets/js/1d02d4bc.63001061.js new file mode 100644 index 000000000..45b03b793 --- /dev/null +++ b/assets/js/1d02d4bc.63001061.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[1758],{3905:(e,t,r)=>{r.d(t,{Zo:()=>c,kt:()=>d});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function l(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var i=a.createContext({}),u=function(e){var t=a.useContext(i),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},c=function(e){var t=u(e.components);return a.createElement(i.Provider,{value:t},e.children)},p="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},v=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,i=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),p=u(r),v=n,d=p["".concat(i,".").concat(v)]||p[v]||m[v]||o;return r?a.createElement(d,l(l({ref:t},c),{},{components:r})):a.createElement(d,l({ref:t},c))}));function d(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,l=new Array(o);l[0]=v;var s={};for(var i in t)hasOwnProperty.call(t,i)&&(s[i]=t[i]);s.originalType=e,s[p]="string"==typeof e?e:n,l[1]=s;for(var u=2;u{r.d(t,{Z:()=>n});var a=r(67294);const n=e=>{let{label:t,href:r}=e;return a.createElement("a",{href:r},t)}},70945:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>p,contentTitle:()=>u,default:()=>d,frontMatter:()=>i,metadata:()=>c,toc:()=>m});var a=r(87462),n=(r(67294),r(3905)),o=r(44996),l=r(50941),s=r(88529);const i={slug:"/trevas-sdmx",title:"Trevas - SDMX",authors:["nicolas"],tags:["Trevas","SDMX"]},u=void 0,c={permalink:"/Trevas/blog/trevas-sdmx",source:"@site/blog/2024-06-25-trevas-sdmx.mdx",title:"Trevas - SDMX",description:"News",date:"2024-06-25T00:00:00.000Z",formattedDate:"June 25, 2024",tags:[{label:"Trevas",permalink:"/Trevas/blog/tags/trevas"},{label:"SDMX",permalink:"/Trevas/blog/tags/sdmx"}],readingTime:.7,hasTruncateMarker:!1,authors:[{name:"Nicolas Laval",link:"https://github.com/NicoLaval",title:"Making Sense - Developer",image:"/img/profile_pic_nicolas_laval.jpg",key:"nicolas"}],frontMatter:{slug:"/trevas-sdmx",title:"Trevas - SDMX",authors:["nicolas"],tags:["Trevas","SDMX"]},nextItem:{title:"Trevas - Temporal operators",permalink:"/Trevas/blog/trevas-temporal-operators"}},p={authorsImageUrls:[void 0]},m=[{value:"News",id:"news",level:3},{value:"Overview",id:"overview",level:4},{value:"Tools available",id:"tools-available",level:4},{value:"Troubleshooting",id:"troubleshooting",level:4}],v={toc:m};function d(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,a.Z)({},v,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h3",{id:"news"},"News"),(0,n.kt)("p",null,"Trevas 1.4.1 introduces the VTL SDMX module."),(0,n.kt)("p",null,"This module enables to consume SDMX metadata sources to instantiate Trevas DataStructures and Datasets."),(0,n.kt)("p",null,"It also allows to execute the VTL TransformationSchemes to obtain the resulting persistent datasets."),(0,n.kt)("h4",{id:"overview"},"Overview"),(0,n.kt)("div",{style:{textAlign:"center"}},(0,n.kt)(l.Z,{alt:"VTL SDMX Diagram",sources:{light:(0,o.Z)("/img/vtl-sdmx-light.svg"),dark:(0,o.Z)("/img/vtl-sdmx-dark.svg")},mdxType:"ThemedImage"})),(0,n.kt)("p",null,"Trevas supports the above SDMX message elements. Only the VtlMappingSchemes element is optional."),(0,n.kt)("p",null,"The elements in box 1 are used to produce Trevas DataStructures, filling VTL components attributes name, role, type, nullable and valuedomain."),(0,n.kt)("p",null,"The elements in box 2 are used to generate the VTL code (rulesets & transformations)."),(0,n.kt)("h4",{id:"tools-available"},"Tools available"),(0,n.kt)("p",null,"SDMX Trevas tools are documented ",(0,n.kt)(s.Z,{label:"here",href:(0,o.Z)("/developer-guide/spark-mode/data-sources/sdmx"),mdxType:"Link"}),"."),(0,n.kt)("h4",{id:"troubleshooting"},"Troubleshooting"),(0,n.kt)("p",null,"Have a look to ",(0,n.kt)(s.Z,{label:"this section",href:(0,o.Z)("/developer-guide/spark-mode/data-sources/sdmx#troubleshooting"),mdxType:"Link"}),"."))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/1e1a8812.d11dd49d.js b/assets/js/1e1a8812.dd131f10.js similarity index 95% rename from assets/js/1e1a8812.d11dd49d.js rename to assets/js/1e1a8812.dd131f10.js index e2b5a03e8..33811acf1 100644 --- a/assets/js/1e1a8812.d11dd49d.js +++ b/assets/js/1e1a8812.dd131f10.js @@ -1 +1 @@ -"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[5134],{39308:(e,t,a)=>{a.d(t,{Z:()=>v});var s=a(67294),i=a(3905),r=a(84734);const l="riContainer_QAfm",n="riDescriptionShort_ogAL",c="riDetail_rDiW",p="riIcon_zSrR",d="riTitle__Mkd",u="riDescription_k_lG",o="riMore_lLbd";var m=a(86010);const v=e=>{const[t,a]=s.useState(!1);return s.createElement("a",{href:e.page,className:l},s.createElement("div",{className:n},s.createElement("div",{className:p},s.createElement("span",{className:"fe fe-zap"})),s.createElement("div",{className:c},s.createElement("div",{className:d},s.createElement("a",{href:e.page},e.title)),s.createElement("div",{className:u},e.description,s.Children.count(e.children)>0&&s.createElement("span",{className:(0,m.Z)(o,"fe","fe-more-horizontal"),onClick:()=>a(!t)})))),t&&s.createElement("div",{className:"ri-description-long"},s.createElement(i.Zo,{components:r.Z},e.children)))}},56612:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>d,contentTitle:()=>c,default:()=>m,frontMatter:()=>n,metadata:()=>p,toc:()=>u});var s=a(87462),i=(a(67294),a(3905)),r=a(44996),l=a(39308);const n={id:"index-client-apps",title:"Trevas client apps",sidebar_label:"Overview",slug:"/user-guide/vtl/client-apps",custom_edit_url:null},c=void 0,p={unversionedId:"user-guide/vtl/client-apps/index-client-apps",id:"user-guide/vtl/client-apps/index-client-apps",title:"Trevas client apps",description:"{a.d(t,{Z:()=>v});var s=a(67294),i=a(3905),r=a(84734);const l="riContainer_QAfm",n="riDescriptionShort_ogAL",c="riDetail_rDiW",p="riIcon_zSrR",d="riTitle__Mkd",u="riDescription_k_lG",o="riMore_lLbd";var m=a(86010);const v=e=>{const[t,a]=s.useState(!1);return s.createElement("a",{href:e.page,className:l},s.createElement("div",{className:n},s.createElement("div",{className:p},s.createElement("span",{className:"fe fe-zap"})),s.createElement("div",{className:c},s.createElement("div",{className:d},s.createElement("a",{href:e.page},e.title)),s.createElement("div",{className:u},e.description,s.Children.count(e.children)>0&&s.createElement("span",{className:(0,m.Z)(o,"fe","fe-more-horizontal"),onClick:()=>a(!t)})))),t&&s.createElement("div",{className:"ri-description-long"},s.createElement(i.Zo,{components:r.Z},e.children)))}},56612:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>d,contentTitle:()=>c,default:()=>m,frontMatter:()=>n,metadata:()=>p,toc:()=>u});var s=a(87462),i=(a(67294),a(3905)),r=a(44996),l=a(39308);const n={id:"index-client-apps",title:"Trevas client apps",sidebar_label:"Overview",slug:"/user-guide/vtl/client-apps",custom_edit_url:null},c=void 0,p={unversionedId:"user-guide/vtl/client-apps/index-client-apps",id:"user-guide/vtl/client-apps/index-client-apps",title:"Trevas client apps",description:"{r.d(t,{Zo:()=>c,kt:()=>d});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function l(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var i=a.createContext({}),u=function(e){var t=a.useContext(i),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},c=function(e){var t=u(e.components);return a.createElement(i.Provider,{value:t},e.children)},p="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},v=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,i=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),p=u(r),v=n,d=p["".concat(i,".").concat(v)]||p[v]||m[v]||o;return r?a.createElement(d,l(l({ref:t},c),{},{components:r})):a.createElement(d,l({ref:t},c))}));function d(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,l=new Array(o);l[0]=v;var s={};for(var i in t)hasOwnProperty.call(t,i)&&(s[i]=t[i]);s.originalType=e,s[p]="string"==typeof e?e:n,l[1]=s;for(var u=2;u{r.d(t,{Z:()=>n});var a=r(67294);const n=e=>{let{label:t,href:r}=e;return a.createElement("a",{href:r},t)}},52367:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>p,contentTitle:()=>u,default:()=>d,frontMatter:()=>i,metadata:()=>c,toc:()=>m});var a=r(87462),n=(r(67294),r(3905)),o=r(44996),l=r(50941),s=r(88529);const i={slug:"/trevas-sdmx",title:"Trevas - SDMX",authors:["nicolas"],tags:["Trevas","SDMX"]},u=void 0,c={permalink:"/Trevas/blog/trevas-sdmx",source:"@site/blog/2024-06-25-trevas-sdmx.mdx",title:"Trevas - SDMX",description:"News",date:"2024-06-25T00:00:00.000Z",formattedDate:"June 25, 2024",tags:[{label:"Trevas",permalink:"/Trevas/blog/tags/trevas"},{label:"SDMX",permalink:"/Trevas/blog/tags/sdmx"}],readingTime:.7,hasTruncateMarker:!1,authors:[{name:"Nicolas Laval",link:"https://github.com/NicoLaval",title:"Making Sense - Developer",image:"/img/profile_pic_nicolas_laval.jpg",key:"nicolas"}],frontMatter:{slug:"/trevas-sdmx",title:"Trevas - SDMX",authors:["nicolas"],tags:["Trevas","SDMX"]},nextItem:{title:"Trevas - Temporal operators",permalink:"/Trevas/blog/trevas-temporal-operators"}},p={authorsImageUrls:[void 0]},m=[{value:"News",id:"news",level:3},{value:"Overview",id:"overview",level:4},{value:"Tools available",id:"tools-available",level:4},{value:"Troubleshooting",id:"troubleshooting",level:4}],v={toc:m};function d(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,a.Z)({},v,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h3",{id:"news"},"News"),(0,n.kt)("p",null,"Trevas 1.4.1 introduces the VTL SDMX module."),(0,n.kt)("p",null,"This module enables to consume SDMX metadata sources to instantiate Trevas DataStructures and Datasets."),(0,n.kt)("p",null,"It also allows to execute the VTL TransformationSchemes to obtain the resulting persistent datasets."),(0,n.kt)("h4",{id:"overview"},"Overview"),(0,n.kt)("div",{style:{textAlign:"center"}},(0,n.kt)(l.Z,{alt:"VTL SDMX Diagram",sources:{light:(0,o.Z)("/img/vtl-sdmx-light.svg"),dark:(0,o.Z)("/img/vtl-sdmx-dark.svg")},mdxType:"ThemedImage"})),(0,n.kt)("p",null,"Trevas supports the above SDMX message elements. Only the VtlMappingSchemes element is optional."),(0,n.kt)("p",null,"The elements in box 1 are used to produce Trevas DataStructures, filling VTL components attributes name, role, type, nullable and valuedomain."),(0,n.kt)("p",null,"The elements in box 2 are used to generate the VTL code (rulesets & transformations)."),(0,n.kt)("h4",{id:"tools-available"},"Tools available"),(0,n.kt)("p",null,"SDMX Trevas tools are documented ",(0,n.kt)(s.Z,{label:"here",href:(0,o.Z)("/developer-guide/spark-mode/data-sources/sdmx"),mdxType:"Link"}),"."),(0,n.kt)("h4",{id:"troubleshooting"},"Troubleshooting"),(0,n.kt)("p",null,"Have a look to ",(0,n.kt)(s.Z,{label:"this section",href:(0,o.Z)("/developer-guide/spark-mode/data-sources/sdmx#troubleshooting"),mdxType:"Link"}),"."))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/1e2984e9.edf35a0a.js b/assets/js/1e2984e9.edf35a0a.js deleted file mode 100644 index 62a19b9d9..000000000 --- a/assets/js/1e2984e9.edf35a0a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[3590],{3905:(e,t,n)=>{n.d(t,{Zo:()=>d,kt:()=>f});var a=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function l(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var s=a.createContext({}),u=function(e){var t=a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},d=function(e){var t=u(e.components);return a.createElement(s.Provider,{value:t},e.children)},c="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,o=e.originalType,s=e.parentName,d=i(e,["components","mdxType","originalType","parentName"]),c=u(n),m=r,f=c["".concat(s,".").concat(m)]||c[m]||p[m]||o;return n?a.createElement(f,l(l({ref:t},d),{},{components:n})):a.createElement(f,l({ref:t},d))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=n.length,l=new Array(o);l[0]=m;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i[c]="string"==typeof e?e:r,l[1]=i;for(var u=2;u{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>s,default:()=>m,frontMatter:()=>i,metadata:()=>u,toc:()=>c});var a=n(87462),r=(n(67294),n(3905)),o=n(44996),l=n(50941);const i={slug:"/trevas-sdmx",title:"Trevas - SDMX",authors:["nicolas"],tags:["Trevas","SDMX"]},s=void 0,u={permalink:"/Trevas/blog/trevas-sdmx",source:"@site/blog/2024-06-25-trevas-sdmx.mdx",title:"Trevas - SDMX",description:"News",date:"2024-06-25T00:00:00.000Z",formattedDate:"June 25, 2024",tags:[{label:"Trevas",permalink:"/Trevas/blog/tags/trevas"},{label:"SDMX",permalink:"/Trevas/blog/tags/sdmx"}],readingTime:2.44,hasTruncateMarker:!1,authors:[{name:"Nicolas Laval",link:"https://github.com/NicoLaval",title:"Making Sense - Developer",image:"/img/profile_pic_nicolas_laval.jpg",key:"nicolas"}],frontMatter:{slug:"/trevas-sdmx",title:"Trevas - SDMX",authors:["nicolas"],tags:["Trevas","SDMX"]},nextItem:{title:"Trevas - Temporal operators",permalink:"/Trevas/blog/trevas-temporal-operators"}},d={authorsImageUrls:[void 0]},c=[{value:"News",id:"news",level:3},{value:"Overview",id:"overview",level:4},{value:"Tools available",id:"tools-available",level:4},{value:"buildStructureFromSDMX3 utility",id:"buildstructurefromsdmx3-utility",level:4},{value:"SDMXVTLWorkflow object",id:"sdmxvtlworkflow-object",level:4},{value:"SDMXVTLWorkflow run function - Preview mode",id:"sdmxvtlworkflow-run-function---preview-mode",level:4},{value:"SDMXVTLWorkflow run function",id:"sdmxvtlworkflow-run-function",level:4},{value:"SDMXVTLWorkflow getTransformationsVTL function",id:"sdmxvtlworkflow-gettransformationsvtl-function",level:4},{value:"SDMXVTLWorkflow getRulesetsVTL function",id:"sdmxvtlworkflow-getrulesetsvtl-function",level:4}],p={toc:c};function m(e){let{components:t,...n}=e;return(0,r.kt)("wrapper",(0,a.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h3",{id:"news"},"News"),(0,r.kt)("p",null,"Trevas 1.4.1 introduces the VTL SDMX module."),(0,r.kt)("p",null,"This module enables to consume SDMX metadata sources to instantiate Trevas DataStructures and Datasets."),(0,r.kt)("p",null,"It also allows to execute the VTL TransformationSchemes to obtain the resulting persistent datasets."),(0,r.kt)("h4",{id:"overview"},"Overview"),(0,r.kt)("div",{style:{textAlign:"center"}},(0,r.kt)(l.Z,{alt:"VTL SDMX Diagram",sources:{light:(0,o.Z)("/img/vtl-sdmx-light.svg"),dark:(0,o.Z)("/img/vtl-sdmx-dark.svg")},mdxType:"ThemedImage"})),(0,r.kt)("p",null,"Trevas supports the above SDMX message elements. Only the VtlMappingSchemes attribute is optional."),(0,r.kt)("p",null,"The elements in box 1 are used to produce Trevas DataStructures, filling VTL components attributes name, role, type, nullable and valuedomain."),(0,r.kt)("p",null,"The elements in box 2 are used to generate the VTL code (rulesets & transformations)."),(0,r.kt)("h4",{id:"tools-available"},"Tools available"),(0,r.kt)("h4",{id:"buildstructurefromsdmx3-utility"},(0,r.kt)("inlineCode",{parentName:"h4"},"buildStructureFromSDMX3")," utility"),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"TrevasSDMXUtils.buildStructureFromSDMX3")," allows to obtain a Trevas DataStructure."),(0,r.kt)("p",null,"Providing corresponding data, you can build a Trevas Dataset."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-java"},'Structured.DataStructure structure = TrevasSDMXUtils.buildStructureFromSDMX3("path/sdmx_file.xml", "STRUCT_ID");\n\nSparkDataset ds = new SparkDataset(\n spark.read()\n .option("header", "true")\n .option("delimiter", ";")\n .option("quote", "\\"")\n .csv("path"),\n structure\n);\n')),(0,r.kt)("h4",{id:"sdmxvtlworkflow-object"},(0,r.kt)("inlineCode",{parentName:"h4"},"SDMXVTLWorkflow")," object"),(0,r.kt)("p",null,"The ",(0,r.kt)("inlineCode",{parentName:"p"},"SDMXVTLWorkflow")," constructor takes 3 arguments:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"a ",(0,r.kt)("inlineCode",{parentName:"li"},"ScriptEngine")," (Trevas or another)"),(0,r.kt)("li",{parentName:"ul"},"a ",(0,r.kt)("inlineCode",{parentName:"li"},"ReadableDataLocation")," to handle an SDMX message"),(0,r.kt)("li",{parentName:"ul"},"a map of names / Datasets")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-java"},'SparkSession.builder()\n .appName("test")\n .master("local")\n .getOrCreate();\n\nScriptEngineManager mgr = new ScriptEngineManager();\nScriptEngine engine = mgr.getEngineByExtension("vtl");\nengine.put(VtlScriptEngine.PROCESSING_ENGINE_NAMES, "spark");\n\nReadableDataLocation rdl = new ReadableDataLocationTmp("src/test/resources/DSD_BPE_CENSUS.xml");\n\nSDMXVTLWorkflow sdmxVtlWorkflow = new SDMXVTLWorkflow(engine, rdl, Map.of());\n')),(0,r.kt)("p",null,"This object then allows you to activate the following 3 functions."),(0,r.kt)("h4",{id:"sdmxvtlworkflow-run-function---preview-mode"},"SDMXVTLWorkflow ",(0,r.kt)("inlineCode",{parentName:"h4"},"run")," function - Preview mode"),(0,r.kt)("p",null,"The ",(0,r.kt)("inlineCode",{parentName:"p"},"run")," function can easily be called in a preview mode, without attached data."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-java"},'ScriptEngineManager mgr = new ScriptEngineManager();\nScriptEngine engine = mgr.getEngineByExtension("vtl");\nengine.put(VtlScriptEngine.PROCESSING_ENGINE_NAMES, "spark");\n\nReadableDataLocation rdl = new ReadableDataLocationTmp("src/test/resources/DSD_BPE_CENSUS.xml");\n\nSDMXVTLWorkflow sdmxVtlWorkflow = new SDMXVTLWorkflow(engine, rdl, Map.of());\n\n// instead of using TrevasSDMXUtils.buildStructureFromSDMX3 and data sources\n// to build Trevas Datasets, sdmxVtlWorkflow.getEmptyDatasets()\n// will handle SDMX message structures to produce Trevas Datasets\n// with metadata defined in this message, and adding empty data\nMap emptyDatasets = sdmxVtlWorkflow.getEmptyDatasets();\nengine.getBindings(ScriptContext.ENGINE_SCOPE).putAll(emptyDatasets);\n\nMap result = sdmxVtlWorkflow.run();\n')),(0,r.kt)("p",null,"The preview mode allows to check the conformity of the SDMX file and the metadata of the output datasets."),(0,r.kt)("h4",{id:"sdmxvtlworkflow-run-function"},"SDMXVTLWorkflow ",(0,r.kt)("inlineCode",{parentName:"h4"},"run")," function"),(0,r.kt)("p",null,"Once an ",(0,r.kt)("inlineCode",{parentName:"p"},"SDMXVTLWorkflow")," is built, it is easy to run the VTL validations and transformations defined in the SDMX file."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-java"},'Structured.DataStructure structure = TrevasSDMXUtils.buildStructureFromSDMX3("path/sdmx_file.xml", "ds1");\n\nSparkDataset ds1 = new SparkDataset(\n spark.read()\n .option("header", "true")\n .option("delimiter", ";")\n .option("quote", "\\"")\n .csv("path/data.csv"),\n structure\n);\n\nScriptEngineManager mgr = new ScriptEngineManager();\nScriptEngine engine = mgr.getEngineByExtension("vtl");\nengine.put(VtlScriptEngine.PROCESSING_ENGINE_NAMES, "spark");\n\nMap inputs = Map.of("ds1", ds1);\n\nReadableDataLocation rdl = new ReadableDataLocationTmp("path/sdmx_file.xml");\n\nSDMXVTLWorkflow sdmxVtlWorkflow = new SDMXVTLWorkflow(engine, rdl, inputs);\n\nMap bindings = sdmxVtlWorkflow.run();\n')),(0,r.kt)("p",null,"As a result, one will receive all the dataset defined as persistent in the ",(0,r.kt)("inlineCode",{parentName:"p"},"TransformationSchemes")," definition."),(0,r.kt)("h4",{id:"sdmxvtlworkflow-gettransformationsvtl-function"},"SDMXVTLWorkflow ",(0,r.kt)("inlineCode",{parentName:"h4"},"getTransformationsVTL")," function"),(0,r.kt)("p",null,"Gets the VTL code corresponding to the SDMX TransformationSchemes definition."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-java"},"SDMXVTLWorkflow sdmxVtlWorkflow = new SDMXVTLWorkflow(engine, rdl, Map.of());\nString vtl = sdmxVtlWorkflow.getTransformationsVTL();\n")),(0,r.kt)("h4",{id:"sdmxvtlworkflow-getrulesetsvtl-function"},"SDMXVTLWorkflow ",(0,r.kt)("inlineCode",{parentName:"h4"},"getRulesetsVTL")," function"),(0,r.kt)("p",null,"Gets the VTL code corresponding to the SDMX TransformationSchemes definition."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-java"},"SDMXVTLWorkflow sdmxVtlWorkflow = new SDMXVTLWorkflow(engine, rdl, Map.of());\nString dprs = sdmxVtlWorkflow.getRulesetsVTL();\n")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/23c71902.57b0bfe9.js b/assets/js/23c71902.a2749f4e.js similarity index 98% rename from assets/js/23c71902.57b0bfe9.js rename to assets/js/23c71902.a2749f4e.js index 254b1f484..3311a00af 100644 --- a/assets/js/23c71902.57b0bfe9.js +++ b/assets/js/23c71902.a2749f4e.js @@ -1 +1 @@ -"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[200],{3905:(e,t,r)=>{r.d(t,{Zo:()=>d,kt:()=>f});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function o(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var m=a.createContext({}),l=function(e){var t=a.useContext(m),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},d=function(e){var t=l(e.components);return a.createElement(m.Provider,{value:t},e.children)},p="mdxType",c={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},u=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,i=e.originalType,m=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),p=l(r),u=n,f=p["".concat(m,".").concat(u)]||p[u]||c[u]||i;return r?a.createElement(f,o(o({ref:t},d),{},{components:r})):a.createElement(f,o({ref:t},d))}));function f(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=r.length,o=new Array(i);o[0]=u;var s={};for(var m in t)hasOwnProperty.call(t,m)&&(s[m]=t[m]);s.originalType=e,s[p]="string"==typeof e?e:n,o[1]=s;for(var l=2;l{r.r(t),r.d(t,{assets:()=>m,contentTitle:()=>o,default:()=>p,frontMatter:()=>i,metadata:()=>s,toc:()=>l});var a=r(87462),n=(r(67294),r(3905));const i={id:"index-grammar",title:"Modifications of VTL grammar",sidebar_label:"Modifications of VTL grammar",slug:"/administrator-guide/grammar",custom_edit_url:null},o=void 0,s={unversionedId:"administrator-guide/grammar/index-grammar",id:"administrator-guide/grammar/index-grammar",title:"Modifications of VTL grammar",description:"Usage of the VTL grammar",source:"@site/docs/administrator-guide/grammar/index-grammar.mdx",sourceDirName:"administrator-guide/grammar",slug:"/administrator-guide/grammar",permalink:"/Trevas/administrator-guide/grammar",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1719441741,formattedLastUpdatedAt:"Jun 26, 2024",frontMatter:{id:"index-grammar",title:"Modifications of VTL grammar",sidebar_label:"Modifications of VTL grammar",slug:"/administrator-guide/grammar",custom_edit_url:null},sidebar:"docs",previous:{title:"Others",permalink:"/Trevas/developer-guide/spark-mode/data-sources/others"}},m={},l=[{value:"Usage of the VTL grammar",id:"usage-of-the-vtl-grammar",level:2},{value:"Adaptations of the grammar",id:"adaptations-of-the-grammar",level:3},{value:"Simplification of the grammatical tree",id:"simplification-of-the-grammatical-tree",level:4},{value:"Addition of distance operators",id:"addition-of-distance-operators",level:4}],d={toc:l};function p(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,a.Z)({},d,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h2",{id:"usage-of-the-vtl-grammar"},"Usage of the VTL grammar"),(0,n.kt)("p",null,"Trevas on the VTL formal grammar expressed with ",(0,n.kt)("a",{parentName:"p",href:"https://fr.wikipedia.org/wiki/Extended_Backus-Naur_Form"},"EBNF"),". The reference is the version 2.0 upgrade published in July 2020 ",(0,n.kt)("a",{parentName:"p",href:"https://sdmx.org/wp-content/uploads/VTL-2.0-EBNF-Grammar-2020-07.zip"},"on the SDMX web site"),"."),(0,n.kt)("p",null,"The grammar consists of two files ready to be processed by the ",(0,n.kt)("a",{parentName:"p",href:"https://www.antlr.org/"},"Antlr")," parser generator:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},(0,n.kt)("a",{parentName:"p",href:"https://github.com/InseeFr/Trevas/blob/master/vtl-parser/src/main/antlr4/fr/insee/vtl/parser/VtlTokens.g4"},"VtlTokens.g4")," contains the list of valid VTL terms.")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},(0,n.kt)("a",{parentName:"p",href:"https://github.com/InseeFr/Trevas/blob/master/vtl-parser/src/main/antlr4/fr/insee/vtl/parser/Vtl.g4"},"Vtl.g4")," contains the rules that produce valid VTL expressions."))),(0,n.kt)("p",null,"Antlr uses these files to produce a lexer that creates a list of vocabulary symbols from an input character stream, and a parser that creates the grammatical structure corresponding to this list of symbols. Antlr can generate parsers usable in different target languages. Trevas uses the Java parser, which is exposed in the ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/InseeFr/Trevas/tree/master/vtl-parser"},(0,n.kt)("inlineCode",{parentName:"a"},"vtl-parser"))," module."),(0,n.kt)("h3",{id:"adaptations-of-the-grammar"},"Adaptations of the grammar"),(0,n.kt)("p",null,"In order to improve performance and functionalities, minor modifications were made to the VTL grammar used in Trevas."),(0,n.kt)("h4",{id:"simplification-of-the-grammatical-tree"},"Simplification of the grammatical tree"),(0,n.kt)("p",null,"As documented ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/VTL-Community/VTL-Community/issues/5"},"here")," and ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/InseeFr/Trevas-JS/issues/40"},"here"),", the ",(0,n.kt)("inlineCode",{parentName:"p"},"expr")," and ",(0,n.kt)("inlineCode",{parentName:"p"},"exprComp")," branches of the grammatical tree are nearly identical. In order to avoid implementing the same logic twice, the ",(0,n.kt)("inlineCode",{parentName:"p"},"exprComp")," branch was commented out in the ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/InseeFr/Trevas/commit/498c1f8be39702fbcfc89a3144ac1842d7771d93"},"498c1f8")," commit. It was then noticed that this modification wrongly invalidated the ",(0,n.kt)("inlineCode",{parentName:"p"},"COUNT()")," expression, and the corresponding rule was therefore reactivated in the grammar with the ","[54f86f2]"," (",(0,n.kt)("a",{parentName:"p",href:"https://github.com/InseeFr/Trevas/commit/54f86f27d2e8fdd57df1439d74ed56d225064a7d"},"https://github.com/InseeFr/Trevas/commit/54f86f27d2e8fdd57df1439d74ed56d225064a7d"),") commit."),(0,n.kt)("h4",{id:"addition-of-distance-operators"},"Addition of distance operators"),(0,n.kt)("p",null,"Distance operators like Levenshtein of Jaro-Winkler are commonly used in tests of character strings. In order to allow them in VTL expressions, the ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/InseeFr/Trevas/commit/036dc6055240a38c19be7afd1d3067e370353f9f"},"036dc60")," commit added to the grammar a ",(0,n.kt)("inlineCode",{parentName:"p"},"distanceOperators")," section containing a ",(0,n.kt)("inlineCode",{parentName:"p"},"LEVENSHTEIN")," rule, as well as the ",(0,n.kt)("inlineCode",{parentName:"p"},"LEVENSHTEIN")," symbol in the lexer file."))}p.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[200],{3905:(e,t,r)=>{r.d(t,{Zo:()=>d,kt:()=>f});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function o(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var m=a.createContext({}),l=function(e){var t=a.useContext(m),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},d=function(e){var t=l(e.components);return a.createElement(m.Provider,{value:t},e.children)},p="mdxType",c={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},u=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,i=e.originalType,m=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),p=l(r),u=n,f=p["".concat(m,".").concat(u)]||p[u]||c[u]||i;return r?a.createElement(f,o(o({ref:t},d),{},{components:r})):a.createElement(f,o({ref:t},d))}));function f(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=r.length,o=new Array(i);o[0]=u;var s={};for(var m in t)hasOwnProperty.call(t,m)&&(s[m]=t[m]);s.originalType=e,s[p]="string"==typeof e?e:n,o[1]=s;for(var l=2;l{r.r(t),r.d(t,{assets:()=>m,contentTitle:()=>o,default:()=>p,frontMatter:()=>i,metadata:()=>s,toc:()=>l});var a=r(87462),n=(r(67294),r(3905));const i={id:"index-grammar",title:"Modifications of VTL grammar",sidebar_label:"Modifications of VTL grammar",slug:"/administrator-guide/grammar",custom_edit_url:null},o=void 0,s={unversionedId:"administrator-guide/grammar/index-grammar",id:"administrator-guide/grammar/index-grammar",title:"Modifications of VTL grammar",description:"Usage of the VTL grammar",source:"@site/docs/administrator-guide/grammar/index-grammar.mdx",sourceDirName:"administrator-guide/grammar",slug:"/administrator-guide/grammar",permalink:"/Trevas/administrator-guide/grammar",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1720593860,formattedLastUpdatedAt:"Jul 10, 2024",frontMatter:{id:"index-grammar",title:"Modifications of VTL grammar",sidebar_label:"Modifications of VTL grammar",slug:"/administrator-guide/grammar",custom_edit_url:null},sidebar:"docs",previous:{title:"Others",permalink:"/Trevas/developer-guide/spark-mode/data-sources/others"}},m={},l=[{value:"Usage of the VTL grammar",id:"usage-of-the-vtl-grammar",level:2},{value:"Adaptations of the grammar",id:"adaptations-of-the-grammar",level:3},{value:"Simplification of the grammatical tree",id:"simplification-of-the-grammatical-tree",level:4},{value:"Addition of distance operators",id:"addition-of-distance-operators",level:4}],d={toc:l};function p(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,a.Z)({},d,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h2",{id:"usage-of-the-vtl-grammar"},"Usage of the VTL grammar"),(0,n.kt)("p",null,"Trevas on the VTL formal grammar expressed with ",(0,n.kt)("a",{parentName:"p",href:"https://fr.wikipedia.org/wiki/Extended_Backus-Naur_Form"},"EBNF"),". The reference is the version 2.0 upgrade published in July 2020 ",(0,n.kt)("a",{parentName:"p",href:"https://sdmx.org/wp-content/uploads/VTL-2.0-EBNF-Grammar-2020-07.zip"},"on the SDMX web site"),"."),(0,n.kt)("p",null,"The grammar consists of two files ready to be processed by the ",(0,n.kt)("a",{parentName:"p",href:"https://www.antlr.org/"},"Antlr")," parser generator:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},(0,n.kt)("a",{parentName:"p",href:"https://github.com/InseeFr/Trevas/blob/master/vtl-parser/src/main/antlr4/fr/insee/vtl/parser/VtlTokens.g4"},"VtlTokens.g4")," contains the list of valid VTL terms.")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},(0,n.kt)("a",{parentName:"p",href:"https://github.com/InseeFr/Trevas/blob/master/vtl-parser/src/main/antlr4/fr/insee/vtl/parser/Vtl.g4"},"Vtl.g4")," contains the rules that produce valid VTL expressions."))),(0,n.kt)("p",null,"Antlr uses these files to produce a lexer that creates a list of vocabulary symbols from an input character stream, and a parser that creates the grammatical structure corresponding to this list of symbols. Antlr can generate parsers usable in different target languages. Trevas uses the Java parser, which is exposed in the ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/InseeFr/Trevas/tree/master/vtl-parser"},(0,n.kt)("inlineCode",{parentName:"a"},"vtl-parser"))," module."),(0,n.kt)("h3",{id:"adaptations-of-the-grammar"},"Adaptations of the grammar"),(0,n.kt)("p",null,"In order to improve performance and functionalities, minor modifications were made to the VTL grammar used in Trevas."),(0,n.kt)("h4",{id:"simplification-of-the-grammatical-tree"},"Simplification of the grammatical tree"),(0,n.kt)("p",null,"As documented ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/VTL-Community/VTL-Community/issues/5"},"here")," and ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/InseeFr/Trevas-JS/issues/40"},"here"),", the ",(0,n.kt)("inlineCode",{parentName:"p"},"expr")," and ",(0,n.kt)("inlineCode",{parentName:"p"},"exprComp")," branches of the grammatical tree are nearly identical. In order to avoid implementing the same logic twice, the ",(0,n.kt)("inlineCode",{parentName:"p"},"exprComp")," branch was commented out in the ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/InseeFr/Trevas/commit/498c1f8be39702fbcfc89a3144ac1842d7771d93"},"498c1f8")," commit. It was then noticed that this modification wrongly invalidated the ",(0,n.kt)("inlineCode",{parentName:"p"},"COUNT()")," expression, and the corresponding rule was therefore reactivated in the grammar with the ","[54f86f2]"," (",(0,n.kt)("a",{parentName:"p",href:"https://github.com/InseeFr/Trevas/commit/54f86f27d2e8fdd57df1439d74ed56d225064a7d"},"https://github.com/InseeFr/Trevas/commit/54f86f27d2e8fdd57df1439d74ed56d225064a7d"),") commit."),(0,n.kt)("h4",{id:"addition-of-distance-operators"},"Addition of distance operators"),(0,n.kt)("p",null,"Distance operators like Levenshtein of Jaro-Winkler are commonly used in tests of character strings. In order to allow them in VTL expressions, the ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/InseeFr/Trevas/commit/036dc6055240a38c19be7afd1d3067e370353f9f"},"036dc60")," commit added to the grammar a ",(0,n.kt)("inlineCode",{parentName:"p"},"distanceOperators")," section containing a ",(0,n.kt)("inlineCode",{parentName:"p"},"LEVENSHTEIN")," rule, as well as the ",(0,n.kt)("inlineCode",{parentName:"p"},"LEVENSHTEIN")," symbol in the lexer file."))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/354b54d5.5c499c66.js b/assets/js/354b54d5.5c499c66.js deleted file mode 100644 index a7efdd961..000000000 --- a/assets/js/354b54d5.5c499c66.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[9355],{39308:(e,a,t)=>{t.d(a,{Z:()=>v});var r=t(67294),s=t(3905),d=t(84734);const o="riContainer_QAfm",i="riDescriptionShort_ogAL",l="riDetail_rDiW",c="riIcon_zSrR",n="riTitle__Mkd",p="riDescription_k_lG",u="riMore_lLbd";var m=t(86010);const v=e=>{const[a,t]=r.useState(!1);return r.createElement("a",{href:e.page,className:o},r.createElement("div",{className:i},r.createElement("div",{className:c},r.createElement("span",{className:"fe fe-zap"})),r.createElement("div",{className:l},r.createElement("div",{className:n},r.createElement("a",{href:e.page},e.title)),r.createElement("div",{className:p},e.description,r.Children.count(e.children)>0&&r.createElement("span",{className:(0,m.Z)(u,"fe","fe-more-horizontal"),onClick:()=>t(!a)})))),a&&r.createElement("div",{className:"ri-description-long"},r.createElement(s.Zo,{components:d.Z},e.children)))}},98542:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>n,contentTitle:()=>l,default:()=>m,frontMatter:()=>i,metadata:()=>c,toc:()=>p});var r=t(87462),s=(t(67294),t(3905)),d=t(44996),o=t(39308);const i={id:"index-data-sources",title:"Spark mode - Data sources",sidebar_label:"Overview",slug:"/developer-guide/spark-mode/data-sources",custom_edit_url:null},l=void 0,c={unversionedId:"developer-guide/spark-mode/data-sources/index-data-sources",id:"developer-guide/spark-mode/data-sources/index-data-sources",title:"Spark mode - Data sources",description:"Trevas good practices",source:"@site/docs/developer-guide/spark-mode/data-sources/index-data-sources.mdx",sourceDirName:"developer-guide/spark-mode/data-sources",slug:"/developer-guide/spark-mode/data-sources",permalink:"/Trevas/developer-guide/spark-mode/data-sources",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1719441741,formattedLastUpdatedAt:"Jun 26, 2024",frontMatter:{id:"index-data-sources",title:"Spark mode - Data sources",sidebar_label:"Overview",slug:"/developer-guide/spark-mode/data-sources",custom_edit_url:null},sidebar:"docs",previous:{title:"Overview",permalink:"/Trevas/developer-guide/spark-mode"},next:{title:"Parquet",permalink:"/Trevas/developer-guide/spark-mode/data-sources/parquet"}},n={},p=[{value:"Trevas good practices",id:"trevas-good-practices",level:3},{value:"Examples",id:"examples",level:3}],u={toc:p};function m(e){let{components:a,...t}=e;return(0,s.kt)("wrapper",(0,r.Z)({},u,t,{components:a,mdxType:"MDXLayout"}),(0,s.kt)("h3",{id:"trevas-good-practices"},"Trevas good practices"),(0,s.kt)("p",null,"The ",(0,s.kt)("a",{href:(0,d.Z)("/developer-guide/spark-mode/data-sources/parquet")},"Apache Parquet")," format is the only one allowing to store and manage VTL metadata when the Trevas engine is instantiated in Spark mode."),(0,s.kt)("p",null,"It is thus strongly recommended to use this format."),(0,s.kt)("h3",{id:"examples"},"Examples"),(0,s.kt)("div",null,(0,s.kt)("div",{className:"row"},(0,s.kt)("div",{className:"col"},(0,s.kt)(o.Z,{title:"Apache Parquet",page:(0,d.Z)("/developer-guide/spark-mode/data-sources/parquet"),mdxType:"Card"})),(0,s.kt)("div",{className:"col"},(0,s.kt)(o.Z,{title:"CSV",page:(0,d.Z)("/developer-guide/spark-mode/data-sources/csv"),mdxType:"Card"})),(0,s.kt)("div",{className:"col"},(0,s.kt)(o.Z,{title:"JDBC",page:(0,d.Z)("/developer-guide/spark-mode/data-sources/jdbc"),mdxType:"Card"}))),(0,s.kt)("div",{className:"row"},(0,s.kt)("div",{className:"col"},(0,s.kt)(o.Z,{title:"Others",page:(0,d.Z)("/developer-guide/spark-mode/data-sources/others"),mdxType:"Card"})))))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/354b54d5.d4e493b6.js b/assets/js/354b54d5.d4e493b6.js new file mode 100644 index 000000000..88c69783e --- /dev/null +++ b/assets/js/354b54d5.d4e493b6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[9355],{39308:(e,a,t)=>{t.d(a,{Z:()=>v});var s=t(67294),r=t(3905),d=t(84734);const o="riContainer_QAfm",i="riDescriptionShort_ogAL",l="riDetail_rDiW",c="riIcon_zSrR",p="riTitle__Mkd",n="riDescription_k_lG",m="riMore_lLbd";var u=t(86010);const v=e=>{const[a,t]=s.useState(!1);return s.createElement("a",{href:e.page,className:o},s.createElement("div",{className:i},s.createElement("div",{className:c},s.createElement("span",{className:"fe fe-zap"})),s.createElement("div",{className:l},s.createElement("div",{className:p},s.createElement("a",{href:e.page},e.title)),s.createElement("div",{className:n},e.description,s.Children.count(e.children)>0&&s.createElement("span",{className:(0,u.Z)(m,"fe","fe-more-horizontal"),onClick:()=>t(!a)})))),a&&s.createElement("div",{className:"ri-description-long"},s.createElement(r.Zo,{components:d.Z},e.children)))}},98542:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>p,contentTitle:()=>l,default:()=>u,frontMatter:()=>i,metadata:()=>c,toc:()=>n});var s=t(87462),r=(t(67294),t(3905)),d=t(44996),o=t(39308);const i={id:"index-data-sources",title:"Spark mode - Data sources",sidebar_label:"Overview",slug:"/developer-guide/spark-mode/data-sources",custom_edit_url:null},l=void 0,c={unversionedId:"developer-guide/spark-mode/data-sources/index-data-sources",id:"developer-guide/spark-mode/data-sources/index-data-sources",title:"Spark mode - Data sources",description:"Trevas good practices",source:"@site/docs/developer-guide/spark-mode/data-sources/index-data-sources.mdx",sourceDirName:"developer-guide/spark-mode/data-sources",slug:"/developer-guide/spark-mode/data-sources",permalink:"/Trevas/developer-guide/spark-mode/data-sources",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1720593860,formattedLastUpdatedAt:"Jul 10, 2024",frontMatter:{id:"index-data-sources",title:"Spark mode - Data sources",sidebar_label:"Overview",slug:"/developer-guide/spark-mode/data-sources",custom_edit_url:null},sidebar:"docs",previous:{title:"Overview",permalink:"/Trevas/developer-guide/spark-mode"},next:{title:"CSV",permalink:"/Trevas/developer-guide/spark-mode/data-sources/csv"}},p={},n=[{value:"Trevas good practices",id:"trevas-good-practices",level:3},{value:"Examples",id:"examples",level:3}],m={toc:n};function u(e){let{components:a,...t}=e;return(0,r.kt)("wrapper",(0,s.Z)({},m,t,{components:a,mdxType:"MDXLayout"}),(0,r.kt)("h3",{id:"trevas-good-practices"},"Trevas good practices"),(0,r.kt)("p",null,"The ",(0,r.kt)("a",{href:(0,d.Z)("/developer-guide/spark-mode/data-sources/parquet")},"Apache Parquet")," format is the only one allowing to store and manage VTL metadata when the Trevas engine is instantiated in Spark mode."),(0,r.kt)("p",null,"It is thus strongly recommended to use this format."),(0,r.kt)("h3",{id:"examples"},"Examples"),(0,r.kt)("div",null,(0,r.kt)("div",{className:"row"},(0,r.kt)("div",{className:"col"},(0,r.kt)(o.Z,{title:"Apache Parquet",page:(0,d.Z)("/developer-guide/spark-mode/data-sources/parquet"),mdxType:"Card"})),(0,r.kt)("div",{className:"col"},(0,r.kt)(o.Z,{title:"CSV",page:(0,d.Z)("/developer-guide/spark-mode/data-sources/csv"),mdxType:"Card"})),(0,r.kt)("div",{className:"col"},(0,r.kt)(o.Z,{title:"JDBC",page:(0,d.Z)("/developer-guide/spark-mode/data-sources/jdbc"),mdxType:"Card"}))),(0,r.kt)("div",{className:"row"},(0,r.kt)("div",{className:"col"},(0,r.kt)(o.Z,{title:"SDMX",page:(0,d.Z)("/developer-guide/spark-mode/data-sources/sdmx"),mdxType:"Card"})),(0,r.kt)("div",{className:"col"},(0,r.kt)(o.Z,{title:"Others",page:(0,d.Z)("/developer-guide/spark-mode/data-sources/others"),mdxType:"Card"})))))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/35e3f942.481fc9c4.js b/assets/js/35e3f942.296c27e3.js similarity index 96% rename from assets/js/35e3f942.481fc9c4.js rename to assets/js/35e3f942.296c27e3.js index 87b6e499e..9e9b29c1e 100644 --- a/assets/js/35e3f942.481fc9c4.js +++ b/assets/js/35e3f942.296c27e3.js @@ -1 +1 @@ -"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[1440],{14226:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>m,contentTitle:()=>p,default:()=>k,frontMatter:()=>d,metadata:()=>v,toc:()=>h});var r=a(87462),n=a(67294),i=a(3905),s=a(44996),l=a(50941),o=a(56310),u=a.n(o);const c=e=>{let{url:t}=e;return n.createElement(u(),{url:t,controls:!0,width:"100%"})},d={id:"index-introduction",title:"Trevas",sidebar_label:"Overview",slug:"/introduction",custom_edit_url:null,pagination_prev:null},p=void 0,v={unversionedId:"introduction/index-introduction",id:"introduction/index-introduction",title:"Trevas",description:"Maven - Trevas parent",source:"@site/docs/introduction/index-introduction.mdx",sourceDirName:"introduction",slug:"/introduction",permalink:"/Trevas/introduction",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1719441741,formattedLastUpdatedAt:"Jun 26, 2024",frontMatter:{id:"index-introduction",title:"Trevas",sidebar_label:"Overview",slug:"/introduction",custom_edit_url:null,pagination_prev:null},sidebar:"docs",next:{title:"Overview",permalink:"/Trevas/modules"}},m={},h=[{value:"What is VTL?",id:"what-is-vtl",level:2},{value:"Trevas ecosystem",id:"trevas-ecosystem",level:2},{value:"Technical description",id:"technical-description",level:2}],g={toc:h};function k(e){let{components:t,...a}=e;return(0,i.kt)("wrapper",(0,r.Z)({},g,a,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("p",null,(0,i.kt)("a",{parentName:"p",href:"https://maven-badges.herokuapp.com/maven-central/fr.insee.trevas/trevas-parent"},(0,i.kt)("img",{parentName:"a",src:"https://maven-badges.herokuapp.com/maven-central/fr.insee.trevas/trevas-parent/badge.svg",alt:"Maven - Trevas parent"}))),(0,i.kt)("p",null,(0,i.kt)("a",{parentName:"p",href:"https://github.com/InseeFr/Trevas"},"Trevas")," is a Java library for transforming and validating statistical data using the ",(0,i.kt)("a",{parentName:"p",href:"https://sdmx.org/?page_id=5096"},"VTL 2.0")," language."),(0,i.kt)(c,{url:"https://www.youtube.com/watch?v=e8coNevJyXA",mdxType:"Video"}),(0,i.kt)("h2",{id:"what-is-vtl"},"What is VTL?"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Business, logical-level and user-friendly language for statisticians"),(0,i.kt)("li",{parentName:"ul"},"Relies on standard structural metadata"),(0,i.kt)("li",{parentName:"ul"},"Interoperable, platform-agnostic"),(0,i.kt)("li",{parentName:"ul"},"Functional language, enabling data lineage for more insight and reproductibility")),(0,i.kt)("h2",{id:"trevas-ecosystem"},"Trevas ecosystem"),(0,i.kt)("div",{style:{textAlign:"center"}},(0,i.kt)(l.Z,{alt:"Docusaurus themed image",sources:{light:(0,s.Z)("/img/trevas-ecosystem-light.svg"),dark:(0,s.Z)("/img/trevas-ecosystem-dark.svg")},mdxType:"ThemedImage"})),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/InseeFrLab/Trevas-Jupyter"},"Trevas Jupyter")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/InseeFrLab/Trevas-Lab-UI"},"Trevas Lab")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/InseeFrLab/Trevas-Lab"},"Trevas Lab API")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/Making-Sense-Info/Trevas-Batch"},"Trevas Batch"))),(0,i.kt)("h2",{id:"technical-description"},"Technical description"),(0,i.kt)("p",null,"Trevas provides VTL engines for different execution contexts, in particular a Java 11 engine and an ",(0,i.kt)("a",{parentName:"p",href:"https://spark.apache.org/"},"Apache Spark")," engine."),(0,i.kt)("p",null,"Trevas engines are based on the ",(0,i.kt)("a",{parentName:"p",href:"https://jcp.org/en/jsr/detail?id=223"},"JSR 223")," specification (Scripting for the Java Platform), which describes the use of scripting languages in Java."))}k.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[1440],{14226:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>m,contentTitle:()=>p,default:()=>k,frontMatter:()=>d,metadata:()=>v,toc:()=>h});var r=a(87462),n=a(67294),i=a(3905),s=a(44996),l=a(50941),o=a(56310),u=a.n(o);const c=e=>{let{url:t}=e;return n.createElement(u(),{url:t,controls:!0,width:"100%"})},d={id:"index-introduction",title:"Trevas",sidebar_label:"Overview",slug:"/introduction",custom_edit_url:null,pagination_prev:null},p=void 0,v={unversionedId:"introduction/index-introduction",id:"introduction/index-introduction",title:"Trevas",description:"Maven - Trevas parent",source:"@site/docs/introduction/index-introduction.mdx",sourceDirName:"introduction",slug:"/introduction",permalink:"/Trevas/introduction",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1720593860,formattedLastUpdatedAt:"Jul 10, 2024",frontMatter:{id:"index-introduction",title:"Trevas",sidebar_label:"Overview",slug:"/introduction",custom_edit_url:null,pagination_prev:null},sidebar:"docs",next:{title:"Overview",permalink:"/Trevas/modules"}},m={},h=[{value:"What is VTL?",id:"what-is-vtl",level:2},{value:"Trevas ecosystem",id:"trevas-ecosystem",level:2},{value:"Technical description",id:"technical-description",level:2}],g={toc:h};function k(e){let{components:t,...a}=e;return(0,i.kt)("wrapper",(0,r.Z)({},g,a,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("p",null,(0,i.kt)("a",{parentName:"p",href:"https://maven-badges.herokuapp.com/maven-central/fr.insee.trevas/trevas-parent"},(0,i.kt)("img",{parentName:"a",src:"https://maven-badges.herokuapp.com/maven-central/fr.insee.trevas/trevas-parent/badge.svg",alt:"Maven - Trevas parent"}))),(0,i.kt)("p",null,(0,i.kt)("a",{parentName:"p",href:"https://github.com/InseeFr/Trevas"},"Trevas")," is a Java library for transforming and validating statistical data using the ",(0,i.kt)("a",{parentName:"p",href:"https://sdmx.org/?page_id=5096"},"VTL 2.0")," language."),(0,i.kt)(c,{url:"https://www.youtube.com/watch?v=e8coNevJyXA",mdxType:"Video"}),(0,i.kt)("h2",{id:"what-is-vtl"},"What is VTL?"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Business, logical-level and user-friendly language for statisticians"),(0,i.kt)("li",{parentName:"ul"},"Relies on standard structural metadata"),(0,i.kt)("li",{parentName:"ul"},"Interoperable, platform-agnostic"),(0,i.kt)("li",{parentName:"ul"},"Functional language, enabling data lineage for more insight and reproductibility")),(0,i.kt)("h2",{id:"trevas-ecosystem"},"Trevas ecosystem"),(0,i.kt)("div",{style:{textAlign:"center"}},(0,i.kt)(l.Z,{alt:"Docusaurus themed image",sources:{light:(0,s.Z)("/img/trevas-ecosystem-light.svg"),dark:(0,s.Z)("/img/trevas-ecosystem-dark.svg")},mdxType:"ThemedImage"})),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/InseeFrLab/Trevas-Jupyter"},"Trevas Jupyter")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/InseeFrLab/Trevas-Lab-UI"},"Trevas Lab")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/InseeFrLab/Trevas-Lab"},"Trevas Lab API")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/Making-Sense-Info/Trevas-Batch"},"Trevas Batch"))),(0,i.kt)("h2",{id:"technical-description"},"Technical description"),(0,i.kt)("p",null,"Trevas provides VTL engines for different execution contexts, in particular a Java 11 engine and an ",(0,i.kt)("a",{parentName:"p",href:"https://spark.apache.org/"},"Apache Spark")," engine."),(0,i.kt)("p",null,"Trevas engines are based on the ",(0,i.kt)("a",{parentName:"p",href:"https://jcp.org/en/jsr/detail?id=223"},"JSR 223")," specification (Scripting for the Java Platform), which describes the use of scripting languages in Java."))}k.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/3b877833.fc65e5fa.js b/assets/js/3b877833.11d02e1e.js similarity index 98% rename from assets/js/3b877833.fc65e5fa.js rename to assets/js/3b877833.11d02e1e.js index 50be6601b..b8b8bb693 100644 --- a/assets/js/3b877833.fc65e5fa.js +++ b/assets/js/3b877833.11d02e1e.js @@ -1 +1 @@ -"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[6275],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>f});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var i=n.createContext({}),s=function(e){var t=n.useContext(i),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},u=function(e){var t=s(e.components);return n.createElement(i.Provider,{value:t},e.children)},d="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,i=e.parentName,u=c(e,["components","mdxType","originalType","parentName"]),d=s(r),m=o,f=d["".concat(i,".").concat(m)]||d[m]||p[m]||a;return r?n.createElement(f,l(l({ref:t},u),{},{components:r})):n.createElement(f,l({ref:t},u))}));function f(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,l=new Array(a);l[0]=m;var c={};for(var i in t)hasOwnProperty.call(t,i)&&(c[i]=t[i]);c.originalType=e,c[d]="string"==typeof e?e:o,l[1]=c;for(var s=2;s{r.r(t),r.d(t,{assets:()=>i,contentTitle:()=>l,default:()=>d,frontMatter:()=>a,metadata:()=>c,toc:()=>s});var n=r(87462),o=(r(67294),r(3905));const a={id:"jdbc",title:"VTL JDBC",sidebar_label:"VTL JDBC",slug:"/modules/jdbc",custom_edit_url:null},l=void 0,c={unversionedId:"introduction/modules/jdbc",id:"introduction/modules/jdbc",title:"VTL JDBC",description:"Maven - Vtl JDBC",source:"@site/docs/introduction/modules/jdbc.mdx",sourceDirName:"introduction/modules",slug:"/modules/jdbc",permalink:"/Trevas/modules/jdbc",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1719441741,formattedLastUpdatedAt:"Jun 26, 2024",frontMatter:{id:"jdbc",title:"VTL JDBC",sidebar_label:"VTL JDBC",slug:"/modules/jdbc",custom_edit_url:null},sidebar:"docs",previous:{title:"VTL Model",permalink:"/Trevas/modules/model"},next:{title:"VTL Jackson",permalink:"/Trevas/modules/jackson"}},i={},s=[],u={toc:s};function d(e){let{components:t,...r}=e;return(0,o.kt)("wrapper",(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,(0,o.kt)("a",{parentName:"p",href:"https://maven-badges.herokuapp.com/maven-central/fr.insee.trevas/vtl-jdbc"},(0,o.kt)("img",{parentName:"a",src:"https://maven-badges.herokuapp.com/maven-central/fr.insee.trevas/vtl-jdbc/badge.svg",alt:"Maven - Vtl JDBC"}))),(0,o.kt)("p",null,"Tools for the use of SQL data sources."))}d.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[6275],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>f});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var i=n.createContext({}),s=function(e){var t=n.useContext(i),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},u=function(e){var t=s(e.components);return n.createElement(i.Provider,{value:t},e.children)},d="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,i=e.parentName,u=c(e,["components","mdxType","originalType","parentName"]),d=s(r),m=o,f=d["".concat(i,".").concat(m)]||d[m]||p[m]||a;return r?n.createElement(f,l(l({ref:t},u),{},{components:r})):n.createElement(f,l({ref:t},u))}));function f(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,l=new Array(a);l[0]=m;var c={};for(var i in t)hasOwnProperty.call(t,i)&&(c[i]=t[i]);c.originalType=e,c[d]="string"==typeof e?e:o,l[1]=c;for(var s=2;s{r.r(t),r.d(t,{assets:()=>i,contentTitle:()=>l,default:()=>d,frontMatter:()=>a,metadata:()=>c,toc:()=>s});var n=r(87462),o=(r(67294),r(3905));const a={id:"jdbc",title:"VTL JDBC",sidebar_label:"VTL JDBC",slug:"/modules/jdbc",custom_edit_url:null},l=void 0,c={unversionedId:"introduction/modules/jdbc",id:"introduction/modules/jdbc",title:"VTL JDBC",description:"Maven - Vtl JDBC",source:"@site/docs/introduction/modules/jdbc.mdx",sourceDirName:"introduction/modules",slug:"/modules/jdbc",permalink:"/Trevas/modules/jdbc",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1720593860,formattedLastUpdatedAt:"Jul 10, 2024",frontMatter:{id:"jdbc",title:"VTL JDBC",sidebar_label:"VTL JDBC",slug:"/modules/jdbc",custom_edit_url:null},sidebar:"docs",previous:{title:"VTL Model",permalink:"/Trevas/modules/model"},next:{title:"VTL Jackson",permalink:"/Trevas/modules/jackson"}},i={},s=[],u={toc:s};function d(e){let{components:t,...r}=e;return(0,o.kt)("wrapper",(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,(0,o.kt)("a",{parentName:"p",href:"https://maven-badges.herokuapp.com/maven-central/fr.insee.trevas/vtl-jdbc"},(0,o.kt)("img",{parentName:"a",src:"https://maven-badges.herokuapp.com/maven-central/fr.insee.trevas/vtl-jdbc/badge.svg",alt:"Maven - Vtl JDBC"}))),(0,o.kt)("p",null,"Tools for the use of SQL data sources."))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/3cc20334.5c5ca08f.js b/assets/js/3cc20334.5610a8b6.js similarity index 75% rename from assets/js/3cc20334.5c5ca08f.js rename to assets/js/3cc20334.5610a8b6.js index 9a64ab786..3237e4527 100644 --- a/assets/js/3cc20334.5c5ca08f.js +++ b/assets/js/3cc20334.5610a8b6.js @@ -1 +1 @@ -"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[2046],{84643:e=>{e.exports=JSON.parse('{"blogPosts":[{"id":"/trevas-sdmx","metadata":{"permalink":"/Trevas/blog/trevas-sdmx","source":"@site/blog/2024-06-25-trevas-sdmx.mdx","title":"Trevas - SDMX","description":"News","date":"2024-06-25T00:00:00.000Z","formattedDate":"June 25, 2024","tags":[{"label":"Trevas","permalink":"/Trevas/blog/tags/trevas"},{"label":"SDMX","permalink":"/Trevas/blog/tags/sdmx"}],"readingTime":2.44,"hasTruncateMarker":false,"authors":[{"name":"Nicolas Laval","link":"https://github.com/NicoLaval","title":"Making Sense - Developer","image":"/img/profile_pic_nicolas_laval.jpg","key":"nicolas"}],"frontMatter":{"slug":"/trevas-sdmx","title":"Trevas - SDMX","authors":["nicolas"],"tags":["Trevas","SDMX"]},"nextItem":{"title":"Trevas - Temporal operators","permalink":"/Trevas/blog/trevas-temporal-operators"}},"content":"import useBaseUrl from \'@docusaurus/useBaseUrl\';\\nimport ThemedImage from \'@theme/ThemedImage\';\\n\\n### News\\n\\nTrevas 1.4.1 introduces the VTL SDMX module.\\n\\nThis module enables to consume SDMX metadata sources to instantiate Trevas DataStructures and Datasets.\\n\\nIt also allows to execute the VTL TransformationSchemes to obtain the resulting persistent datasets.\\n\\n#### Overview\\n\\n
\\n\\t\\n
\\n\\nTrevas supports the above SDMX message elements. Only the VtlMappingSchemes attribute is optional.\\n\\nThe elements in box 1 are used to produce Trevas DataStructures, filling VTL components attributes name, role, type, nullable and valuedomain.\\n\\nThe elements in box 2 are used to generate the VTL code (rulesets & transformations).\\n\\n#### Tools available\\n\\n#### `buildStructureFromSDMX3` utility\\n\\n`TrevasSDMXUtils.buildStructureFromSDMX3` allows to obtain a Trevas DataStructure.\\n\\nProviding corresponding data, you can build a Trevas Dataset.\\n\\n```java\\nStructured.DataStructure structure = TrevasSDMXUtils.buildStructureFromSDMX3(\\"path/sdmx_file.xml\\", \\"STRUCT_ID\\");\\n\\nSparkDataset ds = new SparkDataset(\\n spark.read()\\n .option(\\"header\\", \\"true\\")\\n .option(\\"delimiter\\", \\";\\")\\n .option(\\"quote\\", \\"\\\\\\"\\")\\n .csv(\\"path\\"),\\n structure\\n);\\n```\\n\\n#### `SDMXVTLWorkflow` object\\n\\nThe `SDMXVTLWorkflow` constructor takes 3 arguments:\\n\\n- a `ScriptEngine` (Trevas or another)\\n- a `ReadableDataLocation` to handle an SDMX message\\n- a map of names / Datasets\\n\\n```java\\nSparkSession.builder()\\n .appName(\\"test\\")\\n .master(\\"local\\")\\n .getOrCreate();\\n\\nScriptEngineManager mgr = new ScriptEngineManager();\\nScriptEngine engine = mgr.getEngineByExtension(\\"vtl\\");\\nengine.put(VtlScriptEngine.PROCESSING_ENGINE_NAMES, \\"spark\\");\\n\\nReadableDataLocation rdl = new ReadableDataLocationTmp(\\"src/test/resources/DSD_BPE_CENSUS.xml\\");\\n\\nSDMXVTLWorkflow sdmxVtlWorkflow = new SDMXVTLWorkflow(engine, rdl, Map.of());\\n```\\n\\nThis object then allows you to activate the following 3 functions.\\n\\n#### SDMXVTLWorkflow `run` function - Preview mode\\n\\nThe `run` function can easily be called in a preview mode, without attached data.\\n\\n```java\\nScriptEngineManager mgr = new ScriptEngineManager();\\nScriptEngine engine = mgr.getEngineByExtension(\\"vtl\\");\\nengine.put(VtlScriptEngine.PROCESSING_ENGINE_NAMES, \\"spark\\");\\n\\nReadableDataLocation rdl = new ReadableDataLocationTmp(\\"src/test/resources/DSD_BPE_CENSUS.xml\\");\\n\\nSDMXVTLWorkflow sdmxVtlWorkflow = new SDMXVTLWorkflow(engine, rdl, Map.of());\\n\\n// instead of using TrevasSDMXUtils.buildStructureFromSDMX3 and data sources\\n// to build Trevas Datasets, sdmxVtlWorkflow.getEmptyDatasets()\\n// will handle SDMX message structures to produce Trevas Datasets\\n// with metadata defined in this message, and adding empty data\\nMap emptyDatasets = sdmxVtlWorkflow.getEmptyDatasets();\\nengine.getBindings(ScriptContext.ENGINE_SCOPE).putAll(emptyDatasets);\\n\\nMap result = sdmxVtlWorkflow.run();\\n```\\n\\nThe preview mode allows to check the conformity of the SDMX file and the metadata of the output datasets.\\n\\n#### SDMXVTLWorkflow `run` function\\n\\nOnce an `SDMXVTLWorkflow` is built, it is easy to run the VTL validations and transformations defined in the SDMX file.\\n\\n```java\\nStructured.DataStructure structure = TrevasSDMXUtils.buildStructureFromSDMX3(\\"path/sdmx_file.xml\\", \\"ds1\\");\\n\\nSparkDataset ds1 = new SparkDataset(\\n spark.read()\\n .option(\\"header\\", \\"true\\")\\n .option(\\"delimiter\\", \\";\\")\\n .option(\\"quote\\", \\"\\\\\\"\\")\\n .csv(\\"path/data.csv\\"),\\n structure\\n);\\n\\nScriptEngineManager mgr = new ScriptEngineManager();\\nScriptEngine engine = mgr.getEngineByExtension(\\"vtl\\");\\nengine.put(VtlScriptEngine.PROCESSING_ENGINE_NAMES, \\"spark\\");\\n\\nMap inputs = Map.of(\\"ds1\\", ds1);\\n\\nReadableDataLocation rdl = new ReadableDataLocationTmp(\\"path/sdmx_file.xml\\");\\n\\nSDMXVTLWorkflow sdmxVtlWorkflow = new SDMXVTLWorkflow(engine, rdl, inputs);\\n\\nMap bindings = sdmxVtlWorkflow.run();\\n```\\n\\nAs a result, one will receive all the dataset defined as persistent in the `TransformationSchemes` definition.\\n\\n#### SDMXVTLWorkflow `getTransformationsVTL` function\\n\\nGets the VTL code corresponding to the SDMX TransformationSchemes definition.\\n\\n```java\\nSDMXVTLWorkflow sdmxVtlWorkflow = new SDMXVTLWorkflow(engine, rdl, Map.of());\\nString vtl = sdmxVtlWorkflow.getTransformationsVTL();\\n```\\n\\n#### SDMXVTLWorkflow `getRulesetsVTL` function\\n\\nGets the VTL code corresponding to the SDMX TransformationSchemes definition.\\n\\n```java\\nSDMXVTLWorkflow sdmxVtlWorkflow = new SDMXVTLWorkflow(engine, rdl, Map.of());\\nString dprs = sdmxVtlWorkflow.getRulesetsVTL();\\n```"},{"id":"/trevas-temporal-operators","metadata":{"permalink":"/Trevas/blog/trevas-temporal-operators","source":"@site/blog/2024-06-21-temporal-operators.mdx","title":"Trevas - Temporal operators","description":"Temporal operators in Trevas","date":"2024-06-21T00:00:00.000Z","formattedDate":"June 21, 2024","tags":[{"label":"Trevas","permalink":"/Trevas/blog/tags/trevas"}],"readingTime":2.845,"hasTruncateMarker":false,"authors":[{"name":"Hadrien Kohl","link":"https://github.com/hadrienk","title":"Hadrien Kohl Consulting - Developer","image":"/img/profile_pic_hadrien_kohl.jpg","key":"hadrien"}],"frontMatter":{"slug":"/trevas-temporal-operators","title":"Trevas - Temporal operators","authors":["hadrien"],"tags":["Trevas"]},"prevItem":{"title":"Trevas - SDMX","permalink":"/Trevas/blog/trevas-sdmx"},"nextItem":{"title":"Trevas - Java 17","permalink":"/Trevas/blog/trevas-java-17"}},"content":"### Temporal operators in Trevas\\n\\nThe version 1.4.1 of Trevas introduces preliminary support for date and time types\\nand operators.\\n\\nThe specification describes temporal types such as `date`, `time_period`, `time`, and `duration`. However, Trevas authors find\\nthese descriptions unsatisfactory. This blog post outlines our implementation choices and how they differ from the spec.\\n\\nIn the specification, `time_period` (and the types `date`) is described as a compound type with a start and end (or a\\nstart and a duration). This complicates the implementation and brings little value to the language as one can simply\\noperate on a combination of dates or date and duration directly. For this reason, we defined an algebra between the\\ntemporal types and did not yet implement the `time_period`.\\n\\n| result (operators) | date | duration | number |\\n| ------------------ | ----------- | --------------- | ------------- |\\n| **date** | n/a | date (+, -) | n/a |\\n| **duration** | date (+, -) | duration (+, -) | duration (\\\\*) |\\n| **number** | n/a | duration (\\\\*) | n/a |\\n\\nThe `period_indicator` function relies on period-awareness for types that are not defined enough at the moment to\\nbe implemented.\\n\\n#### Java mapping\\n\\nThe VTL type `date` is represented internally as the\\ntypes [`java.time.Instant`](https://docs.oracle.com/en%2Fjava%2Fjavase%2F11%2Fdocs%2Fapi%2F%2F/java.base/java/time/Instant.html),\\n[`java.time.ZonedDateTime`](https://docs.oracle.com/en%2Fjava%2Fjavase%2F11%2Fdocs%2Fapi%2F%2F/java.base/java/time/ZonedDateTime.html)\\nand [`java.time.OffsetDateTime`](https://docs.oracle.com/en%2Fjava%2Fjavase%2F11%2Fdocs%2Fapi%2F%2F/java.base/java/time/OffsetDateTime.html#:~:text=OffsetDateTime%20is%20an%20immutable%20representation,be%20stored%20in%20an%20OffsetDateTime%20.)\\n\\nInstant represent a specific moment in time. Note that this type does not include timezone information and is therefore\\nnot usable with all the operators. One can use the types `ZonedDateTime` and `OffsetDateTime` when timezone or time\\nsaving is required.\\n\\nThe VTL type `duration` is represented internally as the\\ntype [`org.threeten.extra.PeriodDuration`](https://www.threeten.org/threeten-extra/apidocs/org.threeten.extra/org/threeten/extra/PeriodDuration.html)\\nfrom the [threeten extra](https://www.threeten.org/threeten-extra/) package.\\nIt represents a duration using both calendar units (years, months, days) and a temporal amount (hours, minutes, seconds\\nand nanoseconds).\\n\\n#### Function `flow_to_stock`\\n\\nThe flow_to_stock function converts a data set with flow interpretation into a stock interpretation. This transformation\\nis useful when you want to aggregate flow data (e.g., sales or production rates) into cumulative stock data (e.g., total\\ninventory).\\n\\n**Syntax:**\\n\\n`result := flow_to_stock(op)`\\n\\n**Parameters:**\\n\\n- `op` - The input data set with flow interpretation. The data set must have an identifier of type `time`, additional\\n identifiers, and at least one measure of type `number`.\\n\\n**Result:**\\n\\nThe function returns a data set with the same structure as the input, but with the values converted to stock\\ninterpretation.\\n\\n#### Function `stock_to_flow`\\n\\nThe `stock_to_flow` function converts a data set with stock interpretation into a flow interpretation. This\\ntransformation is useful when you want to derive flow data from cumulative stock data.\\n\\n**Syntax:**\\n\\n`result := stock_to_flow(op)`\\n\\n**Parameters:**\\n\\n- `op` - The input data set with stock interpretation. The data set must have an identifier of type `time`, additional\\n identifiers, and at least one measure of type `number`.\\n\\n**Result:**\\n\\nThe function returns a data set with the same structure as the input, but with the values converted to flow\\ninterpretation.\\n\\n#### Function `timeshift`\\n\\nThe `timeshift` function shifts the time component of a specified range of time in the data set. This is useful for\\nanalyzing data at different time offsets, such as comparing current values to past values.\\n\\n**Syntax:**\\n\\n`result := timeshift(op, shiftNumber)`\\n\\n**Parameters:**\\n\\n- `op` - The operand data set containing time series.\\n- `shiftNumber` - An integer representing the number of periods to shift. Positive values shift forward in time, while\\n negative values shift backward.\\n\\n**Result:**\\n\\nThe function returns a data set with the time identifiers shifted by the specified number of periods."},{"id":"/trevas-java-17","metadata":{"permalink":"/Trevas/blog/trevas-java-17","source":"@site/blog/2023-11-22-trevas-java-17.mdx","title":"Trevas - Java 17","description":"News","date":"2023-11-22T00:00:00.000Z","formattedDate":"November 22, 2023","tags":[{"label":"Trevas","permalink":"/Trevas/blog/tags/trevas"}],"readingTime":0.345,"hasTruncateMarker":false,"authors":[{"name":"Nicolas Laval","link":"https://github.com/NicoLaval","title":"Making Sense - Developer","image":"/img/profile_pic_nicolas_laval.jpg","key":"nicolas"}],"frontMatter":{"slug":"/trevas-java-17","title":"Trevas - Java 17","authors":["nicolas"],"tags":["Trevas"]},"prevItem":{"title":"Trevas - Temporal operators","permalink":"/Trevas/blog/trevas-temporal-operators"},"nextItem":{"title":"Trevas - Persistent assignments","permalink":"/Trevas/blog/trevas-persistent-assignments"}},"content":"### News\\n\\nTrevas 1.2.0 enables Java 17 support.\\n\\n### Java modules handling\\n\\nSpark does not support Java modules.\\n\\nJava 17 client apps, embedding Trevas in Spark mode have to configure `UNNAMED` modules for Spark.\\n\\n#### Maven\\n\\nAdd to your `pom.xml` file, in the `build > plugins` section:\\n\\n```xml\\n\\n org.apache.maven.plugins\\n maven-compiler-plugin\\n 3.11.0\\n \\n \\n --add-exports\\n java.base/sun.nio.ch=ALL-UNNAMED\\n \\n \\n\\n```\\n\\n#### Docker\\n\\n```shell\\nENTRYPOINT [\\"java\\", \\"--add-exports\\", \\"java.base/sun.nio.ch=ALL-UNNAMED\\", \\"mainClass\\"]\\n```"},{"id":"/trevas-persistent-assignments","metadata":{"permalink":"/Trevas/blog/trevas-persistent-assignments","source":"@site/blog/2023-11-22-trevas-persistent-assignment.mdx","title":"Trevas - Persistent assignments","description":"News","date":"2023-11-22T00:00:00.000Z","formattedDate":"November 22, 2023","tags":[{"label":"Trevas","permalink":"/Trevas/blog/tags/trevas"}],"readingTime":0.41,"hasTruncateMarker":false,"authors":[{"name":"Nicolas Laval","link":"https://github.com/NicoLaval","title":"Making Sense - Developer","image":"/img/profile_pic_nicolas_laval.jpg","key":"nicolas"}],"frontMatter":{"slug":"/trevas-persistent-assignments","title":"Trevas - Persistent assignments","authors":["nicolas"],"tags":["Trevas"]},"prevItem":{"title":"Trevas - Java 17","permalink":"/Trevas/blog/trevas-java-17"},"nextItem":{"title":"Trevas - check_hierarchy","permalink":"/Trevas/blog/trevas-check_hierarchy"}},"content":"### News\\n\\nTrevas 1.2.0 includes the persistent assignment support: `ds1 <- ds;`.\\n\\nIn Trevas, persistent datasets are represented as `PersistentDataset`.\\n\\n### Handle `PersistentDataset`\\n\\nTrevas datasets are represented as `Dataset`.\\n\\nAfter running the Trevas engine, you can use persistent datasets with something like:\\n\\n```\\nBindings engineBindings = engine.getContext().getBindings(ScriptContext.ENGINE_SCOPE);\\nengineBindings.forEach((k, v) -> {\\n if (v instanceof PersistentDataset) {\\n fr.insee.vtl.model.Dataset ds = ((PersistentDataset) v).getDelegate();\\n if (ds instanceof SparkDataset) {\\n Dataset sparkDs = ((SparkDataset) ds).getSparkDataset();\\n // Do what you want with sparkDs\\n }\\n }\\n});\\n```"},{"id":"/trevas-check_hierarchy","metadata":{"permalink":"/Trevas/blog/trevas-check_hierarchy","source":"@site/blog/2023-09-01-trevas-check_hierarchy.mdx","title":"Trevas - check_hierarchy","description":"News","date":"2023-09-01T00:00:00.000Z","formattedDate":"September 1, 2023","tags":[{"label":"Trevas","permalink":"/Trevas/blog/tags/trevas"}],"readingTime":1.815,"hasTruncateMarker":false,"authors":[{"name":"Nicolas Laval","link":"https://github.com/NicoLaval","title":"Making Sense - Developer","image":"/img/profile_pic_nicolas_laval.jpg","key":"nicolas"}],"frontMatter":{"slug":"/trevas-check_hierarchy","title":"Trevas - check_hierarchy","authors":["nicolas"],"tags":["Trevas"]},"prevItem":{"title":"Trevas - Persistent assignments","permalink":"/Trevas/blog/trevas-persistent-assignments"},"nextItem":{"title":"Trevas Batch 0.1.1","permalink":"/Trevas/blog/trevas-batch-0.1.1"}},"content":"### News\\n\\nTrevas 1.1.0 includes hierarchical validation via operators `define hierarchical ruleset` and `check_hierarchy`.\\n\\n### Example\\n\\n#### Input\\n\\n`ds1`:\\n\\n| id | Me |\\n| :-: | :-: |\\n| ABC | 12 |\\n| A | 1 |\\n| B | 10 |\\n| C | 1 |\\n| DEF | 100 |\\n| E | 99 |\\n| F | 1 |\\n| HIJ | 100 |\\n| H | 99 |\\n| I | 0 |\\n\\n#### VTL script\\n\\n```\\n// Ensure ds1 metadata definition is good\\nds1 := ds1[calc identifier id := id, Me := cast(Me, integer)];\\n\\n// Define hierarchical ruleset\\ndefine hierarchical ruleset hr (variable rule Me) is\\n My_Rule : ABC = A + B + C errorcode \\"ABC is not sum of A,B,C\\" errorlevel 1;\\n DEF = D + E + F errorcode \\"DEF is not sum of D,E,F\\";\\n HIJ : HIJ = H + I - J errorcode \\"HIJ is not H + I - J\\" errorlevel 10\\nend hierarchical ruleset;\\n\\n// Check hierarchy\\nds_all := check_hierarchy(ds1, hr rule id all);\\nds_all_measures := check_hierarchy(ds1, hr rule id always_null all_measures);\\nds_invalid := check_hierarchy(ds1, hr rule id always_zero invalid);\\n```\\n\\n#### Outputs\\n\\n- `ds_all`\\n\\n| id | ruleid | bool_var | errorcode | errorlevel | imbalance |\\n| :-: | :-----: | :------: | :-------: | :--------: | :-------: |\\n| ABC | My_Rule | true | null | null | 0 |\\n\\n- `ds_always_null_all_measures`\\n\\n| id | Me | ruleid | bool_var | errorcode | errorlevel | imbalance |\\n| :-: | :-: | :-----: | :------: | :-------: | :--------: | :-------: |\\n| ABC | 12 | My_Rule | true | null | null | 0 |\\n| DEF | 100 | hr_2 | null | null | null | null |\\n| HIJ | 100 | HIJ | null | null | null | null |\\n\\n- `ds_invalid`\\n\\n| id | Me | ruleid | errorcode | errorlevel | imbalance |\\n| :-: | :-: | :----: | :------------------: | :--------: | :-------: |\\n| HIJ | 100 | HIJ | HIJ is not H + I - J | 10 | 1 |"},{"id":"/trevas-batch-0.1.1","metadata":{"permalink":"/Trevas/blog/trevas-batch-0.1.1","source":"@site/blog/2023-07-02-trevas-batch-0.1.1.mdx","title":"Trevas Batch 0.1.1","description":"Trevas Batch 0.1.1 uses version 1.0.2 of Trevas.","date":"2023-07-02T00:00:00.000Z","formattedDate":"July 2, 2023","tags":[{"label":"Trevas Batch","permalink":"/Trevas/blog/tags/trevas-batch"}],"readingTime":0.46,"hasTruncateMarker":false,"authors":[{"name":"Nicolas Laval","link":"https://github.com/NicoLaval","title":"Making Sense - Developer","image":"/img/profile_pic_nicolas_laval.jpg","key":"nicolas"}],"frontMatter":{"slug":"/trevas-batch-0.1.1","title":"Trevas Batch 0.1.1","authors":["nicolas"],"tags":["Trevas Batch"]},"prevItem":{"title":"Trevas - check_hierarchy","permalink":"/Trevas/blog/trevas-check_hierarchy"},"nextItem":{"title":"Trevas Jupyter 0.3.2","permalink":"/Trevas/blog/trevas-jupyter-0.3.2"}},"content":"import useBaseUrl from \'@docusaurus/useBaseUrl\';\\nimport Link from \'@theme/Link\';\\n\\n[Trevas Batch](https://github.com/Making-Sense-Info/Trevas-Batch) `0.1.1` uses version `1.0.2` of [Trevas](https://github.com/InseeFr/Trevas).\\n\\nThis Java batch provides Trevas execution metrics in Spark mode.\\n\\nThe configuration file to fill in is described in the [README](https://github.com/Making-Sense-Info/Trevas-Batch/tree/main#readme) of the project.\\nLaunching the batch will produce a Markdown file as output.\\n\\n### Launch\\n\\n#### Local\\n\\n```java\\njava -jar trevas-batch-0.1.1.jar -Dconfig.path=\\"...\\" -Dreport.path=\\"...\\"\\n```\\n\\nThe java execution will be done in local Spark.\\n\\n#### Kubernetes\\n\\nDefault Kubernetes objects are defined in the [.kubernetes](https://github.com/Making-Sense-Info/Trevas-Batch/tree/main/.kubernetes) folder.\\n\\nFeed the `config-map.yml` file then launch the job in your cluster."},{"id":"/trevas-jupyter-0.3.2","metadata":{"permalink":"/Trevas/blog/trevas-jupyter-0.3.2","source":"@site/blog/2023-07-01-v1-trevas-jupyter-0.3.2.mdx","title":"Trevas Jupyter 0.3.2","description":"Trevas Jupyter 0.3.2 uses version 1.0.2 of Trevas.","date":"2023-07-01T00:00:00.000Z","formattedDate":"July 1, 2023","tags":[{"label":"Trevas Jupyter","permalink":"/Trevas/blog/tags/trevas-jupyter"}],"readingTime":0.59,"hasTruncateMarker":false,"authors":[{"name":"Nicolas Laval","link":"https://github.com/NicoLaval","title":"Making Sense - Developer","image":"/img/profile_pic_nicolas_laval.jpg","key":"nicolas"}],"frontMatter":{"slug":"/trevas-jupyter-0.3.2","title":"Trevas Jupyter 0.3.2","authors":["nicolas"],"tags":["Trevas Jupyter"]},"prevItem":{"title":"Trevas Batch 0.1.1","permalink":"/Trevas/blog/trevas-batch-0.1.1"},"nextItem":{"title":"Trevas Lab 0.3.3","permalink":"/Trevas/blog/trevas-lab-0.3.3"}},"content":"import useBaseUrl from \'@docusaurus/useBaseUrl\';\\nimport Link from \'@theme/Link\';\\n\\n[Trevas Jupyter](https://github.com/InseeFrLab/Trevas-Jupyter) `0.3.2` uses version `1.0.2` of [Trevas](https://github.com/InseeFr/Trevas).\\n\\n### News\\n\\nIn addition to the greatly increased since the publication of Trevas 1.x.x, Trevas Jupyter offers 1 new connector:\\n- SAS files (via the `loadSas` method)\\n\\n### Launch\\n\\n#### Manually adding the Trevas Kernel to an existing Jupyter instance\\n\\n- Trevas Jupyter compiler\\n- Copy the `kernel.json` file and the `bin` and `repo` folders to a new kernel folder.\\n- Edit the `kernel.json` file\\n- Launch Jupyter\\n\\n#### Docker\\n\\n```bash\\ndocker pull inseefrlab/trevas-jupyter:0.3.2\\ndocker run -p 8888:8888 inseefrlab/trevas-jupyter:0.3.2\\n```\\n\\n#### Helm\\n\\nThe Trevas Jupyter docker image can be instantiated via the `jupyter-pyspark` Helm contract from [InseeFrLab](https://github.com/InseeFrLab/helm-charts-interactive-services/tree/main)."},{"id":"/trevas-lab-0.3.3","metadata":{"permalink":"/Trevas/blog/trevas-lab-0.3.3","source":"@site/blog/2023-07-01-v1-trevas-lab-0.3.3.mdx","title":"Trevas Lab 0.3.3","description":"Trevas Lab 0.3.3 uses version 1.0.2 of Trevas.","date":"2023-07-01T00:00:00.000Z","formattedDate":"July 1, 2023","tags":[{"label":"Trevas Lab","permalink":"/Trevas/blog/tags/trevas-lab"}],"readingTime":0.335,"hasTruncateMarker":false,"authors":[{"name":"Nicolas Laval","link":"https://github.com/NicoLaval","title":"Making Sense - Developer","image":"/img/profile_pic_nicolas_laval.jpg","key":"nicolas"}],"frontMatter":{"slug":"/trevas-lab-0.3.3","title":"Trevas Lab 0.3.3","authors":["nicolas"],"tags":["Trevas Lab"]},"prevItem":{"title":"Trevas Jupyter 0.3.2","permalink":"/Trevas/blog/trevas-jupyter-0.3.2"}},"content":"import useBaseUrl from \'@docusaurus/useBaseUrl\';\\nimport Link from \'@theme/Link\';\\n\\n[Trevas Lab](https://github.com/InseeFrLab/Trevas-Lab) `0.3.3` uses version `1.0.2` of [Trevas](https://github.com/InseeFr/Trevas).\\n\\n### News\\n\\nIn addition to the greatly increased since the publication of Trevas 1.x.x, Trevas Lab offers 2 new connectors:\\n- SAS files\\n- JDBC MariaDB\\n\\n### Launch\\n\\n#### Kubernetes\\n\\nSample Kubernetes objects are available in the `.kubernetes` folders of [Trevas Lab](https://github.com/InseeFrLab/Trevas-Lab/tree/master/.kubernetes) and [Trevas Lab UI](https://github.com/InseeFrLab/Trevas-Lab-UI/tree/master/.kubernetes)."}]}')}}]); \ No newline at end of file +"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[2046],{84643:e=>{e.exports=JSON.parse('{"blogPosts":[{"id":"/trevas-sdmx","metadata":{"permalink":"/Trevas/blog/trevas-sdmx","source":"@site/blog/2024-06-25-trevas-sdmx.mdx","title":"Trevas - SDMX","description":"News","date":"2024-06-25T00:00:00.000Z","formattedDate":"June 25, 2024","tags":[{"label":"Trevas","permalink":"/Trevas/blog/tags/trevas"},{"label":"SDMX","permalink":"/Trevas/blog/tags/sdmx"}],"readingTime":0.7,"hasTruncateMarker":false,"authors":[{"name":"Nicolas Laval","link":"https://github.com/NicoLaval","title":"Making Sense - Developer","image":"/img/profile_pic_nicolas_laval.jpg","key":"nicolas"}],"frontMatter":{"slug":"/trevas-sdmx","title":"Trevas - SDMX","authors":["nicolas"],"tags":["Trevas","SDMX"]},"nextItem":{"title":"Trevas - Temporal operators","permalink":"/Trevas/blog/trevas-temporal-operators"}},"content":"import useBaseUrl from \'@docusaurus/useBaseUrl\';\\nimport ThemedImage from \'@theme/ThemedImage\';\\nimport Link from \'@theme/Link\';\\n\\n### News\\n\\nTrevas 1.4.1 introduces the VTL SDMX module.\\n\\nThis module enables to consume SDMX metadata sources to instantiate Trevas DataStructures and Datasets.\\n\\nIt also allows to execute the VTL TransformationSchemes to obtain the resulting persistent datasets.\\n\\n#### Overview\\n\\n
\\n\\t\\n
\\n\\nTrevas supports the above SDMX message elements. Only the VtlMappingSchemes element is optional.\\n\\nThe elements in box 1 are used to produce Trevas DataStructures, filling VTL components attributes name, role, type, nullable and valuedomain.\\n\\nThe elements in box 2 are used to generate the VTL code (rulesets & transformations).\\n\\n#### Tools available\\n\\nSDMX Trevas tools are documented .\\n\\n#### Troubleshooting\\n\\nHave a look to ."},{"id":"/trevas-temporal-operators","metadata":{"permalink":"/Trevas/blog/trevas-temporal-operators","source":"@site/blog/2024-06-21-temporal-operators.mdx","title":"Trevas - Temporal operators","description":"Temporal operators in Trevas","date":"2024-06-21T00:00:00.000Z","formattedDate":"June 21, 2024","tags":[{"label":"Trevas","permalink":"/Trevas/blog/tags/trevas"}],"readingTime":2.845,"hasTruncateMarker":false,"authors":[{"name":"Hadrien Kohl","link":"https://github.com/hadrienk","title":"Hadrien Kohl Consulting - Developer","image":"/img/profile_pic_hadrien_kohl.jpg","key":"hadrien"}],"frontMatter":{"slug":"/trevas-temporal-operators","title":"Trevas - Temporal operators","authors":["hadrien"],"tags":["Trevas"]},"prevItem":{"title":"Trevas - SDMX","permalink":"/Trevas/blog/trevas-sdmx"},"nextItem":{"title":"Trevas - Java 17","permalink":"/Trevas/blog/trevas-java-17"}},"content":"### Temporal operators in Trevas\\n\\nThe version 1.4.1 of Trevas introduces preliminary support for date and time types\\nand operators.\\n\\nThe specification describes temporal types such as `date`, `time_period`, `time`, and `duration`. However, Trevas authors find\\nthese descriptions unsatisfactory. This blog post outlines our implementation choices and how they differ from the spec.\\n\\nIn the specification, `time_period` (and the types `date`) is described as a compound type with a start and end (or a\\nstart and a duration). This complicates the implementation and brings little value to the language as one can simply\\noperate on a combination of dates or date and duration directly. For this reason, we defined an algebra between the\\ntemporal types and did not yet implement the `time_period`.\\n\\n| result (operators) | date | duration | number |\\n| ------------------ | ----------- | --------------- | ------------- |\\n| **date** | n/a | date (+, -) | n/a |\\n| **duration** | date (+, -) | duration (+, -) | duration (\\\\*) |\\n| **number** | n/a | duration (\\\\*) | n/a |\\n\\nThe `period_indicator` function relies on period-awareness for types that are not defined enough at the moment to\\nbe implemented.\\n\\n#### Java mapping\\n\\nThe VTL type `date` is represented internally as the\\ntypes [`java.time.Instant`](https://docs.oracle.com/en%2Fjava%2Fjavase%2F11%2Fdocs%2Fapi%2F%2F/java.base/java/time/Instant.html),\\n[`java.time.ZonedDateTime`](https://docs.oracle.com/en%2Fjava%2Fjavase%2F11%2Fdocs%2Fapi%2F%2F/java.base/java/time/ZonedDateTime.html)\\nand [`java.time.OffsetDateTime`](https://docs.oracle.com/en%2Fjava%2Fjavase%2F11%2Fdocs%2Fapi%2F%2F/java.base/java/time/OffsetDateTime.html#:~:text=OffsetDateTime%20is%20an%20immutable%20representation,be%20stored%20in%20an%20OffsetDateTime%20.)\\n\\nInstant represent a specific moment in time. Note that this type does not include timezone information and is therefore\\nnot usable with all the operators. One can use the types `ZonedDateTime` and `OffsetDateTime` when timezone or time\\nsaving is required.\\n\\nThe VTL type `duration` is represented internally as the\\ntype [`org.threeten.extra.PeriodDuration`](https://www.threeten.org/threeten-extra/apidocs/org.threeten.extra/org/threeten/extra/PeriodDuration.html)\\nfrom the [threeten extra](https://www.threeten.org/threeten-extra/) package.\\nIt represents a duration using both calendar units (years, months, days) and a temporal amount (hours, minutes, seconds\\nand nanoseconds).\\n\\n#### Function `flow_to_stock`\\n\\nThe flow_to_stock function converts a data set with flow interpretation into a stock interpretation. This transformation\\nis useful when you want to aggregate flow data (e.g., sales or production rates) into cumulative stock data (e.g., total\\ninventory).\\n\\n**Syntax:**\\n\\n`result := flow_to_stock(op)`\\n\\n**Parameters:**\\n\\n- `op` - The input data set with flow interpretation. The data set must have an identifier of type `time`, additional\\n identifiers, and at least one measure of type `number`.\\n\\n**Result:**\\n\\nThe function returns a data set with the same structure as the input, but with the values converted to stock\\ninterpretation.\\n\\n#### Function `stock_to_flow`\\n\\nThe `stock_to_flow` function converts a data set with stock interpretation into a flow interpretation. This\\ntransformation is useful when you want to derive flow data from cumulative stock data.\\n\\n**Syntax:**\\n\\n`result := stock_to_flow(op)`\\n\\n**Parameters:**\\n\\n- `op` - The input data set with stock interpretation. The data set must have an identifier of type `time`, additional\\n identifiers, and at least one measure of type `number`.\\n\\n**Result:**\\n\\nThe function returns a data set with the same structure as the input, but with the values converted to flow\\ninterpretation.\\n\\n#### Function `timeshift`\\n\\nThe `timeshift` function shifts the time component of a specified range of time in the data set. This is useful for\\nanalyzing data at different time offsets, such as comparing current values to past values.\\n\\n**Syntax:**\\n\\n`result := timeshift(op, shiftNumber)`\\n\\n**Parameters:**\\n\\n- `op` - The operand data set containing time series.\\n- `shiftNumber` - An integer representing the number of periods to shift. Positive values shift forward in time, while\\n negative values shift backward.\\n\\n**Result:**\\n\\nThe function returns a data set with the time identifiers shifted by the specified number of periods."},{"id":"/trevas-java-17","metadata":{"permalink":"/Trevas/blog/trevas-java-17","source":"@site/blog/2023-11-22-trevas-java-17.mdx","title":"Trevas - Java 17","description":"News","date":"2023-11-22T00:00:00.000Z","formattedDate":"November 22, 2023","tags":[{"label":"Trevas","permalink":"/Trevas/blog/tags/trevas"}],"readingTime":0.345,"hasTruncateMarker":false,"authors":[{"name":"Nicolas Laval","link":"https://github.com/NicoLaval","title":"Making Sense - Developer","image":"/img/profile_pic_nicolas_laval.jpg","key":"nicolas"}],"frontMatter":{"slug":"/trevas-java-17","title":"Trevas - Java 17","authors":["nicolas"],"tags":["Trevas"]},"prevItem":{"title":"Trevas - Temporal operators","permalink":"/Trevas/blog/trevas-temporal-operators"},"nextItem":{"title":"Trevas - Persistent assignments","permalink":"/Trevas/blog/trevas-persistent-assignments"}},"content":"### News\\n\\nTrevas 1.2.0 enables Java 17 support.\\n\\n### Java modules handling\\n\\nSpark does not support Java modules.\\n\\nJava 17 client apps, embedding Trevas in Spark mode have to configure `UNNAMED` modules for Spark.\\n\\n#### Maven\\n\\nAdd to your `pom.xml` file, in the `build > plugins` section:\\n\\n```xml\\n\\n org.apache.maven.plugins\\n maven-compiler-plugin\\n 3.11.0\\n \\n \\n --add-exports\\n java.base/sun.nio.ch=ALL-UNNAMED\\n \\n \\n\\n```\\n\\n#### Docker\\n\\n```shell\\nENTRYPOINT [\\"java\\", \\"--add-exports\\", \\"java.base/sun.nio.ch=ALL-UNNAMED\\", \\"mainClass\\"]\\n```"},{"id":"/trevas-persistent-assignments","metadata":{"permalink":"/Trevas/blog/trevas-persistent-assignments","source":"@site/blog/2023-11-22-trevas-persistent-assignment.mdx","title":"Trevas - Persistent assignments","description":"News","date":"2023-11-22T00:00:00.000Z","formattedDate":"November 22, 2023","tags":[{"label":"Trevas","permalink":"/Trevas/blog/tags/trevas"}],"readingTime":0.41,"hasTruncateMarker":false,"authors":[{"name":"Nicolas Laval","link":"https://github.com/NicoLaval","title":"Making Sense - Developer","image":"/img/profile_pic_nicolas_laval.jpg","key":"nicolas"}],"frontMatter":{"slug":"/trevas-persistent-assignments","title":"Trevas - Persistent assignments","authors":["nicolas"],"tags":["Trevas"]},"prevItem":{"title":"Trevas - Java 17","permalink":"/Trevas/blog/trevas-java-17"},"nextItem":{"title":"Trevas - check_hierarchy","permalink":"/Trevas/blog/trevas-check_hierarchy"}},"content":"### News\\n\\nTrevas 1.2.0 includes the persistent assignment support: `ds1 <- ds;`.\\n\\nIn Trevas, persistent datasets are represented as `PersistentDataset`.\\n\\n### Handle `PersistentDataset`\\n\\nTrevas datasets are represented as `Dataset`.\\n\\nAfter running the Trevas engine, you can use persistent datasets with something like:\\n\\n```\\nBindings engineBindings = engine.getContext().getBindings(ScriptContext.ENGINE_SCOPE);\\nengineBindings.forEach((k, v) -> {\\n if (v instanceof PersistentDataset) {\\n fr.insee.vtl.model.Dataset ds = ((PersistentDataset) v).getDelegate();\\n if (ds instanceof SparkDataset) {\\n Dataset sparkDs = ((SparkDataset) ds).getSparkDataset();\\n // Do what you want with sparkDs\\n }\\n }\\n});\\n```"},{"id":"/trevas-check_hierarchy","metadata":{"permalink":"/Trevas/blog/trevas-check_hierarchy","source":"@site/blog/2023-09-01-trevas-check_hierarchy.mdx","title":"Trevas - check_hierarchy","description":"News","date":"2023-09-01T00:00:00.000Z","formattedDate":"September 1, 2023","tags":[{"label":"Trevas","permalink":"/Trevas/blog/tags/trevas"}],"readingTime":1.815,"hasTruncateMarker":false,"authors":[{"name":"Nicolas Laval","link":"https://github.com/NicoLaval","title":"Making Sense - Developer","image":"/img/profile_pic_nicolas_laval.jpg","key":"nicolas"}],"frontMatter":{"slug":"/trevas-check_hierarchy","title":"Trevas - check_hierarchy","authors":["nicolas"],"tags":["Trevas"]},"prevItem":{"title":"Trevas - Persistent assignments","permalink":"/Trevas/blog/trevas-persistent-assignments"},"nextItem":{"title":"Trevas Batch 0.1.1","permalink":"/Trevas/blog/trevas-batch-0.1.1"}},"content":"### News\\n\\nTrevas 1.1.0 includes hierarchical validation via operators `define hierarchical ruleset` and `check_hierarchy`.\\n\\n### Example\\n\\n#### Input\\n\\n`ds1`:\\n\\n| id | Me |\\n| :-: | :-: |\\n| ABC | 12 |\\n| A | 1 |\\n| B | 10 |\\n| C | 1 |\\n| DEF | 100 |\\n| E | 99 |\\n| F | 1 |\\n| HIJ | 100 |\\n| H | 99 |\\n| I | 0 |\\n\\n#### VTL script\\n\\n```\\n// Ensure ds1 metadata definition is good\\nds1 := ds1[calc identifier id := id, Me := cast(Me, integer)];\\n\\n// Define hierarchical ruleset\\ndefine hierarchical ruleset hr (variable rule Me) is\\n My_Rule : ABC = A + B + C errorcode \\"ABC is not sum of A,B,C\\" errorlevel 1;\\n DEF = D + E + F errorcode \\"DEF is not sum of D,E,F\\";\\n HIJ : HIJ = H + I - J errorcode \\"HIJ is not H + I - J\\" errorlevel 10\\nend hierarchical ruleset;\\n\\n// Check hierarchy\\nds_all := check_hierarchy(ds1, hr rule id all);\\nds_all_measures := check_hierarchy(ds1, hr rule id always_null all_measures);\\nds_invalid := check_hierarchy(ds1, hr rule id always_zero invalid);\\n```\\n\\n#### Outputs\\n\\n- `ds_all`\\n\\n| id | ruleid | bool_var | errorcode | errorlevel | imbalance |\\n| :-: | :-----: | :------: | :-------: | :--------: | :-------: |\\n| ABC | My_Rule | true | null | null | 0 |\\n\\n- `ds_always_null_all_measures`\\n\\n| id | Me | ruleid | bool_var | errorcode | errorlevel | imbalance |\\n| :-: | :-: | :-----: | :------: | :-------: | :--------: | :-------: |\\n| ABC | 12 | My_Rule | true | null | null | 0 |\\n| DEF | 100 | hr_2 | null | null | null | null |\\n| HIJ | 100 | HIJ | null | null | null | null |\\n\\n- `ds_invalid`\\n\\n| id | Me | ruleid | errorcode | errorlevel | imbalance |\\n| :-: | :-: | :----: | :------------------: | :--------: | :-------: |\\n| HIJ | 100 | HIJ | HIJ is not H + I - J | 10 | 1 |"},{"id":"/trevas-batch-0.1.1","metadata":{"permalink":"/Trevas/blog/trevas-batch-0.1.1","source":"@site/blog/2023-07-02-trevas-batch-0.1.1.mdx","title":"Trevas Batch 0.1.1","description":"Trevas Batch 0.1.1 uses version 1.0.2 of Trevas.","date":"2023-07-02T00:00:00.000Z","formattedDate":"July 2, 2023","tags":[{"label":"Trevas Batch","permalink":"/Trevas/blog/tags/trevas-batch"}],"readingTime":0.46,"hasTruncateMarker":false,"authors":[{"name":"Nicolas Laval","link":"https://github.com/NicoLaval","title":"Making Sense - Developer","image":"/img/profile_pic_nicolas_laval.jpg","key":"nicolas"}],"frontMatter":{"slug":"/trevas-batch-0.1.1","title":"Trevas Batch 0.1.1","authors":["nicolas"],"tags":["Trevas Batch"]},"prevItem":{"title":"Trevas - check_hierarchy","permalink":"/Trevas/blog/trevas-check_hierarchy"},"nextItem":{"title":"Trevas Jupyter 0.3.2","permalink":"/Trevas/blog/trevas-jupyter-0.3.2"}},"content":"import useBaseUrl from \'@docusaurus/useBaseUrl\';\\nimport Link from \'@theme/Link\';\\n\\n[Trevas Batch](https://github.com/Making-Sense-Info/Trevas-Batch) `0.1.1` uses version `1.0.2` of [Trevas](https://github.com/InseeFr/Trevas).\\n\\nThis Java batch provides Trevas execution metrics in Spark mode.\\n\\nThe configuration file to fill in is described in the [README](https://github.com/Making-Sense-Info/Trevas-Batch/tree/main#readme) of the project.\\nLaunching the batch will produce a Markdown file as output.\\n\\n### Launch\\n\\n#### Local\\n\\n```java\\njava -jar trevas-batch-0.1.1.jar -Dconfig.path=\\"...\\" -Dreport.path=\\"...\\"\\n```\\n\\nThe java execution will be done in local Spark.\\n\\n#### Kubernetes\\n\\nDefault Kubernetes objects are defined in the [.kubernetes](https://github.com/Making-Sense-Info/Trevas-Batch/tree/main/.kubernetes) folder.\\n\\nFeed the `config-map.yml` file then launch the job in your cluster."},{"id":"/trevas-jupyter-0.3.2","metadata":{"permalink":"/Trevas/blog/trevas-jupyter-0.3.2","source":"@site/blog/2023-07-01-v1-trevas-jupyter-0.3.2.mdx","title":"Trevas Jupyter 0.3.2","description":"Trevas Jupyter 0.3.2 uses version 1.0.2 of Trevas.","date":"2023-07-01T00:00:00.000Z","formattedDate":"July 1, 2023","tags":[{"label":"Trevas Jupyter","permalink":"/Trevas/blog/tags/trevas-jupyter"}],"readingTime":0.59,"hasTruncateMarker":false,"authors":[{"name":"Nicolas Laval","link":"https://github.com/NicoLaval","title":"Making Sense - Developer","image":"/img/profile_pic_nicolas_laval.jpg","key":"nicolas"}],"frontMatter":{"slug":"/trevas-jupyter-0.3.2","title":"Trevas Jupyter 0.3.2","authors":["nicolas"],"tags":["Trevas Jupyter"]},"prevItem":{"title":"Trevas Batch 0.1.1","permalink":"/Trevas/blog/trevas-batch-0.1.1"},"nextItem":{"title":"Trevas Lab 0.3.3","permalink":"/Trevas/blog/trevas-lab-0.3.3"}},"content":"import useBaseUrl from \'@docusaurus/useBaseUrl\';\\nimport Link from \'@theme/Link\';\\n\\n[Trevas Jupyter](https://github.com/InseeFrLab/Trevas-Jupyter) `0.3.2` uses version `1.0.2` of [Trevas](https://github.com/InseeFr/Trevas).\\n\\n### News\\n\\nIn addition to the greatly increased since the publication of Trevas 1.x.x, Trevas Jupyter offers 1 new connector:\\n- SAS files (via the `loadSas` method)\\n\\n### Launch\\n\\n#### Manually adding the Trevas Kernel to an existing Jupyter instance\\n\\n- Trevas Jupyter compiler\\n- Copy the `kernel.json` file and the `bin` and `repo` folders to a new kernel folder.\\n- Edit the `kernel.json` file\\n- Launch Jupyter\\n\\n#### Docker\\n\\n```bash\\ndocker pull inseefrlab/trevas-jupyter:0.3.2\\ndocker run -p 8888:8888 inseefrlab/trevas-jupyter:0.3.2\\n```\\n\\n#### Helm\\n\\nThe Trevas Jupyter docker image can be instantiated via the `jupyter-pyspark` Helm contract from [InseeFrLab](https://github.com/InseeFrLab/helm-charts-interactive-services/tree/main)."},{"id":"/trevas-lab-0.3.3","metadata":{"permalink":"/Trevas/blog/trevas-lab-0.3.3","source":"@site/blog/2023-07-01-v1-trevas-lab-0.3.3.mdx","title":"Trevas Lab 0.3.3","description":"Trevas Lab 0.3.3 uses version 1.0.2 of Trevas.","date":"2023-07-01T00:00:00.000Z","formattedDate":"July 1, 2023","tags":[{"label":"Trevas Lab","permalink":"/Trevas/blog/tags/trevas-lab"}],"readingTime":0.335,"hasTruncateMarker":false,"authors":[{"name":"Nicolas Laval","link":"https://github.com/NicoLaval","title":"Making Sense - Developer","image":"/img/profile_pic_nicolas_laval.jpg","key":"nicolas"}],"frontMatter":{"slug":"/trevas-lab-0.3.3","title":"Trevas Lab 0.3.3","authors":["nicolas"],"tags":["Trevas Lab"]},"prevItem":{"title":"Trevas Jupyter 0.3.2","permalink":"/Trevas/blog/trevas-jupyter-0.3.2"}},"content":"import useBaseUrl from \'@docusaurus/useBaseUrl\';\\nimport Link from \'@theme/Link\';\\n\\n[Trevas Lab](https://github.com/InseeFrLab/Trevas-Lab) `0.3.3` uses version `1.0.2` of [Trevas](https://github.com/InseeFr/Trevas).\\n\\n### News\\n\\nIn addition to the greatly increased since the publication of Trevas 1.x.x, Trevas Lab offers 2 new connectors:\\n- SAS files\\n- JDBC MariaDB\\n\\n### Launch\\n\\n#### Kubernetes\\n\\nSample Kubernetes objects are available in the `.kubernetes` folders of [Trevas Lab](https://github.com/InseeFrLab/Trevas-Lab/tree/master/.kubernetes) and [Trevas Lab UI](https://github.com/InseeFrLab/Trevas-Lab-UI/tree/master/.kubernetes)."}]}')}}]); \ No newline at end of file diff --git a/assets/js/3e2612b7.30d02be2.js b/assets/js/3e2612b7.df5f687f.js similarity index 97% rename from assets/js/3e2612b7.30d02be2.js rename to assets/js/3e2612b7.df5f687f.js index 99334fe04..b0b0bfba2 100644 --- a/assets/js/3e2612b7.30d02be2.js +++ b/assets/js/3e2612b7.df5f687f.js @@ -1 +1 @@ -"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[2391],{3905:(e,t,r)=>{r.d(t,{Zo:()=>d,kt:()=>g});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function i(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var c=a.createContext({}),p=function(e){var t=a.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},d=function(e){var t=p(e.components);return a.createElement(c.Provider,{value:t},e.children)},u="mdxType",s={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,c=e.parentName,d=l(e,["components","mdxType","originalType","parentName"]),u=p(r),m=n,g=u["".concat(c,".").concat(m)]||u[m]||s[m]||o;return r?a.createElement(g,i(i({ref:t},d),{},{components:r})):a.createElement(g,i({ref:t},d))}));function g(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,i=new Array(o);i[0]=m;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l[u]="string"==typeof e?e:n,i[1]=l;for(var p=2;p{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>u,frontMatter:()=>o,metadata:()=>l,toc:()=>p});var a=r(87462),n=(r(67294),r(3905));const o={id:"data-validation-operators",title:"VTL - Data validation operators",sidebar_label:"Data validation operators",slug:"/user-guide/coverage/data-validation-operators",custom_edit_url:null},i=void 0,l={unversionedId:"user-guide/coverage/data-validation-operators",id:"user-guide/coverage/data-validation-operators",title:"VTL - Data validation operators",description:"| Name | Symbol | Supported |",source:"@site/docs/user-guide/coverage/data-validation-operators.mdx",sourceDirName:"user-guide/coverage",slug:"/user-guide/coverage/data-validation-operators",permalink:"/Trevas/user-guide/coverage/data-validation-operators",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1719441741,formattedLastUpdatedAt:"Jun 26, 2024",frontMatter:{id:"data-validation-operators",title:"VTL - Data validation operators",sidebar_label:"Data validation operators",slug:"/user-guide/coverage/data-validation-operators",custom_edit_url:null},sidebar:"docs",previous:{title:"Analytic operators",permalink:"/Trevas/user-guide/coverage/analytic-operators"},next:{title:"Conditional operators",permalink:"/Trevas/user-guide/coverage/conditional-operators"}},c={},p=[],d={toc:p};function u(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,a.Z)({},d,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:"left"},"Symbol"),(0,n.kt)("th",{parentName:"tr",align:"center"},"Supported"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Check datapoint"),(0,n.kt)("td",{parentName:"tr",align:"left"},"check_datapoint"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Check hierarchy"),(0,n.kt)("td",{parentName:"tr",align:"left"},"check_hierarchy"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Check"),(0,n.kt)("td",{parentName:"tr",align:"left"},"check"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")))))}u.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[2391],{3905:(e,t,r)=>{r.d(t,{Zo:()=>d,kt:()=>g});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function i(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var c=a.createContext({}),p=function(e){var t=a.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},d=function(e){var t=p(e.components);return a.createElement(c.Provider,{value:t},e.children)},u="mdxType",s={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,c=e.parentName,d=l(e,["components","mdxType","originalType","parentName"]),u=p(r),m=n,g=u["".concat(c,".").concat(m)]||u[m]||s[m]||o;return r?a.createElement(g,i(i({ref:t},d),{},{components:r})):a.createElement(g,i({ref:t},d))}));function g(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,i=new Array(o);i[0]=m;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l[u]="string"==typeof e?e:n,i[1]=l;for(var p=2;p{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>u,frontMatter:()=>o,metadata:()=>l,toc:()=>p});var a=r(87462),n=(r(67294),r(3905));const o={id:"data-validation-operators",title:"VTL - Data validation operators",sidebar_label:"Data validation operators",slug:"/user-guide/coverage/data-validation-operators",custom_edit_url:null},i=void 0,l={unversionedId:"user-guide/coverage/data-validation-operators",id:"user-guide/coverage/data-validation-operators",title:"VTL - Data validation operators",description:"| Name | Symbol | Supported |",source:"@site/docs/user-guide/coverage/data-validation-operators.mdx",sourceDirName:"user-guide/coverage",slug:"/user-guide/coverage/data-validation-operators",permalink:"/Trevas/user-guide/coverage/data-validation-operators",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1720593860,formattedLastUpdatedAt:"Jul 10, 2024",frontMatter:{id:"data-validation-operators",title:"VTL - Data validation operators",sidebar_label:"Data validation operators",slug:"/user-guide/coverage/data-validation-operators",custom_edit_url:null},sidebar:"docs",previous:{title:"Analytic operators",permalink:"/Trevas/user-guide/coverage/analytic-operators"},next:{title:"Conditional operators",permalink:"/Trevas/user-guide/coverage/conditional-operators"}},c={},p=[],d={toc:p};function u(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,a.Z)({},d,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:"left"},"Symbol"),(0,n.kt)("th",{parentName:"tr",align:"center"},"Supported"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Check datapoint"),(0,n.kt)("td",{parentName:"tr",align:"left"},"check_datapoint"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Check hierarchy"),(0,n.kt)("td",{parentName:"tr",align:"left"},"check_hierarchy"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Check"),(0,n.kt)("td",{parentName:"tr",align:"left"},"check"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")))))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/46e283ff.9abce036.js b/assets/js/46e283ff.a545579b.js similarity index 96% rename from assets/js/46e283ff.9abce036.js rename to assets/js/46e283ff.a545579b.js index 0b7d6f991..16cf8baa2 100644 --- a/assets/js/46e283ff.9abce036.js +++ b/assets/js/46e283ff.a545579b.js @@ -1 +1 @@ -"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[672],{39308:(e,a,t)=>{t.d(a,{Z:()=>v});var s=t(67294),r=t(3905),d=t(84734);const o="riContainer_QAfm",i="riDescriptionShort_ogAL",c="riDetail_rDiW",l="riIcon_zSrR",n="riTitle__Mkd",m="riDescription_k_lG",u="riMore_lLbd";var p=t(86010);const v=e=>{const[a,t]=s.useState(!1);return s.createElement("a",{href:e.page,className:o},s.createElement("div",{className:i},s.createElement("div",{className:l},s.createElement("span",{className:"fe fe-zap"})),s.createElement("div",{className:c},s.createElement("div",{className:n},s.createElement("a",{href:e.page},e.title)),s.createElement("div",{className:m},e.description,s.Children.count(e.children)>0&&s.createElement("span",{className:(0,p.Z)(u,"fe","fe-more-horizontal"),onClick:()=>t(!a)})))),a&&s.createElement("div",{className:"ri-description-long"},s.createElement(r.Zo,{components:d.Z},e.children)))}},21721:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>n,contentTitle:()=>c,default:()=>p,frontMatter:()=>i,metadata:()=>l,toc:()=>m});var s=t(87462),r=(t(67294),t(3905)),d=t(44996),o=t(39308);const i={id:"index-data-sources",title:"Basic mode - Data sources",sidebar_label:"Overview",slug:"/developer-guide/basic-mode/data-sources",custom_edit_url:null},c=void 0,l={unversionedId:"developer-guide/basic-mode/data-sources/index-data-sources",id:"developer-guide/basic-mode/data-sources/index-data-sources",title:"Basic mode - Data sources",description:"Trevas good practices",source:"@site/docs/developer-guide/basic-mode/data-sources/index-data-sources.mdx",sourceDirName:"developer-guide/basic-mode/data-sources",slug:"/developer-guide/basic-mode/data-sources",permalink:"/Trevas/developer-guide/basic-mode/data-sources",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1719441741,formattedLastUpdatedAt:"Jun 26, 2024",frontMatter:{id:"index-data-sources",title:"Basic mode - Data sources",sidebar_label:"Overview",slug:"/developer-guide/basic-mode/data-sources",custom_edit_url:null},sidebar:"docs",previous:{title:"Overview",permalink:"/Trevas/developer-guide/basic-mode"},next:{title:"JDBC",permalink:"/Trevas/developer-guide/basic-mode/data-sources/jdbc"}},n={},m=[{value:"Trevas good practices",id:"trevas-good-practices",level:3}],u={toc:m};function p(e){let{components:a,...t}=e;return(0,r.kt)("wrapper",(0,s.Z)({},u,t,{components:a,mdxType:"MDXLayout"}),(0,r.kt)("h3",{id:"trevas-good-practices"},"Trevas good practices"),(0,r.kt)("p",null,"The ",(0,r.kt)("a",{href:(0,d.Z)("/developer-guide/basic-mode/data-sources/json")},"JSON")," format is the only one allowing to store and manage VTL metadata when the Trevas engine is instantiated in basic mode."),(0,r.kt)("p",null,"It is thus strongly recommended to use this format."),(0,r.kt)("div",{className:"row"},(0,r.kt)("div",{className:"col"},(0,r.kt)(o.Z,{title:"JDBC",page:(0,d.Z)("/developer-guide/basic-mode/data-sources/jdbc"),mdxType:"Card"})),(0,r.kt)("div",{className:"col"},(0,r.kt)(o.Z,{title:"JSON",page:(0,d.Z)("/developer-guide/basic-mode/data-sources/json"),mdxType:"Card"})),(0,r.kt)("div",{className:"col"},(0,r.kt)(o.Z,{title:"Others",page:(0,d.Z)("/developer-guide/basic-mode/data-sources/others"),mdxType:"Card"}))))}p.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[672],{39308:(e,a,t)=>{t.d(a,{Z:()=>v});var s=t(67294),r=t(3905),d=t(84734);const o="riContainer_QAfm",i="riDescriptionShort_ogAL",c="riDetail_rDiW",l="riIcon_zSrR",n="riTitle__Mkd",m="riDescription_k_lG",u="riMore_lLbd";var p=t(86010);const v=e=>{const[a,t]=s.useState(!1);return s.createElement("a",{href:e.page,className:o},s.createElement("div",{className:i},s.createElement("div",{className:l},s.createElement("span",{className:"fe fe-zap"})),s.createElement("div",{className:c},s.createElement("div",{className:n},s.createElement("a",{href:e.page},e.title)),s.createElement("div",{className:m},e.description,s.Children.count(e.children)>0&&s.createElement("span",{className:(0,p.Z)(u,"fe","fe-more-horizontal"),onClick:()=>t(!a)})))),a&&s.createElement("div",{className:"ri-description-long"},s.createElement(r.Zo,{components:d.Z},e.children)))}},21721:(e,a,t)=>{t.r(a),t.d(a,{assets:()=>n,contentTitle:()=>c,default:()=>p,frontMatter:()=>i,metadata:()=>l,toc:()=>m});var s=t(87462),r=(t(67294),t(3905)),d=t(44996),o=t(39308);const i={id:"index-data-sources",title:"Basic mode - Data sources",sidebar_label:"Overview",slug:"/developer-guide/basic-mode/data-sources",custom_edit_url:null},c=void 0,l={unversionedId:"developer-guide/basic-mode/data-sources/index-data-sources",id:"developer-guide/basic-mode/data-sources/index-data-sources",title:"Basic mode - Data sources",description:"Trevas good practices",source:"@site/docs/developer-guide/basic-mode/data-sources/index-data-sources.mdx",sourceDirName:"developer-guide/basic-mode/data-sources",slug:"/developer-guide/basic-mode/data-sources",permalink:"/Trevas/developer-guide/basic-mode/data-sources",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1720593860,formattedLastUpdatedAt:"Jul 10, 2024",frontMatter:{id:"index-data-sources",title:"Basic mode - Data sources",sidebar_label:"Overview",slug:"/developer-guide/basic-mode/data-sources",custom_edit_url:null},sidebar:"docs",previous:{title:"Overview",permalink:"/Trevas/developer-guide/basic-mode"},next:{title:"JDBC",permalink:"/Trevas/developer-guide/basic-mode/data-sources/jdbc"}},n={},m=[{value:"Trevas good practices",id:"trevas-good-practices",level:3}],u={toc:m};function p(e){let{components:a,...t}=e;return(0,r.kt)("wrapper",(0,s.Z)({},u,t,{components:a,mdxType:"MDXLayout"}),(0,r.kt)("h3",{id:"trevas-good-practices"},"Trevas good practices"),(0,r.kt)("p",null,"The ",(0,r.kt)("a",{href:(0,d.Z)("/developer-guide/basic-mode/data-sources/json")},"JSON")," format is the only one allowing to store and manage VTL metadata when the Trevas engine is instantiated in basic mode."),(0,r.kt)("p",null,"It is thus strongly recommended to use this format."),(0,r.kt)("div",{className:"row"},(0,r.kt)("div",{className:"col"},(0,r.kt)(o.Z,{title:"JDBC",page:(0,d.Z)("/developer-guide/basic-mode/data-sources/jdbc"),mdxType:"Card"})),(0,r.kt)("div",{className:"col"},(0,r.kt)(o.Z,{title:"JSON",page:(0,d.Z)("/developer-guide/basic-mode/data-sources/json"),mdxType:"Card"})),(0,r.kt)("div",{className:"col"},(0,r.kt)(o.Z,{title:"Others",page:(0,d.Z)("/developer-guide/basic-mode/data-sources/others"),mdxType:"Card"}))))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/503f63c3.f210489f.js b/assets/js/503f63c3.8fb6ede7.js similarity index 99% rename from assets/js/503f63c3.f210489f.js rename to assets/js/503f63c3.8fb6ede7.js index fcd1fdc9c..2a0378653 100644 --- a/assets/js/503f63c3.f210489f.js +++ b/assets/js/503f63c3.8fb6ede7.js @@ -1 +1 @@ -"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[2342],{3905:(t,e,r)=>{r.d(e,{Zo:()=>d,kt:()=>N});var a=r(67294);function n(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function l(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,a)}return r}function i(t){for(var e=1;e=0||(n[r]=t[r]);return n}(t,e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(t);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}var o=a.createContext({}),m=function(t){var e=a.useContext(o),r=e;return t&&(r="function"==typeof t?t(e):i(i({},e),t)),r},d=function(t){var e=m(t.components);return a.createElement(o.Provider,{value:e},t.children)},c="mdxType",g={inlineCode:"code",wrapper:function(t){var e=t.children;return a.createElement(a.Fragment,{},e)}},u=a.forwardRef((function(t,e){var r=t.components,n=t.mdxType,l=t.originalType,o=t.parentName,d=p(t,["components","mdxType","originalType","parentName"]),c=m(r),u=n,N=c["".concat(o,".").concat(u)]||c[u]||g[u]||l;return r?a.createElement(N,i(i({ref:e},d),{},{components:r})):a.createElement(N,i({ref:e},d))}));function N(t,e){var r=arguments,n=e&&e.mdxType;if("string"==typeof t||n){var l=r.length,i=new Array(l);i[0]=u;var p={};for(var o in e)hasOwnProperty.call(e,o)&&(p[o]=e[o]);p.originalType=t,p[c]="string"==typeof t?t:n,i[1]=p;for(var m=2;m{r.r(e),r.d(e,{assets:()=>o,contentTitle:()=>i,default:()=>c,frontMatter:()=>l,metadata:()=>p,toc:()=>m});var a=r(87462),n=(r(67294),r(3905));const l={id:"numeric-operators",title:"VTL - Numeric operators",sidebar_label:"Numeric operators",slug:"/user-guide/coverage/numeric-operators",custom_edit_url:null},i=void 0,p={unversionedId:"user-guide/coverage/numeric-operators",id:"user-guide/coverage/numeric-operators",title:"VTL - Numeric operators",description:"| Name | Symbol | Number | Component | Dataset |",source:"@site/docs/user-guide/coverage/numeric-operators.mdx",sourceDirName:"user-guide/coverage",slug:"/user-guide/coverage/numeric-operators",permalink:"/Trevas/user-guide/coverage/numeric-operators",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1719441741,formattedLastUpdatedAt:"Jun 26, 2024",frontMatter:{id:"numeric-operators",title:"VTL - Numeric operators",sidebar_label:"Numeric operators",slug:"/user-guide/coverage/numeric-operators",custom_edit_url:null},sidebar:"docs",previous:{title:"String operators",permalink:"/Trevas/user-guide/coverage/string-operators"},next:{title:"Comparison operators",permalink:"/Trevas/user-guide/coverage/comparison-operators"}},o={},m=[],d={toc:m};function c(t){let{components:e,...r}=t;return(0,n.kt)("wrapper",(0,a.Z)({},d,r,{components:e,mdxType:"MDXLayout"}),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:"left"},"Symbol"),(0,n.kt)("th",{parentName:"tr",align:"center"},"Number"),(0,n.kt)("th",{parentName:"tr",align:"center"},"Component"),(0,n.kt)("th",{parentName:"tr",align:"center"},"Dataset"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Unary plus"),(0,n.kt)("td",{parentName:"tr",align:"left"},"+"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Unary minus"),(0,n.kt)("td",{parentName:"tr",align:"left"},"-"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Addition"),(0,n.kt)("td",{parentName:"tr",align:"left"},"+"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Subtraction"),(0,n.kt)("td",{parentName:"tr",align:"left"},"-"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Multiplication"),(0,n.kt)("td",{parentName:"tr",align:"left"},"*"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Division"),(0,n.kt)("td",{parentName:"tr",align:"left"},"/"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Concatenation"),(0,n.kt)("td",{parentName:"tr",align:"left"},"|","|"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Modulo"),(0,n.kt)("td",{parentName:"tr",align:"left"},"mod"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Rounding"),(0,n.kt)("td",{parentName:"tr",align:"left"},"round"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Truncation"),(0,n.kt)("td",{parentName:"tr",align:"left"},"trunc"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Ceiling"),(0,n.kt)("td",{parentName:"tr",align:"left"},"ceil"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Floor"),(0,n.kt)("td",{parentName:"tr",align:"left"},"floor"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Absolute value"),(0,n.kt)("td",{parentName:"tr",align:"left"},"abs"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Exponential"),(0,n.kt)("td",{parentName:"tr",align:"left"},"exp"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Natural logarithm"),(0,n.kt)("td",{parentName:"tr",align:"left"},"ln"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Power"),(0,n.kt)("td",{parentName:"tr",align:"left"},"power"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Logarithm"),(0,n.kt)("td",{parentName:"tr",align:"left"},"log"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Square root"),(0,n.kt)("td",{parentName:"tr",align:"left"},"sqrt"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")))))}c.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[2342],{3905:(t,e,r)=>{r.d(e,{Zo:()=>d,kt:()=>N});var a=r(67294);function n(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function l(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,a)}return r}function i(t){for(var e=1;e=0||(n[r]=t[r]);return n}(t,e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(t);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}var o=a.createContext({}),m=function(t){var e=a.useContext(o),r=e;return t&&(r="function"==typeof t?t(e):i(i({},e),t)),r},d=function(t){var e=m(t.components);return a.createElement(o.Provider,{value:e},t.children)},c="mdxType",g={inlineCode:"code",wrapper:function(t){var e=t.children;return a.createElement(a.Fragment,{},e)}},u=a.forwardRef((function(t,e){var r=t.components,n=t.mdxType,l=t.originalType,o=t.parentName,d=p(t,["components","mdxType","originalType","parentName"]),c=m(r),u=n,N=c["".concat(o,".").concat(u)]||c[u]||g[u]||l;return r?a.createElement(N,i(i({ref:e},d),{},{components:r})):a.createElement(N,i({ref:e},d))}));function N(t,e){var r=arguments,n=e&&e.mdxType;if("string"==typeof t||n){var l=r.length,i=new Array(l);i[0]=u;var p={};for(var o in e)hasOwnProperty.call(e,o)&&(p[o]=e[o]);p.originalType=t,p[c]="string"==typeof t?t:n,i[1]=p;for(var m=2;m{r.r(e),r.d(e,{assets:()=>o,contentTitle:()=>i,default:()=>c,frontMatter:()=>l,metadata:()=>p,toc:()=>m});var a=r(87462),n=(r(67294),r(3905));const l={id:"numeric-operators",title:"VTL - Numeric operators",sidebar_label:"Numeric operators",slug:"/user-guide/coverage/numeric-operators",custom_edit_url:null},i=void 0,p={unversionedId:"user-guide/coverage/numeric-operators",id:"user-guide/coverage/numeric-operators",title:"VTL - Numeric operators",description:"| Name | Symbol | Number | Component | Dataset |",source:"@site/docs/user-guide/coverage/numeric-operators.mdx",sourceDirName:"user-guide/coverage",slug:"/user-guide/coverage/numeric-operators",permalink:"/Trevas/user-guide/coverage/numeric-operators",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1720593860,formattedLastUpdatedAt:"Jul 10, 2024",frontMatter:{id:"numeric-operators",title:"VTL - Numeric operators",sidebar_label:"Numeric operators",slug:"/user-guide/coverage/numeric-operators",custom_edit_url:null},sidebar:"docs",previous:{title:"String operators",permalink:"/Trevas/user-guide/coverage/string-operators"},next:{title:"Comparison operators",permalink:"/Trevas/user-guide/coverage/comparison-operators"}},o={},m=[],d={toc:m};function c(t){let{components:e,...r}=t;return(0,n.kt)("wrapper",(0,a.Z)({},d,r,{components:e,mdxType:"MDXLayout"}),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:"left"},"Symbol"),(0,n.kt)("th",{parentName:"tr",align:"center"},"Number"),(0,n.kt)("th",{parentName:"tr",align:"center"},"Component"),(0,n.kt)("th",{parentName:"tr",align:"center"},"Dataset"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Unary plus"),(0,n.kt)("td",{parentName:"tr",align:"left"},"+"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Unary minus"),(0,n.kt)("td",{parentName:"tr",align:"left"},"-"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Addition"),(0,n.kt)("td",{parentName:"tr",align:"left"},"+"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Subtraction"),(0,n.kt)("td",{parentName:"tr",align:"left"},"-"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Multiplication"),(0,n.kt)("td",{parentName:"tr",align:"left"},"*"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Division"),(0,n.kt)("td",{parentName:"tr",align:"left"},"/"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Concatenation"),(0,n.kt)("td",{parentName:"tr",align:"left"},"|","|"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Modulo"),(0,n.kt)("td",{parentName:"tr",align:"left"},"mod"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Rounding"),(0,n.kt)("td",{parentName:"tr",align:"left"},"round"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Truncation"),(0,n.kt)("td",{parentName:"tr",align:"left"},"trunc"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Ceiling"),(0,n.kt)("td",{parentName:"tr",align:"left"},"ceil"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Floor"),(0,n.kt)("td",{parentName:"tr",align:"left"},"floor"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Absolute value"),(0,n.kt)("td",{parentName:"tr",align:"left"},"abs"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Exponential"),(0,n.kt)("td",{parentName:"tr",align:"left"},"exp"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Natural logarithm"),(0,n.kt)("td",{parentName:"tr",align:"left"},"ln"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Power"),(0,n.kt)("td",{parentName:"tr",align:"left"},"power"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Logarithm"),(0,n.kt)("td",{parentName:"tr",align:"left"},"log"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Square root"),(0,n.kt)("td",{parentName:"tr",align:"left"},"sqrt"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")))))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/554dbc72.94ccc495.js b/assets/js/554dbc72.5b0adbbf.js similarity index 79% rename from assets/js/554dbc72.94ccc495.js rename to assets/js/554dbc72.5b0adbbf.js index b4e01fab3..13c250e2e 100644 --- a/assets/js/554dbc72.94ccc495.js +++ b/assets/js/554dbc72.5b0adbbf.js @@ -1 +1 @@ -"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[6011],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>g});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function l(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var p=a.createContext({}),c=function(e){var t=a.useContext(p),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},u=function(e){var t=c(e.components);return a.createElement(p.Provider,{value:t},e.children)},d="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},s=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,p=e.parentName,u=i(e,["components","mdxType","originalType","parentName"]),d=c(r),s=n,g=d["".concat(p,".").concat(s)]||d[s]||m[s]||o;return r?a.createElement(g,l(l({ref:t},u),{},{components:r})):a.createElement(g,l({ref:t},u))}));function g(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,l=new Array(o);l[0]=s;var i={};for(var p in t)hasOwnProperty.call(t,p)&&(i[p]=t[p]);i.originalType=e,i[d]="string"==typeof e?e:n,l[1]=i;for(var c=2;c{r.r(t),r.d(t,{assets:()=>p,contentTitle:()=>l,default:()=>d,frontMatter:()=>o,metadata:()=>i,toc:()=>c});var a=r(87462),n=(r(67294),r(3905));const o={id:"clause-operators",title:"VTL - Clause operators",sidebar_label:"Clause operators",slug:"/user-guide/coverage/clause-operators",custom_edit_url:null},l=void 0,i={unversionedId:"user-guide/coverage/clause-operators",id:"user-guide/coverage/clause-operators",title:"VTL - Clause operators",description:"| Name | Symbol | InMemory | Spark |",source:"@site/docs/user-guide/coverage/clause-operators.mdx",sourceDirName:"user-guide/coverage",slug:"/user-guide/coverage/clause-operators",permalink:"/Trevas/user-guide/coverage/clause-operators",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1719441741,formattedLastUpdatedAt:"Jun 26, 2024",frontMatter:{id:"clause-operators",title:"VTL - Clause operators",sidebar_label:"Clause operators",slug:"/user-guide/coverage/clause-operators",custom_edit_url:null},sidebar:"docs",previous:{title:"Conditional operators",permalink:"/Trevas/user-guide/coverage/conditional-operators"},next:{title:"Overview",permalink:"/Trevas/developer-guide"}},p={},c=[],u={toc:c};function d(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,a.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:"left"},"Symbol"),(0,n.kt)("th",{parentName:"tr",align:"center"},"InMemory"),(0,n.kt)("th",{parentName:"tr",align:"center"},"Spark"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Filtering Data Points"),(0,n.kt)("td",{parentName:"tr",align:"left"},"filter"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Calculation of a Component"),(0,n.kt)("td",{parentName:"tr",align:"left"},"calc"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Aggregation"),(0,n.kt)("td",{parentName:"tr",align:"left"},"aggr"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u274c"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Maintaining Components"),(0,n.kt)("td",{parentName:"tr",align:"left"},"keep"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Removal of Components"),(0,n.kt)("td",{parentName:"tr",align:"left"},"drop"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Change of Component name"),(0,n.kt)("td",{parentName:"tr",align:"left"},"rename"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Pivoting"),(0,n.kt)("td",{parentName:"tr",align:"left"},"pivot"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u274c"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u274c")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Unpivoting"),(0,n.kt)("td",{parentName:"tr",align:"left"},"unpivot"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u274c"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u274c")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Subspace"),(0,n.kt)("td",{parentName:"tr",align:"left"},"sub"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u274c"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u274c")))))}d.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[6011],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>g});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function o(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var p=a.createContext({}),c=function(e){var t=a.useContext(p),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},u=function(e){var t=c(e.components);return a.createElement(p.Provider,{value:t},e.children)},d="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},s=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,l=e.originalType,p=e.parentName,u=i(e,["components","mdxType","originalType","parentName"]),d=c(r),s=n,g=d["".concat(p,".").concat(s)]||d[s]||m[s]||l;return r?a.createElement(g,o(o({ref:t},u),{},{components:r})):a.createElement(g,o({ref:t},u))}));function g(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=r.length,o=new Array(l);o[0]=s;var i={};for(var p in t)hasOwnProperty.call(t,p)&&(i[p]=t[p]);i.originalType=e,i[d]="string"==typeof e?e:n,o[1]=i;for(var c=2;c{r.r(t),r.d(t,{assets:()=>p,contentTitle:()=>o,default:()=>d,frontMatter:()=>l,metadata:()=>i,toc:()=>c});var a=r(87462),n=(r(67294),r(3905));const l={id:"clause-operators",title:"VTL - Clause operators",sidebar_label:"Clause operators",slug:"/user-guide/coverage/clause-operators",custom_edit_url:null},o=void 0,i={unversionedId:"user-guide/coverage/clause-operators",id:"user-guide/coverage/clause-operators",title:"VTL - Clause operators",description:"| Name | Symbol | InMemory | Spark |",source:"@site/docs/user-guide/coverage/clause-operators.mdx",sourceDirName:"user-guide/coverage",slug:"/user-guide/coverage/clause-operators",permalink:"/Trevas/user-guide/coverage/clause-operators",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1720593860,formattedLastUpdatedAt:"Jul 10, 2024",frontMatter:{id:"clause-operators",title:"VTL - Clause operators",sidebar_label:"Clause operators",slug:"/user-guide/coverage/clause-operators",custom_edit_url:null},sidebar:"docs",previous:{title:"Conditional operators",permalink:"/Trevas/user-guide/coverage/conditional-operators"},next:{title:"Overview",permalink:"/Trevas/developer-guide"}},p={},c=[],u={toc:c};function d(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,a.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:"left"},"Symbol"),(0,n.kt)("th",{parentName:"tr",align:"center"},"InMemory"),(0,n.kt)("th",{parentName:"tr",align:"center"},"Spark"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Filtering Data Points"),(0,n.kt)("td",{parentName:"tr",align:"left"},"filter"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Calculation of a Component"),(0,n.kt)("td",{parentName:"tr",align:"left"},"calc"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Aggregation"),(0,n.kt)("td",{parentName:"tr",align:"left"},"aggr"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u274c"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Maintaining Components"),(0,n.kt)("td",{parentName:"tr",align:"left"},"keep"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Removal of Components"),(0,n.kt)("td",{parentName:"tr",align:"left"},"drop"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Change of Component name"),(0,n.kt)("td",{parentName:"tr",align:"left"},"rename"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Pivoting"),(0,n.kt)("td",{parentName:"tr",align:"left"},"pivot"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u274c"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u274c")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Unpivoting"),(0,n.kt)("td",{parentName:"tr",align:"left"},"unpivot"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u274c"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u274c")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Subspace"),(0,n.kt)("td",{parentName:"tr",align:"left"},"sub"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u274c"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u274c")))))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/5de07297.ac244279.js b/assets/js/5de07297.d39680c8.js similarity index 96% rename from assets/js/5de07297.ac244279.js rename to assets/js/5de07297.d39680c8.js index 3c181f00e..56921f5e5 100644 --- a/assets/js/5de07297.ac244279.js +++ b/assets/js/5de07297.d39680c8.js @@ -1 +1 @@ -"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[346],{39308:(e,t,s)=>{s.d(t,{Z:()=>v});var a=s(67294),i=s(3905),o=s(84734);const r="riContainer_QAfm",d="riDescriptionShort_ogAL",l="riDetail_rDiW",n="riIcon_zSrR",c="riTitle__Mkd",m="riDescription_k_lG",u="riMore_lLbd";var p=s(86010);const v=e=>{const[t,s]=a.useState(!1);return a.createElement("a",{href:e.page,className:r},a.createElement("div",{className:d},a.createElement("div",{className:n},a.createElement("span",{className:"fe fe-zap"})),a.createElement("div",{className:l},a.createElement("div",{className:c},a.createElement("a",{href:e.page},e.title)),a.createElement("div",{className:m},e.description,a.Children.count(e.children)>0&&a.createElement("span",{className:(0,p.Z)(u,"fe","fe-more-horizontal"),onClick:()=>s(!t)})))),t&&a.createElement("div",{className:"ri-description-long"},a.createElement(i.Zo,{components:o.Z},e.children)))}},51741:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>l,default:()=>p,frontMatter:()=>d,metadata:()=>n,toc:()=>m});var a=s(87462),i=(s(67294),s(3905)),o=s(44996),r=s(39308);const d={id:"index-modules",title:"Trevas modules",sidebar_label:"Overview",slug:"/modules",custom_edit_url:null},l=void 0,n={unversionedId:"introduction/modules/index-modules",id:"introduction/modules/index-modules",title:"Trevas modules",description:"{s.d(t,{Z:()=>v});var a=s(67294),i=s(3905),o=s(84734);const r="riContainer_QAfm",d="riDescriptionShort_ogAL",l="riDetail_rDiW",n="riIcon_zSrR",c="riTitle__Mkd",m="riDescription_k_lG",u="riMore_lLbd";var p=s(86010);const v=e=>{const[t,s]=a.useState(!1);return a.createElement("a",{href:e.page,className:r},a.createElement("div",{className:d},a.createElement("div",{className:n},a.createElement("span",{className:"fe fe-zap"})),a.createElement("div",{className:l},a.createElement("div",{className:c},a.createElement("a",{href:e.page},e.title)),a.createElement("div",{className:m},e.description,a.Children.count(e.children)>0&&a.createElement("span",{className:(0,p.Z)(u,"fe","fe-more-horizontal"),onClick:()=>s(!t)})))),t&&a.createElement("div",{className:"ri-description-long"},a.createElement(i.Zo,{components:o.Z},e.children)))}},51741:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>l,default:()=>p,frontMatter:()=>d,metadata:()=>n,toc:()=>m});var a=s(87462),i=(s(67294),s(3905)),o=s(44996),r=s(39308);const d={id:"index-modules",title:"Trevas modules",sidebar_label:"Overview",slug:"/modules",custom_edit_url:null},l=void 0,n={unversionedId:"introduction/modules/index-modules",id:"introduction/modules/index-modules",title:"Trevas modules",description:"{t.d(r,{Zo:()=>u,kt:()=>m});var a=t(67294);function n(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function i(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);r&&(a=a.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,a)}return t}function o(e){for(var r=1;r=0||(n[t]=e[t]);return n}(e,r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}var l=a.createContext({}),g=function(e){var r=a.useContext(l),t=r;return e&&(t="function"==typeof e?e(r):o(o({},r),e)),t},u=function(e){var r=g(e.components);return a.createElement(l.Provider,{value:r},e.children)},p="mdxType",s={inlineCode:"code",wrapper:function(e){var r=e.children;return a.createElement(a.Fragment,{},r)}},d=a.forwardRef((function(e,r){var t=e.components,n=e.mdxType,i=e.originalType,l=e.parentName,u=c(e,["components","mdxType","originalType","parentName"]),p=g(t),d=n,m=p["".concat(l,".").concat(d)]||p[d]||s[d]||i;return t?a.createElement(m,o(o({ref:r},u),{},{components:t})):a.createElement(m,o({ref:r},u))}));function m(e,r){var t=arguments,n=r&&r.mdxType;if("string"==typeof e||n){var i=t.length,o=new Array(i);o[0]=d;var c={};for(var l in r)hasOwnProperty.call(r,l)&&(c[l]=r[l]);c.originalType=e,c[p]="string"==typeof e?e:n,o[1]=c;for(var g=2;g{t.r(r),t.d(r,{assets:()=>l,contentTitle:()=>o,default:()=>p,frontMatter:()=>i,metadata:()=>c,toc:()=>g});var a=t(87462),n=(t(67294),t(3905));const i={id:"hierarchical-aggregation",title:"VTL - Hierarchical aggregation",sidebar_label:"Hierarchical aggregation",slug:"/user-guide/coverage/hierarchical-aggregation",custom_edit_url:null},o=void 0,c={unversionedId:"user-guide/coverage/hierarchical-aggregation",id:"user-guide/coverage/hierarchical-aggregation",title:"VTL - Hierarchical aggregation",description:"| Name | Symbol | InMemory | Spark |",source:"@site/docs/user-guide/coverage/hierarchical-aggregation.mdx",sourceDirName:"user-guide/coverage",slug:"/user-guide/coverage/hierarchical-aggregation",permalink:"/Trevas/user-guide/coverage/hierarchical-aggregation",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1719441741,formattedLastUpdatedAt:"Jun 26, 2024",frontMatter:{id:"hierarchical-aggregation",title:"VTL - Hierarchical aggregation",sidebar_label:"Hierarchical aggregation",slug:"/user-guide/coverage/hierarchical-aggregation",custom_edit_url:null},sidebar:"docs",previous:{title:"Set operators",permalink:"/Trevas/user-guide/coverage/set-operators"},next:{title:"Aggregate operators",permalink:"/Trevas/user-guide/coverage/aggregate-operators"}},l={},g=[],u={toc:g};function p(e){let{components:r,...t}=e;return(0,n.kt)("wrapper",(0,a.Z)({},u,t,{components:r,mdxType:"MDXLayout"}),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:"left"},"Symbol"),(0,n.kt)("th",{parentName:"tr",align:"center"},"InMemory"),(0,n.kt)("th",{parentName:"tr",align:null},"Spark"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Hierarchical roll-up"),(0,n.kt)("td",{parentName:"tr",align:"left"},"hierarchy"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u274c"),(0,n.kt)("td",{parentName:"tr",align:null},"\u274c")))))}p.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[8823],{3905:(e,r,t)=>{t.d(r,{Zo:()=>u,kt:()=>m});var a=t(67294);function n(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function i(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);r&&(a=a.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,a)}return t}function o(e){for(var r=1;r=0||(n[t]=e[t]);return n}(e,r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}var l=a.createContext({}),g=function(e){var r=a.useContext(l),t=r;return e&&(t="function"==typeof e?e(r):o(o({},r),e)),t},u=function(e){var r=g(e.components);return a.createElement(l.Provider,{value:r},e.children)},p="mdxType",s={inlineCode:"code",wrapper:function(e){var r=e.children;return a.createElement(a.Fragment,{},r)}},d=a.forwardRef((function(e,r){var t=e.components,n=e.mdxType,i=e.originalType,l=e.parentName,u=c(e,["components","mdxType","originalType","parentName"]),p=g(t),d=n,m=p["".concat(l,".").concat(d)]||p[d]||s[d]||i;return t?a.createElement(m,o(o({ref:r},u),{},{components:t})):a.createElement(m,o({ref:r},u))}));function m(e,r){var t=arguments,n=r&&r.mdxType;if("string"==typeof e||n){var i=t.length,o=new Array(i);o[0]=d;var c={};for(var l in r)hasOwnProperty.call(r,l)&&(c[l]=r[l]);c.originalType=e,c[p]="string"==typeof e?e:n,o[1]=c;for(var g=2;g{t.r(r),t.d(r,{assets:()=>l,contentTitle:()=>o,default:()=>p,frontMatter:()=>i,metadata:()=>c,toc:()=>g});var a=t(87462),n=(t(67294),t(3905));const i={id:"hierarchical-aggregation",title:"VTL - Hierarchical aggregation",sidebar_label:"Hierarchical aggregation",slug:"/user-guide/coverage/hierarchical-aggregation",custom_edit_url:null},o=void 0,c={unversionedId:"user-guide/coverage/hierarchical-aggregation",id:"user-guide/coverage/hierarchical-aggregation",title:"VTL - Hierarchical aggregation",description:"| Name | Symbol | InMemory | Spark |",source:"@site/docs/user-guide/coverage/hierarchical-aggregation.mdx",sourceDirName:"user-guide/coverage",slug:"/user-guide/coverage/hierarchical-aggregation",permalink:"/Trevas/user-guide/coverage/hierarchical-aggregation",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1720593860,formattedLastUpdatedAt:"Jul 10, 2024",frontMatter:{id:"hierarchical-aggregation",title:"VTL - Hierarchical aggregation",sidebar_label:"Hierarchical aggregation",slug:"/user-guide/coverage/hierarchical-aggregation",custom_edit_url:null},sidebar:"docs",previous:{title:"Set operators",permalink:"/Trevas/user-guide/coverage/set-operators"},next:{title:"Aggregate operators",permalink:"/Trevas/user-guide/coverage/aggregate-operators"}},l={},g=[],u={toc:g};function p(e){let{components:r,...t}=e;return(0,n.kt)("wrapper",(0,a.Z)({},u,t,{components:r,mdxType:"MDXLayout"}),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:"left"},"Symbol"),(0,n.kt)("th",{parentName:"tr",align:"center"},"InMemory"),(0,n.kt)("th",{parentName:"tr",align:null},"Spark"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Hierarchical roll-up"),(0,n.kt)("td",{parentName:"tr",align:"left"},"hierarchy"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u274c"),(0,n.kt)("td",{parentName:"tr",align:null},"\u274c")))))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/7684ca26.6044149a.js b/assets/js/7684ca26.74cfa7bc.js similarity index 96% rename from assets/js/7684ca26.6044149a.js rename to assets/js/7684ca26.74cfa7bc.js index b0f8c023a..8af13e93d 100644 --- a/assets/js/7684ca26.6044149a.js +++ b/assets/js/7684ca26.74cfa7bc.js @@ -1 +1 @@ -"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[4674],{3905:(e,t,n)=>{n.d(t,{Zo:()=>s,kt:()=>f});var r=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var c=r.createContext({}),u=function(e){var t=r.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},s=function(e){var t=u(e.components);return r.createElement(c.Provider,{value:t},e.children)},p="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,a=e.originalType,c=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),p=u(n),m=o,f=p["".concat(c,".").concat(m)]||p[m]||d[m]||a;return n?r.createElement(f,i(i({ref:t},s),{},{components:n})):r.createElement(f,i({ref:t},s))}));function f(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=n.length,i=new Array(a);i[0]=m;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l[p]="string"==typeof e?e:o,i[1]=l;for(var u=2;u{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>p,frontMatter:()=>a,metadata:()=>l,toc:()=>u});var r=n(87462),o=(n(67294),n(3905));const a={id:"engine",title:"VTL Engine",sidebar_label:"VTL Engine",slug:"/modules/engine",custom_edit_url:null},i=void 0,l={unversionedId:"introduction/modules/engine",id:"introduction/modules/engine",title:"VTL Engine",description:"Maven - Vtl Engine",source:"@site/docs/introduction/modules/engine.mdx",sourceDirName:"introduction/modules",slug:"/modules/engine",permalink:"/Trevas/modules/engine",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1719441741,formattedLastUpdatedAt:"Jun 26, 2024",frontMatter:{id:"engine",title:"VTL Engine",sidebar_label:"VTL Engine",slug:"/modules/engine",custom_edit_url:null},sidebar:"docs",previous:{title:"Overview",permalink:"/Trevas/modules"},next:{title:"VTL Parser",permalink:"/Trevas/modules/parser"}},c={},u=[],s={toc:u};function p(e){let{components:t,...n}=e;return(0,o.kt)("wrapper",(0,r.Z)({},s,n,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,(0,o.kt)("a",{parentName:"p",href:"https://maven-badges.herokuapp.com/maven-central/fr.insee.trevas/vtl-engine"},(0,o.kt)("img",{parentName:"a",src:"https://maven-badges.herokuapp.com/maven-central/fr.insee.trevas/vtl-engine/badge.svg",alt:"Maven - Vtl Engine"}))),(0,o.kt)("p",null,"Execution engine and its base Java implementation."))}p.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[4674],{3905:(e,t,n)=>{n.d(t,{Zo:()=>s,kt:()=>f});var r=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var c=r.createContext({}),u=function(e){var t=r.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},s=function(e){var t=u(e.components);return r.createElement(c.Provider,{value:t},e.children)},p="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,a=e.originalType,c=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),p=u(n),m=o,f=p["".concat(c,".").concat(m)]||p[m]||d[m]||a;return n?r.createElement(f,i(i({ref:t},s),{},{components:n})):r.createElement(f,i({ref:t},s))}));function f(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=n.length,i=new Array(a);i[0]=m;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l[p]="string"==typeof e?e:o,i[1]=l;for(var u=2;u{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>p,frontMatter:()=>a,metadata:()=>l,toc:()=>u});var r=n(87462),o=(n(67294),n(3905));const a={id:"engine",title:"VTL Engine",sidebar_label:"VTL Engine",slug:"/modules/engine",custom_edit_url:null},i=void 0,l={unversionedId:"introduction/modules/engine",id:"introduction/modules/engine",title:"VTL Engine",description:"Maven - Vtl Engine",source:"@site/docs/introduction/modules/engine.mdx",sourceDirName:"introduction/modules",slug:"/modules/engine",permalink:"/Trevas/modules/engine",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1720593860,formattedLastUpdatedAt:"Jul 10, 2024",frontMatter:{id:"engine",title:"VTL Engine",sidebar_label:"VTL Engine",slug:"/modules/engine",custom_edit_url:null},sidebar:"docs",previous:{title:"Overview",permalink:"/Trevas/modules"},next:{title:"VTL Parser",permalink:"/Trevas/modules/parser"}},c={},u=[],s={toc:u};function p(e){let{components:t,...n}=e;return(0,o.kt)("wrapper",(0,r.Z)({},s,n,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,(0,o.kt)("a",{parentName:"p",href:"https://maven-badges.herokuapp.com/maven-central/fr.insee.trevas/vtl-engine"},(0,o.kt)("img",{parentName:"a",src:"https://maven-badges.herokuapp.com/maven-central/fr.insee.trevas/vtl-engine/badge.svg",alt:"Maven - Vtl Engine"}))),(0,o.kt)("p",null,"Execution engine and its base Java implementation."))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/8150d321.ed811856.js b/assets/js/8150d321.cbfe11f8.js similarity index 98% rename from assets/js/8150d321.ed811856.js rename to assets/js/8150d321.cbfe11f8.js index 95872d024..4c77c93fe 100644 --- a/assets/js/8150d321.ed811856.js +++ b/assets/js/8150d321.cbfe11f8.js @@ -1 +1 @@ -"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[1449],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>g});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function l(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var i=a.createContext({}),s=function(e){var t=a.useContext(i),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},u=function(e){var t=s(e.components);return a.createElement(i.Provider,{value:t},e.children)},c="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,i=e.parentName,u=p(e,["components","mdxType","originalType","parentName"]),c=s(r),m=n,g=c["".concat(i,".").concat(m)]||c[m]||d[m]||o;return r?a.createElement(g,l(l({ref:t},u),{},{components:r})):a.createElement(g,l({ref:t},u))}));function g(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,l=new Array(o);l[0]=m;var p={};for(var i in t)hasOwnProperty.call(t,i)&&(p[i]=t[i]);p.originalType=e,p[c]="string"==typeof e?e:n,l[1]=p;for(var s=2;s{r.r(t),r.d(t,{assets:()=>i,contentTitle:()=>l,default:()=>c,frontMatter:()=>o,metadata:()=>p,toc:()=>s});var a=r(87462),n=(r(67294),r(3905));const o={id:"general-operators",title:"VTL - General purpose operators",sidebar_label:"General purpose operators",slug:"/user-guide/coverage/general-operators",custom_edit_url:null},l=void 0,p={unversionedId:"user-guide/coverage/general-operators",id:"user-guide/coverage/general-operators",title:"VTL - General purpose operators",description:"| Name | Symbol | Supported |",source:"@site/docs/user-guide/coverage/general-operators.mdx",sourceDirName:"user-guide/coverage",slug:"/user-guide/coverage/general-operators",permalink:"/Trevas/user-guide/coverage/general-operators",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1719441741,formattedLastUpdatedAt:"Jun 26, 2024",frontMatter:{id:"general-operators",title:"VTL - General purpose operators",sidebar_label:"General purpose operators",slug:"/user-guide/coverage/general-operators",custom_edit_url:null},sidebar:"docs",previous:{title:"Overview",permalink:"/Trevas/user-guide/coverage"},next:{title:"Join operators",permalink:"/Trevas/user-guide/coverage/join-operators"}},i={},s=[],u={toc:s};function c(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,a.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:"left"},"Symbol"),(0,n.kt)("th",{parentName:"tr",align:"center"},"Supported"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Parentheses"),(0,n.kt)("td",{parentName:"tr",align:"left"},"( )"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Persistent assignment"),(0,n.kt)("td",{parentName:"tr",align:"left"},"<-"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Temporary assignment"),(0,n.kt)("td",{parentName:"tr",align:"left"},":="),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Membership"),(0,n.kt)("td",{parentName:"tr",align:"left"},"#"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"User-defined operator call"),(0,n.kt)("td",{parentName:"tr",align:"left"}),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Evaluation of an external routine"),(0,n.kt)("td",{parentName:"tr",align:"left"},"eval"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u274c")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Type conversion (string, integer, double, boolean)"),(0,n.kt)("td",{parentName:"tr",align:"left"},"cast"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Type conversion (others)"),(0,n.kt)("td",{parentName:"tr",align:"left"},"cast"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u274c")))))}c.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[1449],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>g});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function l(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var i=a.createContext({}),s=function(e){var t=a.useContext(i),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},u=function(e){var t=s(e.components);return a.createElement(i.Provider,{value:t},e.children)},c="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,i=e.parentName,u=p(e,["components","mdxType","originalType","parentName"]),c=s(r),m=n,g=c["".concat(i,".").concat(m)]||c[m]||d[m]||o;return r?a.createElement(g,l(l({ref:t},u),{},{components:r})):a.createElement(g,l({ref:t},u))}));function g(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,l=new Array(o);l[0]=m;var p={};for(var i in t)hasOwnProperty.call(t,i)&&(p[i]=t[i]);p.originalType=e,p[c]="string"==typeof e?e:n,l[1]=p;for(var s=2;s{r.r(t),r.d(t,{assets:()=>i,contentTitle:()=>l,default:()=>c,frontMatter:()=>o,metadata:()=>p,toc:()=>s});var a=r(87462),n=(r(67294),r(3905));const o={id:"general-operators",title:"VTL - General purpose operators",sidebar_label:"General purpose operators",slug:"/user-guide/coverage/general-operators",custom_edit_url:null},l=void 0,p={unversionedId:"user-guide/coverage/general-operators",id:"user-guide/coverage/general-operators",title:"VTL - General purpose operators",description:"| Name | Symbol | Supported |",source:"@site/docs/user-guide/coverage/general-operators.mdx",sourceDirName:"user-guide/coverage",slug:"/user-guide/coverage/general-operators",permalink:"/Trevas/user-guide/coverage/general-operators",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1720593860,formattedLastUpdatedAt:"Jul 10, 2024",frontMatter:{id:"general-operators",title:"VTL - General purpose operators",sidebar_label:"General purpose operators",slug:"/user-guide/coverage/general-operators",custom_edit_url:null},sidebar:"docs",previous:{title:"Overview",permalink:"/Trevas/user-guide/coverage"},next:{title:"Join operators",permalink:"/Trevas/user-guide/coverage/join-operators"}},i={},s=[],u={toc:s};function c(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,a.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:"left"},"Symbol"),(0,n.kt)("th",{parentName:"tr",align:"center"},"Supported"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Parentheses"),(0,n.kt)("td",{parentName:"tr",align:"left"},"( )"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Persistent assignment"),(0,n.kt)("td",{parentName:"tr",align:"left"},"<-"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Temporary assignment"),(0,n.kt)("td",{parentName:"tr",align:"left"},":="),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Membership"),(0,n.kt)("td",{parentName:"tr",align:"left"},"#"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"User-defined operator call"),(0,n.kt)("td",{parentName:"tr",align:"left"}),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Evaluation of an external routine"),(0,n.kt)("td",{parentName:"tr",align:"left"},"eval"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u274c")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Type conversion (string, integer, double, boolean)"),(0,n.kt)("td",{parentName:"tr",align:"left"},"cast"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Type conversion (others)"),(0,n.kt)("td",{parentName:"tr",align:"left"},"cast"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u274c")))))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/872dffe5.8c6a1f67.js b/assets/js/872dffe5.adcc65b8.js similarity index 97% rename from assets/js/872dffe5.8c6a1f67.js rename to assets/js/872dffe5.adcc65b8.js index 226d02c8b..90f8516ec 100644 --- a/assets/js/872dffe5.8c6a1f67.js +++ b/assets/js/872dffe5.adcc65b8.js @@ -1 +1 @@ -"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[5733],{3905:(e,t,r)=>{r.d(t,{Zo:()=>s,kt:()=>g});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var c=n.createContext({}),p=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},s=function(e){var t=p(e.components);return n.createElement(c.Provider,{value:t},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,c=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),u=p(r),m=a,g=u["".concat(c,".").concat(m)]||u[m]||d[m]||o;return r?n.createElement(g,i(i({ref:t},s),{},{components:r})):n.createElement(g,i({ref:t},s))}));function g(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,i=new Array(o);i[0]=m;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l[u]="string"==typeof e?e:a,i[1]=l;for(var p=2;p{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>u,frontMatter:()=>o,metadata:()=>l,toc:()=>p});var n=r(87462),a=(r(67294),r(3905));const o={id:"conditional-operators",title:"VTL - Conditional operators",sidebar_label:"Conditional operators",slug:"/user-guide/coverage/conditional-operators",custom_edit_url:null},i=void 0,l={unversionedId:"user-guide/coverage/conditional-operators",id:"user-guide/coverage/conditional-operators",title:"VTL - Conditional operators",description:"| Name | Symbol | Boolean | Component | Dataset |",source:"@site/docs/user-guide/coverage/conditional-operators.mdx",sourceDirName:"user-guide/coverage",slug:"/user-guide/coverage/conditional-operators",permalink:"/Trevas/user-guide/coverage/conditional-operators",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1719441741,formattedLastUpdatedAt:"Jun 26, 2024",frontMatter:{id:"conditional-operators",title:"VTL - Conditional operators",sidebar_label:"Conditional operators",slug:"/user-guide/coverage/conditional-operators",custom_edit_url:null},sidebar:"docs",previous:{title:"Data validation operators",permalink:"/Trevas/user-guide/coverage/data-validation-operators"},next:{title:"Clause operators",permalink:"/Trevas/user-guide/coverage/clause-operators"}},c={},p=[],s={toc:p};function u(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},s,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Name"),(0,a.kt)("th",{parentName:"tr",align:"left"},"Symbol"),(0,a.kt)("th",{parentName:"tr",align:"center"},"Boolean"),(0,a.kt)("th",{parentName:"tr",align:"center"},"Component"),(0,a.kt)("th",{parentName:"tr",align:"center"},"Dataset"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"If Then Else"),(0,a.kt)("td",{parentName:"tr",align:"left"},"if-then-else"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Nvl"),(0,a.kt)("td",{parentName:"tr",align:"left"},"nvl"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")))))}u.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[5733],{3905:(e,t,r)=>{r.d(t,{Zo:()=>s,kt:()=>g});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var c=n.createContext({}),p=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},s=function(e){var t=p(e.components);return n.createElement(c.Provider,{value:t},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,c=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),u=p(r),m=a,g=u["".concat(c,".").concat(m)]||u[m]||d[m]||o;return r?n.createElement(g,i(i({ref:t},s),{},{components:r})):n.createElement(g,i({ref:t},s))}));function g(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,i=new Array(o);i[0]=m;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l[u]="string"==typeof e?e:a,i[1]=l;for(var p=2;p{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>u,frontMatter:()=>o,metadata:()=>l,toc:()=>p});var n=r(87462),a=(r(67294),r(3905));const o={id:"conditional-operators",title:"VTL - Conditional operators",sidebar_label:"Conditional operators",slug:"/user-guide/coverage/conditional-operators",custom_edit_url:null},i=void 0,l={unversionedId:"user-guide/coverage/conditional-operators",id:"user-guide/coverage/conditional-operators",title:"VTL - Conditional operators",description:"| Name | Symbol | Boolean | Component | Dataset |",source:"@site/docs/user-guide/coverage/conditional-operators.mdx",sourceDirName:"user-guide/coverage",slug:"/user-guide/coverage/conditional-operators",permalink:"/Trevas/user-guide/coverage/conditional-operators",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1720593860,formattedLastUpdatedAt:"Jul 10, 2024",frontMatter:{id:"conditional-operators",title:"VTL - Conditional operators",sidebar_label:"Conditional operators",slug:"/user-guide/coverage/conditional-operators",custom_edit_url:null},sidebar:"docs",previous:{title:"Data validation operators",permalink:"/Trevas/user-guide/coverage/data-validation-operators"},next:{title:"Clause operators",permalink:"/Trevas/user-guide/coverage/clause-operators"}},c={},p=[],s={toc:p};function u(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},s,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Name"),(0,a.kt)("th",{parentName:"tr",align:"left"},"Symbol"),(0,a.kt)("th",{parentName:"tr",align:"center"},"Boolean"),(0,a.kt)("th",{parentName:"tr",align:"center"},"Component"),(0,a.kt)("th",{parentName:"tr",align:"center"},"Dataset"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"If Then Else"),(0,a.kt)("td",{parentName:"tr",align:"left"},"if-then-else"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Nvl"),(0,a.kt)("td",{parentName:"tr",align:"left"},"nvl"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")))))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/8fd96d3a.2121c9b4.js b/assets/js/8fd96d3a.b786a199.js similarity index 99% rename from assets/js/8fd96d3a.2121c9b4.js rename to assets/js/8fd96d3a.b786a199.js index 3ef256063..61345995e 100644 --- a/assets/js/8fd96d3a.2121c9b4.js +++ b/assets/js/8fd96d3a.b786a199.js @@ -1 +1 @@ -"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[7872],{3905:(t,e,a)=>{a.d(e,{Zo:()=>u,kt:()=>N});var n=a(67294);function r(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function l(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.push.apply(a,n)}return a}function i(t){for(var e=1;e=0||(r[a]=t[a]);return r}(t,e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,a)&&(r[a]=t[a])}return r}var d=n.createContext({}),m=function(t){var e=n.useContext(d),a=e;return t&&(a="function"==typeof t?t(e):i(i({},e),t)),a},u=function(t){var e=m(t.components);return n.createElement(d.Provider,{value:e},t.children)},o="mdxType",k={inlineCode:"code",wrapper:function(t){var e=t.children;return n.createElement(n.Fragment,{},e)}},s=n.forwardRef((function(t,e){var a=t.components,r=t.mdxType,l=t.originalType,d=t.parentName,u=p(t,["components","mdxType","originalType","parentName"]),o=m(a),s=r,N=o["".concat(d,".").concat(s)]||o[s]||k[s]||l;return a?n.createElement(N,i(i({ref:e},u),{},{components:a})):n.createElement(N,i({ref:e},u))}));function N(t,e){var a=arguments,r=e&&e.mdxType;if("string"==typeof t||r){var l=a.length,i=new Array(l);i[0]=s;var p={};for(var d in e)hasOwnProperty.call(e,d)&&(p[d]=e[d]);p.originalType=t,p[o]="string"==typeof t?t:r,i[1]=p;for(var m=2;m{a.r(e),a.d(e,{assets:()=>d,contentTitle:()=>i,default:()=>o,frontMatter:()=>l,metadata:()=>p,toc:()=>m});var n=a(87462),r=(a(67294),a(3905));const l={id:"index-vtl",title:"VTL",sidebar_label:"Overview",slug:"/user-guide/vtl",custom_edit_url:null},i=void 0,p={unversionedId:"user-guide/vtl/index-vtl",id:"user-guide/vtl/index-vtl",title:"VTL",description:"Documentation",source:"@site/docs/user-guide/vtl/index-vtl.mdx",sourceDirName:"user-guide/vtl",slug:"/user-guide/vtl",permalink:"/Trevas/user-guide/vtl",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1719441741,formattedLastUpdatedAt:"Jun 26, 2024",frontMatter:{id:"index-vtl",title:"VTL",sidebar_label:"Overview",slug:"/user-guide/vtl",custom_edit_url:null},sidebar:"docs",previous:{title:"v1.x.x",permalink:"/Trevas/releases/1.x.x"},next:{title:"Overview",permalink:"/Trevas/user-guide/vtl/sas-vtl"}},d={},m=[{value:"Documentation",id:"documentation",level:2},{value:"Datasets",id:"datasets",level:2},{value:"Simple example",id:"simple-example",level:2}],u={toc:m};function o(t){let{components:e,...a}=t;return(0,r.kt)("wrapper",(0,n.Z)({},u,a,{components:e,mdxType:"MDXLayout"}),(0,r.kt)("h2",{id:"documentation"},"Documentation"),(0,r.kt)("p",null,"The VTL documentation is available on the official ",(0,r.kt)("a",{parentName:"p",href:"https://sdmx.org/"},"SDMX")," web site:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://sdmx.org/wp-content/uploads/VTL-2.0-User-Manual-20180416-final.pdf"},"User manual")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://sdmx.org/wp-content/uploads/VTL-2.0-Reference-Manual-20180712-final.pdf"},"Reference manual"))),(0,r.kt)("h2",{id:"datasets"},"Datasets"),(0,r.kt)("p",null,"VTL datasets must be described by metadata. The different columns have a ",(0,r.kt)("inlineCode",{parentName:"p"},"type")," and a ",(0,r.kt)("inlineCode",{parentName:"p"},"role"),"."),(0,r.kt)("p",null,"By default, in Trevas, a column without type or role will be assigned a ",(0,r.kt)("inlineCode",{parentName:"p"},"string")," ",(0,r.kt)("inlineCode",{parentName:"p"},"type")," and a ",(0,r.kt)("inlineCode",{parentName:"p"},"measure")," ",(0,r.kt)("inlineCode",{parentName:"p"},"role"),"."),(0,r.kt)("p",null,"The user will then be able to mutate these attributes in the script, in particular via the ",(0,r.kt)("inlineCode",{parentName:"p"},"calc")," and ",(0,r.kt)("inlineCode",{parentName:"p"},"cast")," operators."),(0,r.kt)("h2",{id:"simple-example"},"Simple example"),(0,r.kt)("p",null,"Considering ",(0,r.kt)("inlineCode",{parentName:"p"},"ds_1")," defined as follows:"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null}),(0,r.kt)("th",{parentName:"tr",align:null},"id_1"),(0,r.kt)("th",{parentName:"tr",align:null},"id_2"),(0,r.kt)("th",{parentName:"tr",align:null},"me_1"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"type"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"role"),(0,r.kt)("td",{parentName:"tr",align:null},"identifier"),(0,r.kt)("td",{parentName:"tr",align:null},"identifier"),(0,r.kt)("td",{parentName:"tr",align:null},"measure")))),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"id_1"),(0,r.kt)("th",{parentName:"tr",align:null},"id_2"),(0,r.kt)("th",{parentName:"tr",align:null},"me_1"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},'"75001"'),(0,r.kt)("td",{parentName:"tr",align:null},'"75"'),(0,r.kt)("td",{parentName:"tr",align:null},'"10"')),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},'"75002"'),(0,r.kt)("td",{parentName:"tr",align:null},'"75"'),(0,r.kt)("td",{parentName:"tr",align:null},'"100"')),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},'"70001"'),(0,r.kt)("td",{parentName:"tr",align:null},'"70"'),(0,r.kt)("td",{parentName:"tr",align:null},'"5"')),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},'"70002"'),(0,r.kt)("td",{parentName:"tr",align:null},'"70"'),(0,r.kt)("td",{parentName:"tr",align:null},'"70"')))),(0,r.kt)("p",null,"To obbtain the sum of ",(0,r.kt)("inlineCode",{parentName:"p"},"me_1")," by ",(0,r.kt)("inlineCode",{parentName:"p"},"id_2"),", only ",(0,r.kt)("inlineCode",{parentName:"p"},"id_2")," has to have the ",(0,r.kt)("inlineCode",{parentName:"p"},"identifier")," role and ",(0,r.kt)("inlineCode",{parentName:"p"},"me_1")," has to have the ",(0,r.kt)("inlineCode",{parentName:"p"},"integer")," type. The following scipt is thus applied:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"ds_2 := ds_1[calc measure id_2 := id_2, me_1 := cast(me_1, integer)];\n")),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"ds_2")," is then:"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null}),(0,r.kt)("th",{parentName:"tr",align:null},"id_1"),(0,r.kt)("th",{parentName:"tr",align:null},"id_2"),(0,r.kt)("th",{parentName:"tr",align:null},"me_1"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"type"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"role"),(0,r.kt)("td",{parentName:"tr",align:null},"measure"),(0,r.kt)("td",{parentName:"tr",align:null},"identifier"),(0,r.kt)("td",{parentName:"tr",align:null},"measure")))),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"id_1"),(0,r.kt)("th",{parentName:"tr",align:null},"id_2"),(0,r.kt)("th",{parentName:"tr",align:null},"me_1"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},'"75001"'),(0,r.kt)("td",{parentName:"tr",align:null},'"75"'),(0,r.kt)("td",{parentName:"tr",align:null},"10")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},'"75002"'),(0,r.kt)("td",{parentName:"tr",align:null},'"75"'),(0,r.kt)("td",{parentName:"tr",align:null},"100")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},'"70001"'),(0,r.kt)("td",{parentName:"tr",align:null},'"70"'),(0,r.kt)("td",{parentName:"tr",align:null},"5")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},'"70002"'),(0,r.kt)("td",{parentName:"tr",align:null},'"70"'),(0,r.kt)("td",{parentName:"tr",align:null},"70")))),(0,r.kt)("p",null,"It is now possible to apply the ",(0,r.kt)("inlineCode",{parentName:"p"},"aggr")," operator:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"ds_3 := ds_2[aggr sum_me_1 := sum(me_1) group by id_2];\n")),(0,r.kt)("p",null,"To obtain ",(0,r.kt)("inlineCode",{parentName:"p"},"ds_3"),":"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null}),(0,r.kt)("th",{parentName:"tr",align:null},"id_2"),(0,r.kt)("th",{parentName:"tr",align:null},"sum_me_1"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"type"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"role"),(0,r.kt)("td",{parentName:"tr",align:null},"identifier"),(0,r.kt)("td",{parentName:"tr",align:null},"measure")))),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"id_2"),(0,r.kt)("th",{parentName:"tr",align:null},"me_1"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},'"75"'),(0,r.kt)("td",{parentName:"tr",align:null},"110")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},'"70"'),(0,r.kt)("td",{parentName:"tr",align:null},"75")))))}o.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[7872],{3905:(t,e,a)=>{a.d(e,{Zo:()=>u,kt:()=>N});var n=a(67294);function r(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function l(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.push.apply(a,n)}return a}function i(t){for(var e=1;e=0||(r[a]=t[a]);return r}(t,e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,a)&&(r[a]=t[a])}return r}var d=n.createContext({}),m=function(t){var e=n.useContext(d),a=e;return t&&(a="function"==typeof t?t(e):i(i({},e),t)),a},u=function(t){var e=m(t.components);return n.createElement(d.Provider,{value:e},t.children)},o="mdxType",k={inlineCode:"code",wrapper:function(t){var e=t.children;return n.createElement(n.Fragment,{},e)}},s=n.forwardRef((function(t,e){var a=t.components,r=t.mdxType,l=t.originalType,d=t.parentName,u=p(t,["components","mdxType","originalType","parentName"]),o=m(a),s=r,N=o["".concat(d,".").concat(s)]||o[s]||k[s]||l;return a?n.createElement(N,i(i({ref:e},u),{},{components:a})):n.createElement(N,i({ref:e},u))}));function N(t,e){var a=arguments,r=e&&e.mdxType;if("string"==typeof t||r){var l=a.length,i=new Array(l);i[0]=s;var p={};for(var d in e)hasOwnProperty.call(e,d)&&(p[d]=e[d]);p.originalType=t,p[o]="string"==typeof t?t:r,i[1]=p;for(var m=2;m{a.r(e),a.d(e,{assets:()=>d,contentTitle:()=>i,default:()=>o,frontMatter:()=>l,metadata:()=>p,toc:()=>m});var n=a(87462),r=(a(67294),a(3905));const l={id:"index-vtl",title:"VTL",sidebar_label:"Overview",slug:"/user-guide/vtl",custom_edit_url:null},i=void 0,p={unversionedId:"user-guide/vtl/index-vtl",id:"user-guide/vtl/index-vtl",title:"VTL",description:"Documentation",source:"@site/docs/user-guide/vtl/index-vtl.mdx",sourceDirName:"user-guide/vtl",slug:"/user-guide/vtl",permalink:"/Trevas/user-guide/vtl",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1720593860,formattedLastUpdatedAt:"Jul 10, 2024",frontMatter:{id:"index-vtl",title:"VTL",sidebar_label:"Overview",slug:"/user-guide/vtl",custom_edit_url:null},sidebar:"docs",previous:{title:"v1.x.x",permalink:"/Trevas/releases/1.x.x"},next:{title:"Overview",permalink:"/Trevas/user-guide/vtl/sas-vtl"}},d={},m=[{value:"Documentation",id:"documentation",level:2},{value:"Datasets",id:"datasets",level:2},{value:"Simple example",id:"simple-example",level:2}],u={toc:m};function o(t){let{components:e,...a}=t;return(0,r.kt)("wrapper",(0,n.Z)({},u,a,{components:e,mdxType:"MDXLayout"}),(0,r.kt)("h2",{id:"documentation"},"Documentation"),(0,r.kt)("p",null,"The VTL documentation is available on the official ",(0,r.kt)("a",{parentName:"p",href:"https://sdmx.org/"},"SDMX")," web site:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://sdmx.org/wp-content/uploads/VTL-2.0-User-Manual-20180416-final.pdf"},"User manual")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://sdmx.org/wp-content/uploads/VTL-2.0-Reference-Manual-20180712-final.pdf"},"Reference manual"))),(0,r.kt)("h2",{id:"datasets"},"Datasets"),(0,r.kt)("p",null,"VTL datasets must be described by metadata. The different columns have a ",(0,r.kt)("inlineCode",{parentName:"p"},"type")," and a ",(0,r.kt)("inlineCode",{parentName:"p"},"role"),"."),(0,r.kt)("p",null,"By default, in Trevas, a column without type or role will be assigned a ",(0,r.kt)("inlineCode",{parentName:"p"},"string")," ",(0,r.kt)("inlineCode",{parentName:"p"},"type")," and a ",(0,r.kt)("inlineCode",{parentName:"p"},"measure")," ",(0,r.kt)("inlineCode",{parentName:"p"},"role"),"."),(0,r.kt)("p",null,"The user will then be able to mutate these attributes in the script, in particular via the ",(0,r.kt)("inlineCode",{parentName:"p"},"calc")," and ",(0,r.kt)("inlineCode",{parentName:"p"},"cast")," operators."),(0,r.kt)("h2",{id:"simple-example"},"Simple example"),(0,r.kt)("p",null,"Considering ",(0,r.kt)("inlineCode",{parentName:"p"},"ds_1")," defined as follows:"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null}),(0,r.kt)("th",{parentName:"tr",align:null},"id_1"),(0,r.kt)("th",{parentName:"tr",align:null},"id_2"),(0,r.kt)("th",{parentName:"tr",align:null},"me_1"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"type"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"string")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"role"),(0,r.kt)("td",{parentName:"tr",align:null},"identifier"),(0,r.kt)("td",{parentName:"tr",align:null},"identifier"),(0,r.kt)("td",{parentName:"tr",align:null},"measure")))),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"id_1"),(0,r.kt)("th",{parentName:"tr",align:null},"id_2"),(0,r.kt)("th",{parentName:"tr",align:null},"me_1"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},'"75001"'),(0,r.kt)("td",{parentName:"tr",align:null},'"75"'),(0,r.kt)("td",{parentName:"tr",align:null},'"10"')),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},'"75002"'),(0,r.kt)("td",{parentName:"tr",align:null},'"75"'),(0,r.kt)("td",{parentName:"tr",align:null},'"100"')),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},'"70001"'),(0,r.kt)("td",{parentName:"tr",align:null},'"70"'),(0,r.kt)("td",{parentName:"tr",align:null},'"5"')),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},'"70002"'),(0,r.kt)("td",{parentName:"tr",align:null},'"70"'),(0,r.kt)("td",{parentName:"tr",align:null},'"70"')))),(0,r.kt)("p",null,"To obbtain the sum of ",(0,r.kt)("inlineCode",{parentName:"p"},"me_1")," by ",(0,r.kt)("inlineCode",{parentName:"p"},"id_2"),", only ",(0,r.kt)("inlineCode",{parentName:"p"},"id_2")," has to have the ",(0,r.kt)("inlineCode",{parentName:"p"},"identifier")," role and ",(0,r.kt)("inlineCode",{parentName:"p"},"me_1")," has to have the ",(0,r.kt)("inlineCode",{parentName:"p"},"integer")," type. The following scipt is thus applied:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"ds_2 := ds_1[calc measure id_2 := id_2, me_1 := cast(me_1, integer)];\n")),(0,r.kt)("p",null,(0,r.kt)("inlineCode",{parentName:"p"},"ds_2")," is then:"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null}),(0,r.kt)("th",{parentName:"tr",align:null},"id_1"),(0,r.kt)("th",{parentName:"tr",align:null},"id_2"),(0,r.kt)("th",{parentName:"tr",align:null},"me_1"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"type"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"role"),(0,r.kt)("td",{parentName:"tr",align:null},"measure"),(0,r.kt)("td",{parentName:"tr",align:null},"identifier"),(0,r.kt)("td",{parentName:"tr",align:null},"measure")))),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"id_1"),(0,r.kt)("th",{parentName:"tr",align:null},"id_2"),(0,r.kt)("th",{parentName:"tr",align:null},"me_1"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},'"75001"'),(0,r.kt)("td",{parentName:"tr",align:null},'"75"'),(0,r.kt)("td",{parentName:"tr",align:null},"10")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},'"75002"'),(0,r.kt)("td",{parentName:"tr",align:null},'"75"'),(0,r.kt)("td",{parentName:"tr",align:null},"100")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},'"70001"'),(0,r.kt)("td",{parentName:"tr",align:null},'"70"'),(0,r.kt)("td",{parentName:"tr",align:null},"5")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},'"70002"'),(0,r.kt)("td",{parentName:"tr",align:null},'"70"'),(0,r.kt)("td",{parentName:"tr",align:null},"70")))),(0,r.kt)("p",null,"It is now possible to apply the ",(0,r.kt)("inlineCode",{parentName:"p"},"aggr")," operator:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"ds_3 := ds_2[aggr sum_me_1 := sum(me_1) group by id_2];\n")),(0,r.kt)("p",null,"To obtain ",(0,r.kt)("inlineCode",{parentName:"p"},"ds_3"),":"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null}),(0,r.kt)("th",{parentName:"tr",align:null},"id_2"),(0,r.kt)("th",{parentName:"tr",align:null},"sum_me_1"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"type"),(0,r.kt)("td",{parentName:"tr",align:null},"string"),(0,r.kt)("td",{parentName:"tr",align:null},"integer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"role"),(0,r.kt)("td",{parentName:"tr",align:null},"identifier"),(0,r.kt)("td",{parentName:"tr",align:null},"measure")))),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"id_2"),(0,r.kt)("th",{parentName:"tr",align:null},"me_1"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},'"75"'),(0,r.kt)("td",{parentName:"tr",align:null},"110")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},'"70"'),(0,r.kt)("td",{parentName:"tr",align:null},"75")))))}o.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/935f2afb.709c1509.js b/assets/js/935f2afb.709c1509.js deleted file mode 100644 index 717e24e04..000000000 --- a/assets/js/935f2afb.709c1509.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[53],{1109:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"docs":[{"type":"link","label":"Home","href":"/"},{"type":"category","label":"Introduction","items":[{"type":"link","label":"Overview","href":"/Trevas/introduction","docId":"introduction/index-introduction"},{"type":"category","label":"Modules","items":[{"type":"link","label":"Overview","href":"/Trevas/modules","docId":"introduction/modules/index-modules"},{"type":"link","label":"VTL Engine","href":"/Trevas/modules/engine","docId":"introduction/modules/engine"},{"type":"link","label":"VTL Parser","href":"/Trevas/modules/parser","docId":"introduction/modules/parser"},{"type":"link","label":"VTL Spark","href":"/Trevas/modules/spark","docId":"introduction/modules/spark"},{"type":"link","label":"VTL Model","href":"/Trevas/modules/model","docId":"introduction/modules/model"},{"type":"link","label":"VTL JDBC","href":"/Trevas/modules/jdbc","docId":"introduction/modules/jdbc"},{"type":"link","label":"VTL Jackson","href":"/Trevas/modules/jackson","docId":"introduction/modules/jackson"},{"type":"link","label":"VTL CSV","href":"/Trevas/modules/csv","docId":"introduction/modules/csv"},{"type":"link","label":"VTL SDMX","href":"/Trevas/modules/sdmx","docId":"introduction/modules/sdmx"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Releases","items":[{"type":"link","label":"Overview","href":"/Trevas/releases","docId":"introduction/releases/index-releases"},{"type":"link","label":"v1.x.x","href":"/Trevas/releases/1.x.x","docId":"introduction/releases/1.x.x"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"User guide","items":[{"type":"category","label":"VTL playground","items":[{"type":"category","label":"Learn VTL","items":[{"type":"link","label":"Overview","href":"/Trevas/user-guide/vtl","docId":"user-guide/vtl/index-vtl"},{"type":"category","label":"Sas vs VTL","items":[{"type":"link","label":"Overview","href":"/Trevas/user-guide/vtl/sas-vtl","docId":"user-guide/vtl/sas-vtl/index-sas-vtl"},{"type":"link","label":"Keep","href":"/Trevas/user-guide/vtl/sas-vtl/keep","docId":"user-guide/vtl/sas-vtl/keep"},{"type":"link","label":"Drop","href":"/Trevas/user-guide/vtl/sas-vtl/drop","docId":"user-guide/vtl/sas-vtl/drop"},{"type":"link","label":"Rename","href":"/Trevas/user-guide/vtl/sas-vtl/rename","docId":"user-guide/vtl/sas-vtl/rename"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Client apps","items":[{"type":"link","label":"Overview","href":"/Trevas/user-guide/vtl/client-apps","docId":"user-guide/vtl/client-apps/index-client-apps"},{"type":"link","label":"Trevas Jupyter","href":"/Trevas/user-guide/vtl/client-apps/jupyter","docId":"user-guide/vtl/client-apps/jupyter/index-jupyter"},{"type":"link","label":"Trevas Lab","href":"/Trevas/user-guide/vtl/client-apps/lab","docId":"user-guide/vtl/client-apps/lab/index-lab"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Coverage","items":[{"type":"link","label":"Overview","href":"/Trevas/user-guide/coverage","docId":"user-guide/coverage/index-coverage"},{"type":"link","label":"General purpose operators","href":"/Trevas/user-guide/coverage/general-operators","docId":"user-guide/coverage/general-operators"},{"type":"link","label":"Join operators","href":"/Trevas/user-guide/coverage/join-operators","docId":"user-guide/coverage/join-operators"},{"type":"link","label":"String operators","href":"/Trevas/user-guide/coverage/string-operators","docId":"user-guide/coverage/string-operators"},{"type":"link","label":"Numeric operators","href":"/Trevas/user-guide/coverage/numeric-operators","docId":"user-guide/coverage/numeric-operators"},{"type":"link","label":"Comparison operators","href":"/Trevas/user-guide/coverage/comparison-operators","docId":"user-guide/coverage/comparison-operators"},{"type":"link","label":"Boolean operators","href":"/Trevas/user-guide/coverage/boolean-operators","docId":"user-guide/coverage/boolean-operators"},{"type":"link","label":"Time operators","href":"/Trevas/user-guide/coverage/time-operators","docId":"user-guide/coverage/time-operators"},{"type":"link","label":"Set operators","href":"/Trevas/user-guide/coverage/set-operators","docId":"user-guide/coverage/set-operators"},{"type":"link","label":"Hierarchical aggregation","href":"/Trevas/user-guide/coverage/hierarchical-aggregation","docId":"user-guide/coverage/hierarchical-aggregation"},{"type":"link","label":"Aggregate operators","href":"/Trevas/user-guide/coverage/aggregate-operators","docId":"user-guide/coverage/aggregate-operators"},{"type":"link","label":"Analytic operators","href":"/Trevas/user-guide/coverage/analytic-operators","docId":"user-guide/coverage/analytic-operators"},{"type":"link","label":"Data validation operators","href":"/Trevas/user-guide/coverage/data-validation-operators","docId":"user-guide/coverage/data-validation-operators"},{"type":"link","label":"Conditional operators","href":"/Trevas/user-guide/coverage/conditional-operators","docId":"user-guide/coverage/conditional-operators"},{"type":"link","label":"Clause operators","href":"/Trevas/user-guide/coverage/clause-operators","docId":"user-guide/coverage/clause-operators"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Developer guide","items":[{"type":"link","label":"Overview","href":"/Trevas/developer-guide","docId":"developer-guide/index-developer-guide"},{"type":"category","label":"Basic mode","items":[{"type":"link","label":"Overview","href":"/Trevas/developer-guide/basic-mode","docId":"developer-guide/basic-mode/index-basic-mode"},{"type":"category","label":"Data sources","items":[{"type":"link","label":"Overview","href":"/Trevas/developer-guide/basic-mode/data-sources","docId":"developer-guide/basic-mode/data-sources/index-data-sources"},{"type":"link","label":"JDBC","href":"/Trevas/developer-guide/basic-mode/data-sources/jdbc","docId":"developer-guide/basic-mode/data-sources/jdbc"},{"type":"link","label":"JSON","href":"/Trevas/developer-guide/basic-mode/data-sources/json","docId":"developer-guide/basic-mode/data-sources/json"},{"type":"link","label":"Others","href":"/Trevas/developer-guide/basic-mode/data-sources/others","docId":"developer-guide/basic-mode/data-sources/others"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Spark mode","items":[{"type":"link","label":"Overview","href":"/Trevas/developer-guide/spark-mode","docId":"developer-guide/spark-mode/index-spark-mode"},{"type":"category","label":"Data sources","items":[{"type":"link","label":"Overview","href":"/Trevas/developer-guide/spark-mode/data-sources","docId":"developer-guide/spark-mode/data-sources/index-data-sources"},{"type":"link","label":"Parquet","href":"/Trevas/developer-guide/spark-mode/data-sources/parquet","docId":"developer-guide/spark-mode/data-sources/parquet"},{"type":"link","label":"CSV","href":"/Trevas/developer-guide/spark-mode/data-sources/csv","docId":"developer-guide/spark-mode/data-sources/csv"},{"type":"link","label":"JDBC","href":"/Trevas/developer-guide/spark-mode/data-sources/jdbc","docId":"developer-guide/spark-mode/data-sources/jdbc"},{"type":"link","label":"Others","href":"/Trevas/developer-guide/spark-mode/data-sources/others","docId":"developer-guide/spark-mode/data-sources/others"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Administrator guide","items":[{"type":"link","label":"Modifications of VTL grammar","href":"/Trevas/administrator-guide/grammar","docId":"administrator-guide/grammar/index-grammar"}],"collapsed":true,"collapsible":true}]},"docs":{"administrator-guide/grammar/index-grammar":{"id":"administrator-guide/grammar/index-grammar","title":"Modifications of VTL grammar","description":"Usage of the VTL grammar","sidebar":"docs"},"developer-guide/basic-mode/data-sources/index-data-sources":{"id":"developer-guide/basic-mode/data-sources/index-data-sources","title":"Basic mode - Data sources","description":"Trevas good practices","sidebar":"docs"},"developer-guide/basic-mode/data-sources/jdbc":{"id":"developer-guide/basic-mode/data-sources/jdbc","title":"Basic mode - JDBC source","description":"Import Trevas JDBC module","sidebar":"docs"},"developer-guide/basic-mode/data-sources/json":{"id":"developer-guide/basic-mode/data-sources/json","title":"Basic mode - JSON source","description":"Import Trevas Jackson module","sidebar":"docs"},"developer-guide/basic-mode/data-sources/others":{"id":"developer-guide/basic-mode/data-sources/others","title":"Basic mode - Other sources","description":"InMemoryDataset constructor","sidebar":"docs"},"developer-guide/basic-mode/index-basic-mode":{"id":"developer-guide/basic-mode/index-basic-mode","title":"Basic mode","description":"InMemoryDataset","sidebar":"docs"},"developer-guide/index-developer-guide":{"id":"developer-guide/index-developer-guide","title":"Developer guide","description":"Import the Trevas engine","sidebar":"docs"},"developer-guide/spark-mode/data-sources/csv":{"id":"developer-guide/spark-mode/data-sources/csv","title":"Spark mode - CSV source","description":"Read","sidebar":"docs"},"developer-guide/spark-mode/data-sources/index-data-sources":{"id":"developer-guide/spark-mode/data-sources/index-data-sources","title":"Spark mode - Data sources","description":"Trevas good practices","sidebar":"docs"},"developer-guide/spark-mode/data-sources/jdbc":{"id":"developer-guide/spark-mode/data-sources/jdbc","title":"Spark mode - JDBC source","description":"Read","sidebar":"docs"},"developer-guide/spark-mode/data-sources/others":{"id":"developer-guide/spark-mode/data-sources/others","title":"Spark mode - Other sources","description":"SparkDataset constructor","sidebar":"docs"},"developer-guide/spark-mode/data-sources/parquet":{"id":"developer-guide/spark-mode/data-sources/parquet","title":"Spark mode - Parquet source","description":"Metadata","sidebar":"docs"},"developer-guide/spark-mode/index-spark-mode":{"id":"developer-guide/spark-mode/index-spark-mode","title":"Spark mode","description":"SparkDataset","sidebar":"docs"},"introduction/index-introduction":{"id":"introduction/index-introduction","title":"Trevas","description":"Maven - Trevas parent","sidebar":"docs"},"introduction/modules/csv":{"id":"introduction/modules/csv","title":"VTL CSV","description":"Maven - Vtl CSV","sidebar":"docs"},"introduction/modules/engine":{"id":"introduction/modules/engine","title":"VTL Engine","description":"Maven - Vtl Engine","sidebar":"docs"},"introduction/modules/index-modules":{"id":"introduction/modules/index-modules","title":"Trevas modules","description":"{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"docs":[{"type":"link","label":"Home","href":"/"},{"type":"category","label":"Introduction","items":[{"type":"link","label":"Overview","href":"/Trevas/introduction","docId":"introduction/index-introduction"},{"type":"category","label":"Modules","items":[{"type":"link","label":"Overview","href":"/Trevas/modules","docId":"introduction/modules/index-modules"},{"type":"link","label":"VTL Engine","href":"/Trevas/modules/engine","docId":"introduction/modules/engine"},{"type":"link","label":"VTL Parser","href":"/Trevas/modules/parser","docId":"introduction/modules/parser"},{"type":"link","label":"VTL Spark","href":"/Trevas/modules/spark","docId":"introduction/modules/spark"},{"type":"link","label":"VTL Model","href":"/Trevas/modules/model","docId":"introduction/modules/model"},{"type":"link","label":"VTL JDBC","href":"/Trevas/modules/jdbc","docId":"introduction/modules/jdbc"},{"type":"link","label":"VTL Jackson","href":"/Trevas/modules/jackson","docId":"introduction/modules/jackson"},{"type":"link","label":"VTL CSV","href":"/Trevas/modules/csv","docId":"introduction/modules/csv"},{"type":"link","label":"VTL SDMX","href":"/Trevas/modules/sdmx","docId":"introduction/modules/sdmx"}],"collapsed":true,"collapsible":true},{"type":"category","label":"Releases","items":[{"type":"link","label":"Overview","href":"/Trevas/releases","docId":"introduction/releases/index-releases"},{"type":"link","label":"v1.x.x","href":"/Trevas/releases/1.x.x","docId":"introduction/releases/1.x.x"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"User guide","items":[{"type":"category","label":"VTL playground","items":[{"type":"category","label":"Learn VTL","items":[{"type":"link","label":"Overview","href":"/Trevas/user-guide/vtl","docId":"user-guide/vtl/index-vtl"},{"type":"category","label":"Sas vs VTL","items":[{"type":"link","label":"Overview","href":"/Trevas/user-guide/vtl/sas-vtl","docId":"user-guide/vtl/sas-vtl/index-sas-vtl"},{"type":"link","label":"Keep","href":"/Trevas/user-guide/vtl/sas-vtl/keep","docId":"user-guide/vtl/sas-vtl/keep"},{"type":"link","label":"Drop","href":"/Trevas/user-guide/vtl/sas-vtl/drop","docId":"user-guide/vtl/sas-vtl/drop"},{"type":"link","label":"Rename","href":"/Trevas/user-guide/vtl/sas-vtl/rename","docId":"user-guide/vtl/sas-vtl/rename"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Client apps","items":[{"type":"link","label":"Overview","href":"/Trevas/user-guide/vtl/client-apps","docId":"user-guide/vtl/client-apps/index-client-apps"},{"type":"link","label":"Trevas Jupyter","href":"/Trevas/user-guide/vtl/client-apps/jupyter","docId":"user-guide/vtl/client-apps/jupyter/index-jupyter"},{"type":"link","label":"Trevas Lab","href":"/Trevas/user-guide/vtl/client-apps/lab","docId":"user-guide/vtl/client-apps/lab/index-lab"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Coverage","items":[{"type":"link","label":"Overview","href":"/Trevas/user-guide/coverage","docId":"user-guide/coverage/index-coverage"},{"type":"link","label":"General purpose operators","href":"/Trevas/user-guide/coverage/general-operators","docId":"user-guide/coverage/general-operators"},{"type":"link","label":"Join operators","href":"/Trevas/user-guide/coverage/join-operators","docId":"user-guide/coverage/join-operators"},{"type":"link","label":"String operators","href":"/Trevas/user-guide/coverage/string-operators","docId":"user-guide/coverage/string-operators"},{"type":"link","label":"Numeric operators","href":"/Trevas/user-guide/coverage/numeric-operators","docId":"user-guide/coverage/numeric-operators"},{"type":"link","label":"Comparison operators","href":"/Trevas/user-guide/coverage/comparison-operators","docId":"user-guide/coverage/comparison-operators"},{"type":"link","label":"Boolean operators","href":"/Trevas/user-guide/coverage/boolean-operators","docId":"user-guide/coverage/boolean-operators"},{"type":"link","label":"Time operators","href":"/Trevas/user-guide/coverage/time-operators","docId":"user-guide/coverage/time-operators"},{"type":"link","label":"Set operators","href":"/Trevas/user-guide/coverage/set-operators","docId":"user-guide/coverage/set-operators"},{"type":"link","label":"Hierarchical aggregation","href":"/Trevas/user-guide/coverage/hierarchical-aggregation","docId":"user-guide/coverage/hierarchical-aggregation"},{"type":"link","label":"Aggregate operators","href":"/Trevas/user-guide/coverage/aggregate-operators","docId":"user-guide/coverage/aggregate-operators"},{"type":"link","label":"Analytic operators","href":"/Trevas/user-guide/coverage/analytic-operators","docId":"user-guide/coverage/analytic-operators"},{"type":"link","label":"Data validation operators","href":"/Trevas/user-guide/coverage/data-validation-operators","docId":"user-guide/coverage/data-validation-operators"},{"type":"link","label":"Conditional operators","href":"/Trevas/user-guide/coverage/conditional-operators","docId":"user-guide/coverage/conditional-operators"},{"type":"link","label":"Clause operators","href":"/Trevas/user-guide/coverage/clause-operators","docId":"user-guide/coverage/clause-operators"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Developer guide","items":[{"type":"link","label":"Overview","href":"/Trevas/developer-guide","docId":"developer-guide/index-developer-guide"},{"type":"category","label":"Basic mode","items":[{"type":"link","label":"Overview","href":"/Trevas/developer-guide/basic-mode","docId":"developer-guide/basic-mode/index-basic-mode"},{"type":"category","label":"Data sources","items":[{"type":"link","label":"Overview","href":"/Trevas/developer-guide/basic-mode/data-sources","docId":"developer-guide/basic-mode/data-sources/index-data-sources"},{"type":"link","label":"JDBC","href":"/Trevas/developer-guide/basic-mode/data-sources/jdbc","docId":"developer-guide/basic-mode/data-sources/jdbc"},{"type":"link","label":"JSON","href":"/Trevas/developer-guide/basic-mode/data-sources/json","docId":"developer-guide/basic-mode/data-sources/json"},{"type":"link","label":"Others","href":"/Trevas/developer-guide/basic-mode/data-sources/others","docId":"developer-guide/basic-mode/data-sources/others"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Spark mode","items":[{"type":"link","label":"Overview","href":"/Trevas/developer-guide/spark-mode","docId":"developer-guide/spark-mode/index-spark-mode"},{"type":"category","label":"Data sources","items":[{"type":"link","label":"Overview","href":"/Trevas/developer-guide/spark-mode/data-sources","docId":"developer-guide/spark-mode/data-sources/index-data-sources"},{"type":"link","label":"CSV","href":"/Trevas/developer-guide/spark-mode/data-sources/csv","docId":"developer-guide/spark-mode/data-sources/csv"},{"type":"link","label":"JDBC","href":"/Trevas/developer-guide/spark-mode/data-sources/jdbc","docId":"developer-guide/spark-mode/data-sources/jdbc"},{"type":"link","label":"Parquet","href":"/Trevas/developer-guide/spark-mode/data-sources/parquet","docId":"developer-guide/spark-mode/data-sources/parquet"},{"type":"link","label":"SDMX","href":"/Trevas/developer-guide/spark-mode/data-sources/sdmx","docId":"developer-guide/spark-mode/data-sources/sdmx"},{"type":"link","label":"Others","href":"/Trevas/developer-guide/spark-mode/data-sources/others","docId":"developer-guide/spark-mode/data-sources/others"}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true}],"collapsed":true,"collapsible":true},{"type":"category","label":"Administrator guide","items":[{"type":"link","label":"Modifications of VTL grammar","href":"/Trevas/administrator-guide/grammar","docId":"administrator-guide/grammar/index-grammar"}],"collapsed":true,"collapsible":true}]},"docs":{"administrator-guide/grammar/index-grammar":{"id":"administrator-guide/grammar/index-grammar","title":"Modifications of VTL grammar","description":"Usage of the VTL grammar","sidebar":"docs"},"developer-guide/basic-mode/data-sources/index-data-sources":{"id":"developer-guide/basic-mode/data-sources/index-data-sources","title":"Basic mode - Data sources","description":"Trevas good practices","sidebar":"docs"},"developer-guide/basic-mode/data-sources/jdbc":{"id":"developer-guide/basic-mode/data-sources/jdbc","title":"Basic mode - JDBC source","description":"Import Trevas JDBC module","sidebar":"docs"},"developer-guide/basic-mode/data-sources/json":{"id":"developer-guide/basic-mode/data-sources/json","title":"Basic mode - JSON source","description":"Import Trevas Jackson module","sidebar":"docs"},"developer-guide/basic-mode/data-sources/others":{"id":"developer-guide/basic-mode/data-sources/others","title":"Basic mode - Other sources","description":"InMemoryDataset constructor","sidebar":"docs"},"developer-guide/basic-mode/index-basic-mode":{"id":"developer-guide/basic-mode/index-basic-mode","title":"Basic mode","description":"InMemoryDataset","sidebar":"docs"},"developer-guide/index-developer-guide":{"id":"developer-guide/index-developer-guide","title":"Developer guide","description":"Import the Trevas engine","sidebar":"docs"},"developer-guide/spark-mode/data-sources/csv":{"id":"developer-guide/spark-mode/data-sources/csv","title":"Spark mode - CSV source","description":"Read","sidebar":"docs"},"developer-guide/spark-mode/data-sources/index-data-sources":{"id":"developer-guide/spark-mode/data-sources/index-data-sources","title":"Spark mode - Data sources","description":"Trevas good practices","sidebar":"docs"},"developer-guide/spark-mode/data-sources/jdbc":{"id":"developer-guide/spark-mode/data-sources/jdbc","title":"Spark mode - JDBC source","description":"Read","sidebar":"docs"},"developer-guide/spark-mode/data-sources/others":{"id":"developer-guide/spark-mode/data-sources/others","title":"Spark mode - Other sources","description":"SparkDataset constructor","sidebar":"docs"},"developer-guide/spark-mode/data-sources/parquet":{"id":"developer-guide/spark-mode/data-sources/parquet","title":"Spark mode - Parquet source","description":"Metadata","sidebar":"docs"},"developer-guide/spark-mode/data-sources/sdmx":{"id":"developer-guide/spark-mode/data-sources/sdmx","title":"Spark mode - SDMX source","description":"vtl-sdmx module exposes the following utilities.","sidebar":"docs"},"developer-guide/spark-mode/index-spark-mode":{"id":"developer-guide/spark-mode/index-spark-mode","title":"Spark mode","description":"SparkDataset","sidebar":"docs"},"introduction/index-introduction":{"id":"introduction/index-introduction","title":"Trevas","description":"Maven - Trevas parent","sidebar":"docs"},"introduction/modules/csv":{"id":"introduction/modules/csv","title":"VTL CSV","description":"Maven - Vtl CSV","sidebar":"docs"},"introduction/modules/engine":{"id":"introduction/modules/engine","title":"VTL Engine","description":"Maven - Vtl Engine","sidebar":"docs"},"introduction/modules/index-modules":{"id":"introduction/modules/index-modules","title":"Trevas modules","description":"{r.d(e,{Zo:()=>d,kt:()=>s});var a=r(67294);function n(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function l(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,a)}return r}function o(t){for(var e=1;e=0||(n[r]=t[r]);return n}(t,e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(t);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}var p=a.createContext({}),g=function(t){var e=a.useContext(p),r=e;return t&&(r="function"==typeof t?t(e):o(o({},e),t)),r},d=function(t){var e=g(t.components);return a.createElement(p.Provider,{value:e},t.children)},m="mdxType",c={inlineCode:"code",wrapper:function(t){var e=t.children;return a.createElement(a.Fragment,{},e)}},u=a.forwardRef((function(t,e){var r=t.components,n=t.mdxType,l=t.originalType,p=t.parentName,d=i(t,["components","mdxType","originalType","parentName"]),m=g(r),u=n,s=m["".concat(p,".").concat(u)]||m[u]||c[u]||l;return r?a.createElement(s,o(o({ref:e},d),{},{components:r})):a.createElement(s,o({ref:e},d))}));function s(t,e){var r=arguments,n=e&&e.mdxType;if("string"==typeof t||n){var l=r.length,o=new Array(l);o[0]=u;var i={};for(var p in e)hasOwnProperty.call(e,p)&&(i[p]=e[p]);i.originalType=t,i[m]="string"==typeof t?t:n,o[1]=i;for(var g=2;g{r.r(e),r.d(e,{assets:()=>p,contentTitle:()=>o,default:()=>m,frontMatter:()=>l,metadata:()=>i,toc:()=>g});var a=r(87462),n=(r(67294),r(3905));const l={id:"aggregate-operators",title:"VTL - Aggregate operators",sidebar_label:"Aggregate operators",slug:"/user-guide/coverage/aggregate-operators",custom_edit_url:null},o=void 0,i={unversionedId:"user-guide/coverage/aggregate-operators",id:"user-guide/coverage/aggregate-operators",title:"VTL - Aggregate operators",description:"| Name | Symbol | InMemory | Spark |",source:"@site/docs/user-guide/coverage/aggregate-operators.mdx",sourceDirName:"user-guide/coverage",slug:"/user-guide/coverage/aggregate-operators",permalink:"/Trevas/user-guide/coverage/aggregate-operators",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1719441741,formattedLastUpdatedAt:"Jun 26, 2024",frontMatter:{id:"aggregate-operators",title:"VTL - Aggregate operators",sidebar_label:"Aggregate operators",slug:"/user-guide/coverage/aggregate-operators",custom_edit_url:null},sidebar:"docs",previous:{title:"Hierarchical aggregation",permalink:"/Trevas/user-guide/coverage/hierarchical-aggregation"},next:{title:"Analytic operators",permalink:"/Trevas/user-guide/coverage/analytic-operators"}},p={},g=[],d={toc:g};function m(t){let{components:e,...r}=t;return(0,n.kt)("wrapper",(0,a.Z)({},d,r,{components:e,mdxType:"MDXLayout"}),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:"left"},"Symbol"),(0,n.kt)("th",{parentName:"tr",align:"center"},"InMemory"),(0,n.kt)("th",{parentName:"tr",align:"center"},"Spark"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Aggregate invocation"),(0,n.kt)("td",{parentName:"tr",align:"left"}),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Counting the number of data points"),(0,n.kt)("td",{parentName:"tr",align:"left"},"count"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Minimum value"),(0,n.kt)("td",{parentName:"tr",align:"left"},"min"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Maximum value"),(0,n.kt)("td",{parentName:"tr",align:"left"},"max"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Median value"),(0,n.kt)("td",{parentName:"tr",align:"left"},"median"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Sum"),(0,n.kt)("td",{parentName:"tr",align:"left"},"sum"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Average value"),(0,n.kt)("td",{parentName:"tr",align:"left"},"avg"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Population standard deviation"),(0,n.kt)("td",{parentName:"tr",align:"left"},"stddev_pop"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Sample standard deviation"),(0,n.kt)("td",{parentName:"tr",align:"left"},"stddev_samp"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Population variance"),(0,n.kt)("td",{parentName:"tr",align:"left"},"var_pop"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Sample variance"),(0,n.kt)("td",{parentName:"tr",align:"left"},"var_samp"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")))))}m.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[6658],{3905:(t,e,r)=>{r.d(e,{Zo:()=>d,kt:()=>s});var a=r(67294);function n(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function l(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,a)}return r}function o(t){for(var e=1;e=0||(n[r]=t[r]);return n}(t,e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(t);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}var p=a.createContext({}),g=function(t){var e=a.useContext(p),r=e;return t&&(r="function"==typeof t?t(e):o(o({},e),t)),r},d=function(t){var e=g(t.components);return a.createElement(p.Provider,{value:e},t.children)},m="mdxType",c={inlineCode:"code",wrapper:function(t){var e=t.children;return a.createElement(a.Fragment,{},e)}},u=a.forwardRef((function(t,e){var r=t.components,n=t.mdxType,l=t.originalType,p=t.parentName,d=i(t,["components","mdxType","originalType","parentName"]),m=g(r),u=n,s=m["".concat(p,".").concat(u)]||m[u]||c[u]||l;return r?a.createElement(s,o(o({ref:e},d),{},{components:r})):a.createElement(s,o({ref:e},d))}));function s(t,e){var r=arguments,n=e&&e.mdxType;if("string"==typeof t||n){var l=r.length,o=new Array(l);o[0]=u;var i={};for(var p in e)hasOwnProperty.call(e,p)&&(i[p]=e[p]);i.originalType=t,i[m]="string"==typeof t?t:n,o[1]=i;for(var g=2;g{r.r(e),r.d(e,{assets:()=>p,contentTitle:()=>o,default:()=>m,frontMatter:()=>l,metadata:()=>i,toc:()=>g});var a=r(87462),n=(r(67294),r(3905));const l={id:"aggregate-operators",title:"VTL - Aggregate operators",sidebar_label:"Aggregate operators",slug:"/user-guide/coverage/aggregate-operators",custom_edit_url:null},o=void 0,i={unversionedId:"user-guide/coverage/aggregate-operators",id:"user-guide/coverage/aggregate-operators",title:"VTL - Aggregate operators",description:"| Name | Symbol | InMemory | Spark |",source:"@site/docs/user-guide/coverage/aggregate-operators.mdx",sourceDirName:"user-guide/coverage",slug:"/user-guide/coverage/aggregate-operators",permalink:"/Trevas/user-guide/coverage/aggregate-operators",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1720593860,formattedLastUpdatedAt:"Jul 10, 2024",frontMatter:{id:"aggregate-operators",title:"VTL - Aggregate operators",sidebar_label:"Aggregate operators",slug:"/user-guide/coverage/aggregate-operators",custom_edit_url:null},sidebar:"docs",previous:{title:"Hierarchical aggregation",permalink:"/Trevas/user-guide/coverage/hierarchical-aggregation"},next:{title:"Analytic operators",permalink:"/Trevas/user-guide/coverage/analytic-operators"}},p={},g=[],d={toc:g};function m(t){let{components:e,...r}=t;return(0,n.kt)("wrapper",(0,a.Z)({},d,r,{components:e,mdxType:"MDXLayout"}),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:"left"},"Symbol"),(0,n.kt)("th",{parentName:"tr",align:"center"},"InMemory"),(0,n.kt)("th",{parentName:"tr",align:"center"},"Spark"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Aggregate invocation"),(0,n.kt)("td",{parentName:"tr",align:"left"}),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Counting the number of data points"),(0,n.kt)("td",{parentName:"tr",align:"left"},"count"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Minimum value"),(0,n.kt)("td",{parentName:"tr",align:"left"},"min"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Maximum value"),(0,n.kt)("td",{parentName:"tr",align:"left"},"max"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Median value"),(0,n.kt)("td",{parentName:"tr",align:"left"},"median"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Sum"),(0,n.kt)("td",{parentName:"tr",align:"left"},"sum"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Average value"),(0,n.kt)("td",{parentName:"tr",align:"left"},"avg"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Population standard deviation"),(0,n.kt)("td",{parentName:"tr",align:"left"},"stddev_pop"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Sample standard deviation"),(0,n.kt)("td",{parentName:"tr",align:"left"},"stddev_samp"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Population variance"),(0,n.kt)("td",{parentName:"tr",align:"left"},"var_pop"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Sample variance"),(0,n.kt)("td",{parentName:"tr",align:"left"},"var_samp"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")))))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/96ee6e4d.d9078173.js b/assets/js/96ee6e4d.998d64ed.js similarity index 97% rename from assets/js/96ee6e4d.d9078173.js rename to assets/js/96ee6e4d.998d64ed.js index ad6559201..4bbb764c7 100644 --- a/assets/js/96ee6e4d.d9078173.js +++ b/assets/js/96ee6e4d.998d64ed.js @@ -1 +1 @@ -"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[4898],{3905:(e,t,r)=>{r.d(t,{Zo:()=>l,kt:()=>v});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var s=n.createContext({}),i=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},l=function(e){var t=i(e.components);return n.createElement(s.Provider,{value:t},e.children)},u="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,s=e.parentName,l=d(e,["components","mdxType","originalType","parentName"]),u=i(r),m=o,v=u["".concat(s,".").concat(m)]||u[m]||p[m]||a;return r?n.createElement(v,c(c({ref:t},l),{},{components:r})):n.createElement(v,c({ref:t},l))}));function v(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,c=new Array(a);c[0]=m;var d={};for(var s in t)hasOwnProperty.call(t,s)&&(d[s]=t[s]);d.originalType=e,d[u]="string"==typeof e?e:o,c[1]=d;for(var i=2;i{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>c,default:()=>u,frontMatter:()=>a,metadata:()=>d,toc:()=>i});var n=r(87462),o=(r(67294),r(3905));const a={id:"jdbc",title:"Basic mode - JDBC source",sidebar_label:"JDBC",slug:"/developer-guide/basic-mode/data-sources/jdbc",custom_edit_url:null},c=void 0,d={unversionedId:"developer-guide/basic-mode/data-sources/jdbc",id:"developer-guide/basic-mode/data-sources/jdbc",title:"Basic mode - JDBC source",description:"Import Trevas JDBC module",source:"@site/docs/developer-guide/basic-mode/data-sources/jdbc.mdx",sourceDirName:"developer-guide/basic-mode/data-sources",slug:"/developer-guide/basic-mode/data-sources/jdbc",permalink:"/Trevas/developer-guide/basic-mode/data-sources/jdbc",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1719441741,formattedLastUpdatedAt:"Jun 26, 2024",frontMatter:{id:"jdbc",title:"Basic mode - JDBC source",sidebar_label:"JDBC",slug:"/developer-guide/basic-mode/data-sources/jdbc",custom_edit_url:null},sidebar:"docs",previous:{title:"Overview",permalink:"/Trevas/developer-guide/basic-mode/data-sources"},next:{title:"JSON",permalink:"/Trevas/developer-guide/basic-mode/data-sources/json"}},s={},i=[{value:"Import Trevas JDBC module",id:"import-trevas-jdbc-module",level:3},{value:"Usage of the vtl-jdbc module",id:"usage-of-the-vtl-jdbc-module",level:3}],l={toc:i};function u(e){let{components:t,...r}=e;return(0,o.kt)("wrapper",(0,n.Z)({},l,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h3",{id:"import-trevas-jdbc-module"},"Import Trevas JDBC module"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-xml"},"\n fr.insee.trevas\n vtl-jdbc\n 1.4.1\n\n")),(0,o.kt)("h3",{id:"usage-of-the-vtl-jdbc-module"},"Usage of the ",(0,o.kt)("inlineCode",{parentName:"h3"},"vtl-jdbc")," module"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'connection = DriverManager.getConnection(...);\n\nStatement statement = connection.createStatement();\n\nJDBCDataset jdbcDataset = new JDBCDataset(() -> {\n try {\n return statement.executeQuery("select * from ds1;");\n } catch (SQLException se) {\n throw new RuntimeException(se);\n }\n});\n')))}u.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[4898],{3905:(e,t,r)=>{r.d(t,{Zo:()=>l,kt:()=>v});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var s=n.createContext({}),i=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},l=function(e){var t=i(e.components);return n.createElement(s.Provider,{value:t},e.children)},u="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,s=e.parentName,l=d(e,["components","mdxType","originalType","parentName"]),u=i(r),m=o,v=u["".concat(s,".").concat(m)]||u[m]||p[m]||a;return r?n.createElement(v,c(c({ref:t},l),{},{components:r})):n.createElement(v,c({ref:t},l))}));function v(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,c=new Array(a);c[0]=m;var d={};for(var s in t)hasOwnProperty.call(t,s)&&(d[s]=t[s]);d.originalType=e,d[u]="string"==typeof e?e:o,c[1]=d;for(var i=2;i{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>c,default:()=>u,frontMatter:()=>a,metadata:()=>d,toc:()=>i});var n=r(87462),o=(r(67294),r(3905));const a={id:"jdbc",title:"Basic mode - JDBC source",sidebar_label:"JDBC",slug:"/developer-guide/basic-mode/data-sources/jdbc",custom_edit_url:null},c=void 0,d={unversionedId:"developer-guide/basic-mode/data-sources/jdbc",id:"developer-guide/basic-mode/data-sources/jdbc",title:"Basic mode - JDBC source",description:"Import Trevas JDBC module",source:"@site/docs/developer-guide/basic-mode/data-sources/jdbc.mdx",sourceDirName:"developer-guide/basic-mode/data-sources",slug:"/developer-guide/basic-mode/data-sources/jdbc",permalink:"/Trevas/developer-guide/basic-mode/data-sources/jdbc",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1720593860,formattedLastUpdatedAt:"Jul 10, 2024",frontMatter:{id:"jdbc",title:"Basic mode - JDBC source",sidebar_label:"JDBC",slug:"/developer-guide/basic-mode/data-sources/jdbc",custom_edit_url:null},sidebar:"docs",previous:{title:"Overview",permalink:"/Trevas/developer-guide/basic-mode/data-sources"},next:{title:"JSON",permalink:"/Trevas/developer-guide/basic-mode/data-sources/json"}},s={},i=[{value:"Import Trevas JDBC module",id:"import-trevas-jdbc-module",level:3},{value:"Usage of the vtl-jdbc module",id:"usage-of-the-vtl-jdbc-module",level:3}],l={toc:i};function u(e){let{components:t,...r}=e;return(0,o.kt)("wrapper",(0,n.Z)({},l,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h3",{id:"import-trevas-jdbc-module"},"Import Trevas JDBC module"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-xml"},"\n fr.insee.trevas\n vtl-jdbc\n 1.4.1\n\n")),(0,o.kt)("h3",{id:"usage-of-the-vtl-jdbc-module"},"Usage of the ",(0,o.kt)("inlineCode",{parentName:"h3"},"vtl-jdbc")," module"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'connection = DriverManager.getConnection(...);\n\nStatement statement = connection.createStatement();\n\nJDBCDataset jdbcDataset = new JDBCDataset(() -> {\n try {\n return statement.executeQuery("select * from ds1;");\n } catch (SQLException se) {\n throw new RuntimeException(se);\n }\n});\n')))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/9beb3b0d.0d6a40ee.js b/assets/js/9beb3b0d.ecc8b3f1.js similarity index 97% rename from assets/js/9beb3b0d.0d6a40ee.js rename to assets/js/9beb3b0d.ecc8b3f1.js index b1ce7ed03..6ac84c683 100644 --- a/assets/js/9beb3b0d.0d6a40ee.js +++ b/assets/js/9beb3b0d.ecc8b3f1.js @@ -1 +1 @@ -"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[4875],{3905:(e,r,t)=>{t.d(r,{Zo:()=>c,kt:()=>g});var n=t(67294);function o(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function a(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function i(e){for(var r=1;r=0||(o[t]=e[t]);return o}(e,r);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var p=n.createContext({}),s=function(e){var r=n.useContext(p),t=r;return e&&(t="function"==typeof e?e(r):i(i({},r),e)),t},c=function(e){var r=s(e.components);return n.createElement(p.Provider,{value:r},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var r=e.children;return n.createElement(n.Fragment,{},r)}},m=n.forwardRef((function(e,r){var t=e.components,o=e.mdxType,a=e.originalType,p=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),u=s(t),m=o,g=u["".concat(p,".").concat(m)]||u[m]||d[m]||a;return t?n.createElement(g,i(i({ref:r},c),{},{components:t})):n.createElement(g,i({ref:r},c))}));function g(e,r){var t=arguments,o=r&&r.mdxType;if("string"==typeof e||o){var a=t.length,i=new Array(a);i[0]=m;var l={};for(var p in r)hasOwnProperty.call(r,p)&&(l[p]=r[p]);l.originalType=e,l[u]="string"==typeof e?e:o,i[1]=l;for(var s=2;s{t.r(r),t.d(r,{assets:()=>p,contentTitle:()=>i,default:()=>u,frontMatter:()=>a,metadata:()=>l,toc:()=>s});var n=t(87462),o=(t(67294),t(3905));const a={id:"join-operators",title:"VTL - Join operators",sidebar_label:"Join operators",slug:"/user-guide/coverage/join-operators",custom_edit_url:null},i=void 0,l={unversionedId:"user-guide/coverage/join-operators",id:"user-guide/coverage/join-operators",title:"VTL - Join operators",description:"| Name | Symbol | InMemory | Spark |",source:"@site/docs/user-guide/coverage/join-operators.mdx",sourceDirName:"user-guide/coverage",slug:"/user-guide/coverage/join-operators",permalink:"/Trevas/user-guide/coverage/join-operators",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1719441741,formattedLastUpdatedAt:"Jun 26, 2024",frontMatter:{id:"join-operators",title:"VTL - Join operators",sidebar_label:"Join operators",slug:"/user-guide/coverage/join-operators",custom_edit_url:null},sidebar:"docs",previous:{title:"General purpose operators",permalink:"/Trevas/user-guide/coverage/general-operators"},next:{title:"String operators",permalink:"/Trevas/user-guide/coverage/string-operators"}},p={},s=[],c={toc:s};function u(e){let{components:r,...t}=e;return(0,o.kt)("wrapper",(0,n.Z)({},c,t,{components:r,mdxType:"MDXLayout"}),(0,o.kt)("table",null,(0,o.kt)("thead",{parentName:"table"},(0,o.kt)("tr",{parentName:"thead"},(0,o.kt)("th",{parentName:"tr",align:null},"Name"),(0,o.kt)("th",{parentName:"tr",align:"left"},"Symbol"),(0,o.kt)("th",{parentName:"tr",align:"center"},"InMemory"),(0,o.kt)("th",{parentName:"tr",align:"center"},"Spark"))),(0,o.kt)("tbody",{parentName:"table"},(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Join"),(0,o.kt)("td",{parentName:"tr",align:"left"},"inner_join, left_join, full_join, cross_join"),(0,o.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,o.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")))))}u.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[4875],{3905:(e,r,t)=>{t.d(r,{Zo:()=>c,kt:()=>g});var n=t(67294);function o(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function a(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function i(e){for(var r=1;r=0||(o[t]=e[t]);return o}(e,r);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var p=n.createContext({}),s=function(e){var r=n.useContext(p),t=r;return e&&(t="function"==typeof e?e(r):i(i({},r),e)),t},c=function(e){var r=s(e.components);return n.createElement(p.Provider,{value:r},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var r=e.children;return n.createElement(n.Fragment,{},r)}},m=n.forwardRef((function(e,r){var t=e.components,o=e.mdxType,a=e.originalType,p=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),u=s(t),m=o,g=u["".concat(p,".").concat(m)]||u[m]||d[m]||a;return t?n.createElement(g,i(i({ref:r},c),{},{components:t})):n.createElement(g,i({ref:r},c))}));function g(e,r){var t=arguments,o=r&&r.mdxType;if("string"==typeof e||o){var a=t.length,i=new Array(a);i[0]=m;var l={};for(var p in r)hasOwnProperty.call(r,p)&&(l[p]=r[p]);l.originalType=e,l[u]="string"==typeof e?e:o,i[1]=l;for(var s=2;s{t.r(r),t.d(r,{assets:()=>p,contentTitle:()=>i,default:()=>u,frontMatter:()=>a,metadata:()=>l,toc:()=>s});var n=t(87462),o=(t(67294),t(3905));const a={id:"join-operators",title:"VTL - Join operators",sidebar_label:"Join operators",slug:"/user-guide/coverage/join-operators",custom_edit_url:null},i=void 0,l={unversionedId:"user-guide/coverage/join-operators",id:"user-guide/coverage/join-operators",title:"VTL - Join operators",description:"| Name | Symbol | InMemory | Spark |",source:"@site/docs/user-guide/coverage/join-operators.mdx",sourceDirName:"user-guide/coverage",slug:"/user-guide/coverage/join-operators",permalink:"/Trevas/user-guide/coverage/join-operators",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1720593860,formattedLastUpdatedAt:"Jul 10, 2024",frontMatter:{id:"join-operators",title:"VTL - Join operators",sidebar_label:"Join operators",slug:"/user-guide/coverage/join-operators",custom_edit_url:null},sidebar:"docs",previous:{title:"General purpose operators",permalink:"/Trevas/user-guide/coverage/general-operators"},next:{title:"String operators",permalink:"/Trevas/user-guide/coverage/string-operators"}},p={},s=[],c={toc:s};function u(e){let{components:r,...t}=e;return(0,o.kt)("wrapper",(0,n.Z)({},c,t,{components:r,mdxType:"MDXLayout"}),(0,o.kt)("table",null,(0,o.kt)("thead",{parentName:"table"},(0,o.kt)("tr",{parentName:"thead"},(0,o.kt)("th",{parentName:"tr",align:null},"Name"),(0,o.kt)("th",{parentName:"tr",align:"left"},"Symbol"),(0,o.kt)("th",{parentName:"tr",align:"center"},"InMemory"),(0,o.kt)("th",{parentName:"tr",align:"center"},"Spark"))),(0,o.kt)("tbody",{parentName:"table"},(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},"Join"),(0,o.kt)("td",{parentName:"tr",align:"left"},"inner_join, left_join, full_join, cross_join"),(0,o.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,o.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")))))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/9e7e4436.6b7e3733.js b/assets/js/9e7e4436.6b7e3733.js new file mode 100644 index 000000000..adc63d700 --- /dev/null +++ b/assets/js/9e7e4436.6b7e3733.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[9992],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>f});var r=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function l(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var s=r.createContext({}),d=function(e){var t=r.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},u=function(e){var t=d(e.components);return r.createElement(s.Provider,{value:t},e.children)},p="mdxType",c={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,a=e.originalType,s=e.parentName,u=i(e,["components","mdxType","originalType","parentName"]),p=d(n),m=o,f=p["".concat(s,".").concat(m)]||p[m]||c[m]||a;return n?r.createElement(f,l(l({ref:t},u),{},{components:n})):r.createElement(f,l({ref:t},u))}));function f(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=n.length,l=new Array(a);l[0]=m;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i[p]="string"==typeof e?e:o,l[1]=i;for(var d=2;d{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>l,default:()=>p,frontMatter:()=>a,metadata:()=>i,toc:()=>d});var r=n(87462),o=(n(67294),n(3905));const a={id:"sdmx",title:"Spark mode - SDMX source",sidebar_label:"SDMX",slug:"/developer-guide/spark-mode/data-sources/sdmx",custom_edit_url:null},l=void 0,i={unversionedId:"developer-guide/spark-mode/data-sources/sdmx",id:"developer-guide/spark-mode/data-sources/sdmx",title:"Spark mode - SDMX source",description:"vtl-sdmx module exposes the following utilities.",source:"@site/docs/developer-guide/spark-mode/data-sources/sdmx.mdx",sourceDirName:"developer-guide/spark-mode/data-sources",slug:"/developer-guide/spark-mode/data-sources/sdmx",permalink:"/Trevas/developer-guide/spark-mode/data-sources/sdmx",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1720593860,formattedLastUpdatedAt:"Jul 10, 2024",frontMatter:{id:"sdmx",title:"Spark mode - SDMX source",sidebar_label:"SDMX",slug:"/developer-guide/spark-mode/data-sources/sdmx",custom_edit_url:null},sidebar:"docs",previous:{title:"Parquet",permalink:"/Trevas/developer-guide/spark-mode/data-sources/parquet"},next:{title:"Others",permalink:"/Trevas/developer-guide/spark-mode/data-sources/others"}},s={},d=[{value:"buildStructureFromSDMX3 utility",id:"buildstructurefromsdmx3-utility",level:3},{value:"SDMXVTLWorkflow object",id:"sdmxvtlworkflow-object",level:3},{value:"SDMXVTLWorkflow run function - Preview mode",id:"sdmxvtlworkflow-run-function---preview-mode",level:3},{value:"SDMXVTLWorkflow run function",id:"sdmxvtlworkflow-run-function",level:3},{value:"SDMXVTLWorkflow getTransformationsVTL function",id:"sdmxvtlworkflow-gettransformationsvtl-function",level:3},{value:"SDMXVTLWorkflow getRulesetsVTL function",id:"sdmxvtlworkflow-getrulesetsvtl-function",level:3},{value:"Troubleshooting",id:"troubleshooting",level:2},{value:"Hadoop client",id:"hadoop-client",level:3}],u={toc:d};function p(e){let{components:t,...n}=e;return(0,o.kt)("wrapper",(0,r.Z)({},u,n,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,(0,o.kt)("inlineCode",{parentName:"p"},"vtl-sdmx")," module exposes the following utilities."),(0,o.kt)("h3",{id:"buildstructurefromsdmx3-utility"},(0,o.kt)("inlineCode",{parentName:"h3"},"buildStructureFromSDMX3")," utility"),(0,o.kt)("p",null,(0,o.kt)("inlineCode",{parentName:"p"},"TrevasSDMXUtils.buildStructureFromSDMX3")," allows to obtain a Trevas DataStructure."),(0,o.kt)("p",null,"Providing corresponding data, you can build a Trevas Dataset."),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'Structured.DataStructure structure = TrevasSDMXUtils.buildStructureFromSDMX3("path/sdmx_file.xml", "STRUCT_ID");\n\nSparkDataset ds = new SparkDataset(\n spark.read()\n .option("header", "true")\n .option("delimiter", ";")\n .option("quote", "\\"")\n .csv("path"),\n structure\n);\n')),(0,o.kt)("h3",{id:"sdmxvtlworkflow-object"},(0,o.kt)("inlineCode",{parentName:"h3"},"SDMXVTLWorkflow")," object"),(0,o.kt)("p",null,"The ",(0,o.kt)("inlineCode",{parentName:"p"},"SDMXVTLWorkflow")," constructor takes 3 arguments:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"a ",(0,o.kt)("inlineCode",{parentName:"li"},"ScriptEngine")," (Trevas or another)"),(0,o.kt)("li",{parentName:"ul"},"a ",(0,o.kt)("inlineCode",{parentName:"li"},"ReadableDataLocation")," to handle an SDMX message"),(0,o.kt)("li",{parentName:"ul"},"a map of names / Datasets")),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'SparkSession.builder()\n .appName("test")\n .master("local")\n .getOrCreate();\n\nScriptEngineManager mgr = new ScriptEngineManager();\nScriptEngine engine = mgr.getEngineByExtension("vtl");\nengine.put(VtlScriptEngine.PROCESSING_ENGINE_NAMES, "spark");\n\nReadableDataLocation rdl = new ReadableDataLocationTmp("src/test/resources/DSD_BPE_CENSUS.xml");\n\nSDMXVTLWorkflow sdmxVtlWorkflow = new SDMXVTLWorkflow(engine, rdl, Map.of());\n')),(0,o.kt)("p",null,"This object then allows you to activate the following 3 functions."),(0,o.kt)("h3",{id:"sdmxvtlworkflow-run-function---preview-mode"},"SDMXVTLWorkflow ",(0,o.kt)("inlineCode",{parentName:"h3"},"run")," function - Preview mode"),(0,o.kt)("p",null,"The ",(0,o.kt)("inlineCode",{parentName:"p"},"run")," function can easily be called in a preview mode, without attached data."),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'ScriptEngineManager mgr = new ScriptEngineManager();\nScriptEngine engine = mgr.getEngineByExtension("vtl");\nengine.put(VtlScriptEngine.PROCESSING_ENGINE_NAMES, "spark");\n\nReadableDataLocation rdl = new ReadableDataLocationTmp("src/test/resources/DSD_BPE_CENSUS.xml");\n\nSDMXVTLWorkflow sdmxVtlWorkflow = new SDMXVTLWorkflow(engine, rdl, Map.of());\n\n// instead of using TrevasSDMXUtils.buildStructureFromSDMX3 and data sources\n// to build Trevas Datasets, sdmxVtlWorkflow.getEmptyDatasets()\n// will handle SDMX message structures to produce Trevas Datasets\n// with metadata defined in this message, and adding empty data\nMap emptyDatasets = sdmxVtlWorkflow.getEmptyDatasets();\nengine.getBindings(ScriptContext.ENGINE_SCOPE).putAll(emptyDatasets);\n\nMap result = sdmxVtlWorkflow.run();\n')),(0,o.kt)("p",null,"The preview mode allows to check the conformity of the SDMX file and the metadata of the output datasets."),(0,o.kt)("h3",{id:"sdmxvtlworkflow-run-function"},"SDMXVTLWorkflow ",(0,o.kt)("inlineCode",{parentName:"h3"},"run")," function"),(0,o.kt)("p",null,"Once an ",(0,o.kt)("inlineCode",{parentName:"p"},"SDMXVTLWorkflow")," is built, it is easy to run the VTL validations and transformations defined in the SDMX file."),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'Structured.DataStructure structure = TrevasSDMXUtils.buildStructureFromSDMX3("path/sdmx_file.xml", "ds1");\n\nSparkDataset ds1 = new SparkDataset(\n spark.read()\n .option("header", "true")\n .option("delimiter", ";")\n .option("quote", "\\"")\n .csv("path/data.csv"),\n structure\n);\n\nScriptEngineManager mgr = new ScriptEngineManager();\nScriptEngine engine = mgr.getEngineByExtension("vtl");\nengine.put(VtlScriptEngine.PROCESSING_ENGINE_NAMES, "spark");\n\nMap inputs = Map.of("ds1", ds1);\n\nReadableDataLocation rdl = new ReadableDataLocationTmp("path/sdmx_file.xml");\n\nSDMXVTLWorkflow sdmxVtlWorkflow = new SDMXVTLWorkflow(engine, rdl, inputs);\n\nMap bindings = sdmxVtlWorkflow.run();\n')),(0,o.kt)("p",null,"As a result, one will receive all the datasets defined as persistent in the ",(0,o.kt)("inlineCode",{parentName:"p"},"TransformationSchemes")," definition."),(0,o.kt)("h3",{id:"sdmxvtlworkflow-gettransformationsvtl-function"},"SDMXVTLWorkflow ",(0,o.kt)("inlineCode",{parentName:"h3"},"getTransformationsVTL")," function"),(0,o.kt)("p",null,"Gets the VTL code corresponding to the SDMX TransformationSchemes definition."),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},"SDMXVTLWorkflow sdmxVtlWorkflow = new SDMXVTLWorkflow(engine, rdl, Map.of());\nString vtl = sdmxVtlWorkflow.getTransformationsVTL();\n")),(0,o.kt)("h3",{id:"sdmxvtlworkflow-getrulesetsvtl-function"},"SDMXVTLWorkflow ",(0,o.kt)("inlineCode",{parentName:"h3"},"getRulesetsVTL")," function"),(0,o.kt)("p",null,"Gets the VTL code corresponding to the SDMX TransformationSchemes definition."),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},"SDMXVTLWorkflow sdmxVtlWorkflow = new SDMXVTLWorkflow(engine, rdl, Map.of());\nString dprs = sdmxVtlWorkflow.getRulesetsVTL();\n")),(0,o.kt)("h2",{id:"troubleshooting"},"Troubleshooting"),(0,o.kt)("h3",{id:"hadoop-client"},"Hadoop client"),(0,o.kt)("p",null,"The integration of ",(0,o.kt)("inlineCode",{parentName:"p"},"vtl-modules")," with ",(0,o.kt)("inlineCode",{parentName:"p"},"hadoop-client")," can cause dependency issues."),(0,o.kt)("p",null,"It was noted that ",(0,o.kt)("inlineCode",{parentName:"p"},"com.fasterxml.woodstox.woodstox-core")," is imported by ",(0,o.kt)("inlineCode",{parentName:"p"},"hadoop-client"),", with an incompatible version for a ",(0,o.kt)("inlineCode",{parentName:"p"},"vtl-sdmx")," sub-dependency."),(0,o.kt)("p",null,"A way to fix this is to exclude ",(0,o.kt)("inlineCode",{parentName:"p"},"com.fasterxml.woodstox.woodstox-core")," dependency from ",(0,o.kt)("inlineCode",{parentName:"p"},"hadoop-client")," and import a newest version in your ",(0,o.kt)("inlineCode",{parentName:"p"},"pom.xml"),":"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-xml"},"\n org.apache.hadoop\n hadoop-client\n 3.3.4\n \n \n com.fasterxml.woodstox\n woodstox-core\n \n \n\n\n com.fasterxml.woodstox\n woodstox-core\n 6.5.1\n\n")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/a1fdcfaa.573febf3.js b/assets/js/a1fdcfaa.9676a54d.js similarity index 99% rename from assets/js/a1fdcfaa.573febf3.js rename to assets/js/a1fdcfaa.9676a54d.js index f4c23b66f..fb01f32d0 100644 --- a/assets/js/a1fdcfaa.573febf3.js +++ b/assets/js/a1fdcfaa.9676a54d.js @@ -1 +1 @@ -"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[8336],{3905:(t,e,a)=>{a.d(e,{Zo:()=>m,kt:()=>k});var r=a(67294);function n(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function l(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.push.apply(a,r)}return a}function i(t){for(var e=1;e=0||(n[a]=t[a]);return n}(t,e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,a)&&(n[a]=t[a])}return n}var p=r.createContext({}),d=function(t){var e=r.useContext(p),a=e;return t&&(a="function"==typeof t?t(e):i(i({},e),t)),a},m=function(t){var e=d(t.components);return r.createElement(p.Provider,{value:e},t.children)},c="mdxType",g={inlineCode:"code",wrapper:function(t){var e=t.children;return r.createElement(r.Fragment,{},e)}},u=r.forwardRef((function(t,e){var a=t.components,n=t.mdxType,l=t.originalType,p=t.parentName,m=o(t,["components","mdxType","originalType","parentName"]),c=d(a),u=n,k=c["".concat(p,".").concat(u)]||c[u]||g[u]||l;return a?r.createElement(k,i(i({ref:e},m),{},{components:a})):r.createElement(k,i({ref:e},m))}));function k(t,e){var a=arguments,n=e&&e.mdxType;if("string"==typeof t||n){var l=a.length,i=new Array(l);i[0]=u;var o={};for(var p in e)hasOwnProperty.call(e,p)&&(o[p]=e[p]);o.originalType=t,o[c]="string"==typeof t?t:n,i[1]=o;for(var d=2;d{a.r(e),a.d(e,{assets:()=>p,contentTitle:()=>i,default:()=>c,frontMatter:()=>l,metadata:()=>o,toc:()=>d});var r=a(87462),n=(a(67294),a(3905));const l={id:"analytic-operators",title:"VTL - Analytic operators",sidebar_label:"Analytic operators",slug:"/user-guide/coverage/analytic-operators",custom_edit_url:null},i=void 0,o={unversionedId:"user-guide/coverage/analytic-operators",id:"user-guide/coverage/analytic-operators",title:"VTL - Analytic operators",description:"| Name | Symbol | InMemory | Spark |",source:"@site/docs/user-guide/coverage/analytic-operators.mdx",sourceDirName:"user-guide/coverage",slug:"/user-guide/coverage/analytic-operators",permalink:"/Trevas/user-guide/coverage/analytic-operators",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1719441741,formattedLastUpdatedAt:"Jun 26, 2024",frontMatter:{id:"analytic-operators",title:"VTL - Analytic operators",sidebar_label:"Analytic operators",slug:"/user-guide/coverage/analytic-operators",custom_edit_url:null},sidebar:"docs",previous:{title:"Aggregate operators",permalink:"/Trevas/user-guide/coverage/aggregate-operators"},next:{title:"Data validation operators",permalink:"/Trevas/user-guide/coverage/data-validation-operators"}},p={},d=[],m={toc:d};function c(t){let{components:e,...a}=t;return(0,n.kt)("wrapper",(0,r.Z)({},m,a,{components:e,mdxType:"MDXLayout"}),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:"left"},"Symbol"),(0,n.kt)("th",{parentName:"tr",align:"center"},"InMemory"),(0,n.kt)("th",{parentName:"tr",align:"center"},"Spark"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Analytic invocation"),(0,n.kt)("td",{parentName:"tr",align:"left"}),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u274c"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Counting the number of data points"),(0,n.kt)("td",{parentName:"tr",align:"left"},"count"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u274c"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Minimum value"),(0,n.kt)("td",{parentName:"tr",align:"left"},"min"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u274c"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Maximum value"),(0,n.kt)("td",{parentName:"tr",align:"left"},"max"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u274c"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Median value"),(0,n.kt)("td",{parentName:"tr",align:"left"},"median"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u274c"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Sum"),(0,n.kt)("td",{parentName:"tr",align:"left"},"sum"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u274c"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Average value"),(0,n.kt)("td",{parentName:"tr",align:"left"},"avg"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u274c"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Population standard deviation"),(0,n.kt)("td",{parentName:"tr",align:"left"},"stddev_pop"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u274c"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Sample standard deviation"),(0,n.kt)("td",{parentName:"tr",align:"left"},"stddev_samp"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u274c"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Population variance"),(0,n.kt)("td",{parentName:"tr",align:"left"},"var_pop"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u274c"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Sample variance"),(0,n.kt)("td",{parentName:"tr",align:"left"},"var_samp"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u274c"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"First value"),(0,n.kt)("td",{parentName:"tr",align:"left"},"first_value"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u274c"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Last value"),(0,n.kt)("td",{parentName:"tr",align:"left"},"last_value"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u274c"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Lag"),(0,n.kt)("td",{parentName:"tr",align:"left"},"lag"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u274c"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"lead"),(0,n.kt)("td",{parentName:"tr",align:"left"},"lead"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u274c"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Rank"),(0,n.kt)("td",{parentName:"tr",align:"left"},"rank"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u274c"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Ratio to report"),(0,n.kt)("td",{parentName:"tr",align:"left"},"ratio_to_report"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u274c"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")))))}c.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[8336],{3905:(t,e,a)=>{a.d(e,{Zo:()=>m,kt:()=>k});var r=a(67294);function n(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function l(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.push.apply(a,r)}return a}function i(t){for(var e=1;e=0||(n[a]=t[a]);return n}(t,e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,a)&&(n[a]=t[a])}return n}var p=r.createContext({}),d=function(t){var e=r.useContext(p),a=e;return t&&(a="function"==typeof t?t(e):i(i({},e),t)),a},m=function(t){var e=d(t.components);return r.createElement(p.Provider,{value:e},t.children)},c="mdxType",g={inlineCode:"code",wrapper:function(t){var e=t.children;return r.createElement(r.Fragment,{},e)}},u=r.forwardRef((function(t,e){var a=t.components,n=t.mdxType,l=t.originalType,p=t.parentName,m=o(t,["components","mdxType","originalType","parentName"]),c=d(a),u=n,k=c["".concat(p,".").concat(u)]||c[u]||g[u]||l;return a?r.createElement(k,i(i({ref:e},m),{},{components:a})):r.createElement(k,i({ref:e},m))}));function k(t,e){var a=arguments,n=e&&e.mdxType;if("string"==typeof t||n){var l=a.length,i=new Array(l);i[0]=u;var o={};for(var p in e)hasOwnProperty.call(e,p)&&(o[p]=e[p]);o.originalType=t,o[c]="string"==typeof t?t:n,i[1]=o;for(var d=2;d{a.r(e),a.d(e,{assets:()=>p,contentTitle:()=>i,default:()=>c,frontMatter:()=>l,metadata:()=>o,toc:()=>d});var r=a(87462),n=(a(67294),a(3905));const l={id:"analytic-operators",title:"VTL - Analytic operators",sidebar_label:"Analytic operators",slug:"/user-guide/coverage/analytic-operators",custom_edit_url:null},i=void 0,o={unversionedId:"user-guide/coverage/analytic-operators",id:"user-guide/coverage/analytic-operators",title:"VTL - Analytic operators",description:"| Name | Symbol | InMemory | Spark |",source:"@site/docs/user-guide/coverage/analytic-operators.mdx",sourceDirName:"user-guide/coverage",slug:"/user-guide/coverage/analytic-operators",permalink:"/Trevas/user-guide/coverage/analytic-operators",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1720593860,formattedLastUpdatedAt:"Jul 10, 2024",frontMatter:{id:"analytic-operators",title:"VTL - Analytic operators",sidebar_label:"Analytic operators",slug:"/user-guide/coverage/analytic-operators",custom_edit_url:null},sidebar:"docs",previous:{title:"Aggregate operators",permalink:"/Trevas/user-guide/coverage/aggregate-operators"},next:{title:"Data validation operators",permalink:"/Trevas/user-guide/coverage/data-validation-operators"}},p={},d=[],m={toc:d};function c(t){let{components:e,...a}=t;return(0,n.kt)("wrapper",(0,r.Z)({},m,a,{components:e,mdxType:"MDXLayout"}),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:"left"},"Symbol"),(0,n.kt)("th",{parentName:"tr",align:"center"},"InMemory"),(0,n.kt)("th",{parentName:"tr",align:"center"},"Spark"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Analytic invocation"),(0,n.kt)("td",{parentName:"tr",align:"left"}),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u274c"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Counting the number of data points"),(0,n.kt)("td",{parentName:"tr",align:"left"},"count"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u274c"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Minimum value"),(0,n.kt)("td",{parentName:"tr",align:"left"},"min"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u274c"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Maximum value"),(0,n.kt)("td",{parentName:"tr",align:"left"},"max"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u274c"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Median value"),(0,n.kt)("td",{parentName:"tr",align:"left"},"median"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u274c"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Sum"),(0,n.kt)("td",{parentName:"tr",align:"left"},"sum"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u274c"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Average value"),(0,n.kt)("td",{parentName:"tr",align:"left"},"avg"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u274c"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Population standard deviation"),(0,n.kt)("td",{parentName:"tr",align:"left"},"stddev_pop"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u274c"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Sample standard deviation"),(0,n.kt)("td",{parentName:"tr",align:"left"},"stddev_samp"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u274c"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Population variance"),(0,n.kt)("td",{parentName:"tr",align:"left"},"var_pop"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u274c"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Sample variance"),(0,n.kt)("td",{parentName:"tr",align:"left"},"var_samp"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u274c"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"First value"),(0,n.kt)("td",{parentName:"tr",align:"left"},"first_value"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u274c"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Last value"),(0,n.kt)("td",{parentName:"tr",align:"left"},"last_value"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u274c"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Lag"),(0,n.kt)("td",{parentName:"tr",align:"left"},"lag"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u274c"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"lead"),(0,n.kt)("td",{parentName:"tr",align:"left"},"lead"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u274c"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Rank"),(0,n.kt)("td",{parentName:"tr",align:"left"},"rank"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u274c"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Ratio to report"),(0,n.kt)("td",{parentName:"tr",align:"left"},"ratio_to_report"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u274c"),(0,n.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")))))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/a2e0904c.7913b622.js b/assets/js/a2e0904c.9ca689c3.js similarity index 97% rename from assets/js/a2e0904c.7913b622.js rename to assets/js/a2e0904c.9ca689c3.js index 1ffb672a8..45f3dd183 100644 --- a/assets/js/a2e0904c.7913b622.js +++ b/assets/js/a2e0904c.9ca689c3.js @@ -1 +1 @@ -"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[7318],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>v});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function i(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var s=a.createContext({}),u=function(e){var t=a.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},p=function(e){var t=u(e.components);return a.createElement(s.Provider,{value:t},e.children)},c="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},b=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,l=e.originalType,s=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),c=u(r),b=n,v=c["".concat(s,".").concat(b)]||c[b]||d[b]||l;return r?a.createElement(v,i(i({ref:t},p),{},{components:r})):a.createElement(v,i({ref:t},p))}));function v(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=r.length,i=new Array(l);i[0]=b;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o[c]="string"==typeof e?e:n,i[1]=o;for(var u=2;u{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>c,frontMatter:()=>l,metadata:()=>o,toc:()=>u});var a=r(87462),n=(r(67294),r(3905));const l={id:"index-lab",title:"Trevas Jupyter",sidebar_label:"Trevas Lab",slug:"/user-guide/vtl/client-apps/lab",custom_edit_url:null},i=void 0,o={unversionedId:"user-guide/vtl/client-apps/lab/index-lab",id:"user-guide/vtl/client-apps/lab/index-lab",title:"Trevas Jupyter",description:"Trevas Lab is a web application that enables to connect to data sources and to realize VTL treatments on them.",source:"@site/docs/user-guide/vtl/client-apps/lab/index-lab.mdx",sourceDirName:"user-guide/vtl/client-apps/lab",slug:"/user-guide/vtl/client-apps/lab",permalink:"/Trevas/user-guide/vtl/client-apps/lab",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1719441741,formattedLastUpdatedAt:"Jun 26, 2024",frontMatter:{id:"index-lab",title:"Trevas Jupyter",sidebar_label:"Trevas Lab",slug:"/user-guide/vtl/client-apps/lab",custom_edit_url:null},sidebar:"docs",previous:{title:"Trevas Jupyter",permalink:"/Trevas/user-guide/vtl/client-apps/jupyter"},next:{title:"Overview",permalink:"/Trevas/user-guide/coverage"}},s={},u=[{value:"Sources",id:"sources",level:3},{value:"Github",id:"github",level:4},{value:"Docker Hub",id:"docker-hub",level:4},{value:"Demo",id:"demo",level:3}],p={toc:u};function c(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,a.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"Trevas Lab")," is a web application that enables to connect to data sources and to realize VTL treatments on them."),(0,n.kt)("h3",{id:"sources"},"Sources"),(0,n.kt)("h4",{id:"github"},"Github"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"https://github.com/InseeFrLab/Trevas-Lab-UI"},"Trevas Lab UI")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"https://github.com/InseeFrLab/Trevas-Lab"},"Trevas Lab")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"https://github.com/InseeFrLab/Trevas-Spark-Hadoop"},"Trevas Spark Hadoop"))),(0,n.kt)("h4",{id:"docker-hub"},"Docker Hub"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"https://hub.docker.com/r/inseefrlab/trevas-lab-ui"},"Trevas Lab UI")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"https://hub.docker.com/r/inseefrlab/trevas-lab"},"Trevas Lab")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"https://hub.docker.com/r/inseefrlab/spark-hadoop"},"Trevas Spark Hadoop"))),(0,n.kt)("h3",{id:"demo"},"Demo"),(0,n.kt)("p",null,"A video will be coming soon"))}c.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[7318],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>v});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function i(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var s=a.createContext({}),u=function(e){var t=a.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},p=function(e){var t=u(e.components);return a.createElement(s.Provider,{value:t},e.children)},c="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},b=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,l=e.originalType,s=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),c=u(r),b=n,v=c["".concat(s,".").concat(b)]||c[b]||d[b]||l;return r?a.createElement(v,i(i({ref:t},p),{},{components:r})):a.createElement(v,i({ref:t},p))}));function v(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=r.length,i=new Array(l);i[0]=b;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o[c]="string"==typeof e?e:n,i[1]=o;for(var u=2;u{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>c,frontMatter:()=>l,metadata:()=>o,toc:()=>u});var a=r(87462),n=(r(67294),r(3905));const l={id:"index-lab",title:"Trevas Jupyter",sidebar_label:"Trevas Lab",slug:"/user-guide/vtl/client-apps/lab",custom_edit_url:null},i=void 0,o={unversionedId:"user-guide/vtl/client-apps/lab/index-lab",id:"user-guide/vtl/client-apps/lab/index-lab",title:"Trevas Jupyter",description:"Trevas Lab is a web application that enables to connect to data sources and to realize VTL treatments on them.",source:"@site/docs/user-guide/vtl/client-apps/lab/index-lab.mdx",sourceDirName:"user-guide/vtl/client-apps/lab",slug:"/user-guide/vtl/client-apps/lab",permalink:"/Trevas/user-guide/vtl/client-apps/lab",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1720593860,formattedLastUpdatedAt:"Jul 10, 2024",frontMatter:{id:"index-lab",title:"Trevas Jupyter",sidebar_label:"Trevas Lab",slug:"/user-guide/vtl/client-apps/lab",custom_edit_url:null},sidebar:"docs",previous:{title:"Trevas Jupyter",permalink:"/Trevas/user-guide/vtl/client-apps/jupyter"},next:{title:"Overview",permalink:"/Trevas/user-guide/coverage"}},s={},u=[{value:"Sources",id:"sources",level:3},{value:"Github",id:"github",level:4},{value:"Docker Hub",id:"docker-hub",level:4},{value:"Demo",id:"demo",level:3}],p={toc:u};function c(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,a.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"Trevas Lab")," is a web application that enables to connect to data sources and to realize VTL treatments on them."),(0,n.kt)("h3",{id:"sources"},"Sources"),(0,n.kt)("h4",{id:"github"},"Github"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"https://github.com/InseeFrLab/Trevas-Lab-UI"},"Trevas Lab UI")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"https://github.com/InseeFrLab/Trevas-Lab"},"Trevas Lab")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"https://github.com/InseeFrLab/Trevas-Spark-Hadoop"},"Trevas Spark Hadoop"))),(0,n.kt)("h4",{id:"docker-hub"},"Docker Hub"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"https://hub.docker.com/r/inseefrlab/trevas-lab-ui"},"Trevas Lab UI")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"https://hub.docker.com/r/inseefrlab/trevas-lab"},"Trevas Lab")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"https://hub.docker.com/r/inseefrlab/spark-hadoop"},"Trevas Spark Hadoop"))),(0,n.kt)("h3",{id:"demo"},"Demo"),(0,n.kt)("p",null,"A video will be coming soon"))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/a35ba3f2.a8ec33ad.js b/assets/js/a35ba3f2.3947e5de.js similarity index 99% rename from assets/js/a35ba3f2.a8ec33ad.js rename to assets/js/a35ba3f2.3947e5de.js index 090056326..ed718ba59 100644 --- a/assets/js/a35ba3f2.a8ec33ad.js +++ b/assets/js/a35ba3f2.3947e5de.js @@ -1 +1 @@ -"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[471],{33168:(e,n,t)=>{t.d(n,{Z:()=>i});var a=t(67294),r=t(91262);const i=(0,a.memo)((e=>{const{script:n}=e;return a.createElement(r.Z,null,(()=>{const e=t(46182).AntlrEditor,r=t(49256),{monarchDefinition:i,getSuggestionsFromRange:o}=t(35875),l={...r,getSuggestionsFromRange:o,monarchDefinition:i};return a.createElement(e,{script:n,tools:l,height:"10vh",options:{minimap:{enabled:!1},lineNumbers:!1}})}))}))},35875:(e,n,t)=>{t.r(n),t.d(n,{getSuggestionsFromRange:()=>d,monarchDefinition:()=>a});const a=JSON.parse('{"defaultToken":"invalid","tokenPostfix":".vtl","keywords":[],"typeKeywords":[],"operators":[],"specials":[],"variables":[],"symbols":"_RGX_/[=>](?!@symbols)/","delimiter.bracket"],["_RGX_/@symbols/",{"cases":{"@operators":"operator","@specials":"operator.special","@default":""}}],["_RGX_/(@digits)[eE]([\\\\-+]?(@digits))?/","number.float"],["_RGX_/(@digits)\\\\.(@digits)([eE][\\\\-+]?(@digits))?/","number.float"],["_RGX_/0[xX](@hexdigits)/","number.hex"],["_RGX_/0[oO]?(@octaldigits)/","number.octal"],["_RGX_/0[bB](@binarydigits)/","number.binary"],["_RGX_/(@digits)/","number"],["_RGX_/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*$/","string.invalid"],["_RGX_/\'([^\'\\\\\\\\]|\\\\\\\\.)*$/","string.invalid"],["_RGX_/\\"/","string","@string_double"],["_RGX_/\'/","string","@string_single"],["_RGX_/`/","string","@string_backtick"]],"whitespace":[["_RGX_/[ \\\\t\\\\r\\\\n]+/",""],["_RGX_/\\\\/\\\\*\\\\*(?!\\\\/)/","comment.doc","@jsdoc"],["_RGX_/\\\\/\\\\*/","comment","@comment"],["_RGX_/\\\\/\\\\/.*$/","comment"]],"comment":[["_RGX_/[^\\\\/*]+/","comment"],["_RGX_/\\\\*\\\\//","comment","@pop"],["_RGX_/[\\\\/*]/","comment"]],"jsdoc":[["_RGX_/[^\\\\/*]+/","comment.doc"],["_RGX_/\\\\*\\\\//","comment.doc","@pop"],["_RGX_/[\\\\/*]/","comment.doc"]],"regexp":[["_RGX_/(\\\\{)(\\\\d+(?:,\\\\d*)?)(\\\\})/",["regexp.escape.control","regexp.escape.control","regexp.escape.control"]],["_RGX_/(\\\\[)(\\\\^?)(?=(?:[^\\\\]\\\\\\\\\\\\/]|\\\\\\\\.)+)/",["regexp.escape.control",{"token":"regexp.escape.control","next":"@regexrange"}]],["_RGX_/(\\\\()(\\\\?:|\\\\?=|\\\\?!)/",["regexp.escape.control","regexp.escape.control"]],["_RGX_/[()]/","regexp.escape.control"],["_RGX_/@regexpctl/","regexp.escape.control"],["_RGX_/[^\\\\\\\\\\\\/]/","regexp"],["_RGX_/@regexpesc/","regexp.escape"],["_RGX_/\\\\\\\\\\\\./","regexp.invalid"],["_RGX_/(\\\\/)([gimsuy]*)/",[{"token":"regexp","bracket":"@close","next":"@pop"},"keyword.other"]]],"regexrange":[["_RGX_/-/","regexp.escape.control"],["_RGX_/\\\\^/","regexp.invalid"],["_RGX_/@regexpesc/","regexp.escape"],["_RGX_/[^\\\\]]/","regexp"],["_RGX_/\\\\]/",{"token":"regexp.escape.control","next":"@pop","bracket":"@close"}]],"string_double":[["_RGX_/[^\\\\\\\\\\"]+/","string"],["_RGX_/@escapes/","string.escape"],["_RGX_/\\\\\\\\./","string.escape.invalid"],["_RGX_/\\"/","string","@pop"]],"string_single":[["_RGX_/[^\\\\\\\\\']+/","string"],["_RGX_/@escapes/","string.escape"],["_RGX_/\\\\\\\\./","string.escape.invalid"],["_RGX_/\'/","string","@pop"]],"string_backtick":[["_RGX_/\\\\$\\\\{/",{"token":"delimiter.bracket","next":"@bracketCounting"}],["_RGX_/[^\\\\\\\\`$]+/","string"],["_RGX_/@escapes/","string.escape"],["_RGX_/\\\\\\\\./","string.escape.invalid"],["_RGX_/`/","string","@pop"]],"bracketCounting":[["_RGX_/\\\\{/","delimiter.bracket","@bracketCounting"],["_RGX_/\\\\}/","delimiter.bracket","@pop"],{"include":"common"}]}}');var r=t(44878);const i=r.languages.CompletionItemKind.Function,o=(r.languages.CompletionItemKind.Variable,r.languages.CompletionItemKind.Keyword),l=r.languages.CompletionItemKind.Snippet,s=r.languages.CompletionItemInsertTextRule.InsertAsSnippet,d=e=>[{label:"eval",kind:i,insertText:"eval",range:e,documentation:{value:"The eval operator invokes an external, non-VTL routine, and returns its result as a Data Set or a scalar. \n\n **Syntax** \n\n eval(externalRoutineName({argument}{,argument}*) language languageName returns outputType)"}},{label:"if",kind:o,insertText:"if",range:e,documentation:{value:"Conditional operator \n\n **Syntax** \n\n if condition then thenOperand else elseOperand "}},{label:"then",kind:o,insertText:"then",range:e,documentation:{value:"Conditional operator \n\n **Syntax** \n\n if condition then thenOperand else elseOperand "}},{label:"else",kind:o,insertText:"else",range:e,documentation:{value:"Conditional operator \n\n **Syntax** \n\n if condition then thenOperand else elseOperand "}},{label:"using",kind:o,insertText:"using",range:e},{label:"with",kind:o,insertText:"with",range:e},{label:"current_date",kind:i,insertText:"current_date()",range:e,documentation:{value:"The operator current_date returns the current time as a date type. \n\n **Syntax** \n\n current_date() "}},{label:"on",kind:o,insertText:"on",range:e},{label:"drop",kind:o,insertText:"drop",range:e,documentation:{value:"The operator takes as input a Data Set (op) and some Component names of such a Data Set (comp). \n\n **Syntax** \n\n op [drop comp { , comp }* ] "}},{label:"keep",kind:o,insertText:"keep",range:e,documentation:{value:"The operator takes as input a Data Set (op) and some Component names of such a Data Set (comp). \n\n **Syntax** \n\n op [ keep comp {, comp }* ] "}},{label:"calc",kind:o,insertText:"calc",range:e,documentation:{value:"The operator calculates new Identifier, Measure or Attribute Components on the basis of sub-expressions at Component level. ***\n\n*Example*\n\n DS_1 [ calc Me_3 := Me_1 + Me_2] "}},{label:"attrcalc",kind:o,insertText:"attrcalc",range:e},{label:"rename",kind:o,insertText:"rename",range:e,documentation:{value:"The operator assigns new names to one or more Components (Identifier, Measure or Attribute Components). \n\n **Syntax** \n\n op [ rename comp_from to comp_to { , comp_from to comp_to}* ] "}},{label:"as",kind:o,insertText:"as",range:e},{label:"and",kind:o,insertText:"and",range:e,documentation:{value:"The and operator returns TRUE if both operands are TRUE, otherwise FALSE. The two operands must be of boolean type. \n\n **Syntax** \n\n op1 and op2 "}},{label:"or",kind:o,insertText:"or",range:e,documentation:{value:"The or operator returns TRUE if at least one of the operands is TRUE, otherwise FALSE. The two operands must be of boolean type. \n\n **Syntax** \n\n op1 or op2 "}},{label:"xor",kind:o,insertText:"xor",range:e,documentation:{value:"The xor operator returns TRUE if only one of the operand is TRUE (but not both), FALSE otherwise. The two operands must be of boolean type. \n\n **Syntax** \n\n op1 xor op2 "}},{label:"not",kind:o,insertText:"not",range:e,documentation:{value:"The not operator returns TRUE if op is FALSE, otherwise TRUE. The input operand must be of boolean type. \n\n **Syntax** \n\n not op2 "}},{label:"between",kind:i,insertText:"between",range:e,documentation:{value:"The operator returns TRUE if op is greater than or equal to from and lower than or equal to to. \n\n **Syntax** \n\n between (op, from, to) "}},{label:"levenshtein",kind:i,insertText:"levenshtein",range:e,documentation:{value:"The operator returns the levenshtein distance between the two inputed strings. \n\n **Syntax** \n\n levenshtein (left, right) "}},{label:"random",kind:i,insertText:"random",range:e,documentation:{value:"The operator returns a random decimal number >= 0 and <1. \n\n **Syntax** \n\n random()"}},{label:"in",kind:o,insertText:"in",range:e,documentation:{value:"The in operator returns TRUE if op belongs to the collection, FALSE otherwise. \n\n **Syntax** \n\n op in collection "}},{label:"not_in",kind:o,insertText:"not_in",range:e,documentation:{value:"The not_in operator returns FALSE if op belongs to the collection, TRUE otherwise. \n\n **Syntax** \n\n op not_in collection "}},{label:"isnull",kind:i,insertText:"isnull",range:e,documentation:{value:"The operator returns TRUE if the value of the operand is NULL, FALSE otherwise. \n\n **Syntax** \n\n isnull(op) "}},{label:"ex",kind:o,insertText:"ex",range:e},{label:"union",kind:i,insertText:"union",range:e,documentation:{value:"The union operator implements the union of functions (i.e., Data Sets). \n\n **Syntax** \n\n union ( ds { , ds }*) "}},{label:"diff",kind:o,insertText:"diff",range:e},{label:"symdiff",kind:i,insertText:"symdiff",range:e,documentation:{value:"The operator implements the symmetric set difference between functions (i.e. Data Sets), interpreting the Data Points of the input Data Sets as the elements in the operand Sets. \n\n **Syntax** \n\n symdiff(ds1, ds) "}},{label:"intersect",kind:i,insertText:"intersect",range:e,documentation:{value:"The intersect operator implements the intersection of functions (i.e., Data Sets). \n\n **Syntax** \n\n intersect ( ds { , ds }*) "}},{label:"keys",kind:o,insertText:"KEYS",range:e},{label:"check",kind:i,insertText:"check",range:e,documentation:{value:"*Syntax*\n\n check ( op { errorcode errorcode } { errorlevel errorlevel } { imbalance imbalance } { output } ) \n\noutput ::= invalid | all "}},{label:"exists_in",kind:i,insertText:"exists_in",range:e,documentation:{value:"The operator returns TRUE if the value of the operand is NULL, FALSE otherwise. \n\n **Syntax** \n\n exists_in ( op1, op2 { , retain } ) \n\n *retain* ::= true | false | all"}},{label:"to",kind:o,insertText:"to",range:e},{label:"return",kind:o,insertText:"return",range:e},{label:"imbalance",kind:o,insertText:"imbalance",range:e,documentation:{value:"Imbalance is a numeric mono-measure Data Set with the same Identifiers of op. If not specified then imbalance is NULL"}},{label:"errorcode",kind:o,insertText:"errorcode",range:e},{label:"all",kind:o,insertText:"all",range:e},{label:"aggr",kind:o,insertText:"aggr",range:e,documentation:{value:"The operator aggr calculates aggregations of dependent Components (Measures or Attributes) on the basis of sub-expressions at Component level. \n\n **Syntax** \n\n op [ aggr aggrClause { groupingClause } ] "}},{label:"errorlevel",kind:o,insertText:"errorlevel",range:e},{label:"order",kind:o,insertText:"order",range:e},{label:"by",kind:o,insertText:"by",range:e},{label:"rank",kind:i,insertText:"rank",range:e,documentation:{value:"Rank (order number) of a Data Point in an ordered set of Data Points. \n\n **Syntax** \n\n rank( firstOperand { , additionalOperand }* { groupingClause } \n\n rank( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"asc",kind:o,insertText:"asc",range:e},{label:"desc",kind:o,insertText:"desc",range:e},{label:"min",kind:i,insertText:"min",range:e,documentation:{value:"Minimum value of a set of values . \n\n **Syntax** \n\n min( firstOperand { , additionalOperand }* { groupingClause } \n\n min( firstOperand { , additionalOperand }* over ( analyticClause ) "}},{label:"max",kind:i,insertText:"max",range:e,documentation:{value:"Maximum value of a set of values . \n\n **Syntax** \n\n max( firstOperand { , additionalOperand }* { groupingClause } \n\n max( firstOperand { , additionalOperand }* over ( analyticClause ) "}},{label:"first",kind:o,insertText:"first",range:e},{label:"last",kind:o,insertText:"last",range:e},{label:"indexof",kind:o,insertText:"indexof",range:e},{label:"abs",kind:i,insertText:"abs",range:e,documentation:{value:"The operator abs calculates the absolute value of a number. \n\n For example:\n\n abs(-3.141) gives 3.141 \n\n **Syntax** \n\n abs(op) "}},{label:"key",kind:o,insertText:"key",range:e},{label:"ln",kind:i,insertText:"ln",range:e,documentation:{value:"The operator ln calculates the natural logarithm of a number. \n\n **Syntax** \n\n ln(op) "}},{label:"log",kind:i,insertText:"log",range:e,documentation:{value:"The operator log calculates the logarithm of num base op. \n\n **Syntax** \n\n log(op , num) "}},{label:"trunc",kind:i,insertText:"trunc",range:e,documentation:{value:"The operator trunc truncates the operand to a number of positions at the right of the decimal point equal to the numDigit parameter. \n\n **Syntax** \n\n trunc ( op , numDigit ) "}},{label:"round",kind:i,insertText:"round",range:e,documentation:{value:"The operator round rounds the operand to a number of positions at the right of the decimal point equal to the numDigit parameter. \n\n **Syntax** \n\n round( op , numDigit ) "}},{label:"power",kind:i,insertText:"power",range:e,documentation:{value:"The operator power raises a number (the base) to another one (the exponent). \n\n **Syntax** \n\n power(base , exponent) "}},{label:"mod",kind:i,insertText:"mod",range:e,documentation:{value:"The operator mod returns the remainder of op1 divided by op2. It returns op1 if divisor op2 is 0. \n\n **Syntax** \n\n mod(op1, op2 ) "}},{label:"length",kind:i,insertText:"length",range:e,documentation:{value:"Returns the length of a string. \n\n **Syntax** \n\n len( op ) "}},{label:"trim",kind:i,insertText:"trim",range:e,documentation:{value:'Removes trailing and leading whitespace from a string. For example, trim("Hello ") gives "Hello". \n\n **Syntax** \n\n trim(operand) '}},{label:"upper",kind:i,insertText:"upper",range:e,documentation:{value:'Converts the character case of a string in upper case. For example, upper("Hello") gives "HELLO". \n\n **Syntax** \n\n upper(operand) '}},{label:"lower",kind:i,insertText:"lower",range:e,documentation:{value:'Converts the character case of a string in lower case. For example, lower("Hello") gives "hello". \n\n **Syntax** \n\n lower(operand) '}},{label:"substr",kind:i,insertText:"substr",range:e,documentation:{value:"The operator extracts a substring from op, which must be string type. The substring starts from the start character of the input string and has a number of characters equal to the length parameter. \n\n **Syntax** \n\n substr ( op, start, length ) "}},{label:"sum",kind:i,insertText:"sum",range:e,documentation:{value:"Sum of a set of numbers. \n\n **Syntax** \n\n sun( firstOperand { , additionalOperand }* { groupingClause } "}},{label:"avg",kind:i,insertText:"avg",range:e,documentation:{value:"Average value of a set of numbers. \n\n **Syntax** \n\n avg( firstOperand { , additionalOperand }* { groupingClause } \n\n avg( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"median",kind:i,insertText:"median",range:e,documentation:{value:"Median value of a set of values . \n\n **Syntax** \n\n median( firstOperand { , additionalOperand }* { groupingClause } \n\n median( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"count",kind:i,insertText:"count",range:e,documentation:{value:"Number of Data Points. \n\n **Syntax** \n\n count( firstOperand { , additionalOperand }* { groupingClause } \n\n count( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"identifier",kind:o,insertText:"identifier",range:e},{label:"measure",kind:o,insertText:"measure",range:e},{label:"attribute",kind:o,insertText:"attribute",range:e},{label:"filter",kind:o,insertText:"filter",range:e,documentation:{value:"The operator takes as input a Data Set (op) and a boolean Component expression (filterCondition) and filters the input Data Points according to the evaluation of the condition. \n\n **Syntax** \n\n op[ filter filterCondition ] "}},{label:"merge",kind:o,insertText:"merge",range:e},{label:"exp",kind:i,insertText:"exp",range:e,documentation:{value:"The operator exp returns e (base of the natural logarithm) raised to the op-th power. \n\n **Syntax** \n\n exp(op) "}},{label:"componentRole",kind:o,insertText:"componentRole",range:e},{label:"viral",kind:o,insertText:"viral",range:e},{label:"match_characters",kind:i,insertText:"match_characters",range:e,documentation:{value:"match_characters returns TRUE if op matches the regular expression regexp, FALSE otherwise. \n\n **Syntax** \n\n match_characters ( op , pattern ) "}},{label:"type",kind:o,insertText:"type",range:e},{label:"nvl",kind:i,insertText:"nvl",range:e,documentation:{value:"The operator nvl returns op2 when op1 is null, otherwise op1. \n\n **Syntax** \n\n nvl ( op1 , op2 ) "}},{label:"hierarchy",kind:i,insertText:"hierarchy",range:e,documentation:{value:"The hierarchy operator applies the rules of hr to op as specified in the parameters. \n\n **Syntax** \n\n hierarchy( op , hr { condition condComp { , condComp }* } { rule ruleComp } { mode } { input } { output } ) "}},{label:"invalid",kind:o,insertText:"invalid",range:e},{label:"valuedomain",kind:o,insertText:"valuedomain",range:e},{label:"variable",kind:o,insertText:"variable",range:e},{label:"data",kind:o,insertText:"data",range:e},{label:"structure",kind:o,insertText:"structure",range:e},{label:"dataset",kind:o,insertText:"dataset",range:e},{label:"operator",kind:o,insertText:"operator",range:e},{label:"define",kind:o,insertText:"define",range:e},{label:"datapoint",kind:o,insertText:"datapoint",range:e},{label:"hierarchical",kind:o,insertText:"hierarchical",range:e},{label:"ruleset",kind:o,insertText:"ruleset",range:e},{label:"rule",kind:o,insertText:"rule",range:e},{label:"end",kind:o,insertText:"end",range:e},{label:"alterDataset",kind:o,insertText:"alterDataset",range:e},{label:"ltrim",kind:i,insertText:"ltrim",range:e,documentation:{value:'Removes leading whitespace from a string. For example, trim(" Hello ") gives "Hello ". \n\n **Syntax** \n\n ltrim(operand) '}},{label:"rtrim",kind:i,insertText:"rtrim",range:e,documentation:{value:'Removes trailing whitespace from a string. For example, trim("Hello ") gives "Hello". \n\n **Syntax** \n\n rtrim(operand) '}},{label:"instr",kind:i,insertText:"instr",range:e,documentation:{value:"The operator returns the position in the input string of a specified string (pattern). \n\n **Syntax** \n\n instr ( op, pattern, start, occurrence ) "}},{label:"replace",kind:i,insertText:"replace",range:e,documentation:{value:"Replaces all the occurrences of a specified string-pattern (pattern1) with another one (pattern2). If pattern2 is omitted then all occurrences of pattern1 are removed \n\n **Syntax** \n\n replace (op , pattern1, pattern2 ) "}},{label:"ceil",kind:i,insertText:"ceil",range:e,documentation:{value:"The operator ceil returns the smallest integer greater than or equal to op. \n\n For example:\n\n ceil(3.14159) gives 4 \n\n **Syntax** \n\n ceil(op) "}},{label:"floor",kind:i,insertText:"floor",range:e,documentation:{value:"The operator floor returns the greatest integer which is smaller than or equal to op. \n\n For example:\n\n floor(3.14159) gives 3 \n\n **Syntax** \n\n floor(op) "}},{label:"sqrt",kind:i,insertText:"sqrt",range:e,documentation:{value:"The operator sqrt calculates the square root of a number. \n\n **Syntax** \n\n sqrt(op) "}},{label:"any",kind:o,insertText:"any",range:e},{label:"setdiff",kind:i,insertText:"setdiff",range:e,documentation:{value:"The operator implements the set difference of functions (i.e. Data Sets), interpreting the Data Points of the input Data Sets as the elements belonging to the operand sets, the minuend and the subtrahend, respectively. \n\n **Syntax** \n\n setdiff(ds1, ds2) "}},{label:"stddev_pop",kind:i,insertText:"stddev_pop",range:e,documentation:{value:"Population standard deviation of a set of numbers. \n\n **Syntax** \n\n stddev_pop( firstOperand { , additionalOperand }* { groupingClause } \n\n stddev_pop( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"stddev_samp",kind:i,insertText:"stddev_samp",range:e,documentation:{value:"Sample standard deviation of a set of numbers. \n\n **Syntax** \n\n stddev_samp( firstOperand { , additionalOperand }* { groupingClause } \n\n stddev_samp( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"var_pop",kind:i,insertText:"var_pop",range:e,documentation:{value:"Population variance of a set of numbers. \n\n **Syntax** \n\n var_pop( firstOperand { , additionalOperand }* { groupingClause } \n\n var_pop( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"var_samp",kind:i,insertText:"var_samp",range:e,documentation:{value:"Sample variance of a set of numbers. \n\n **Syntax** \n\n var_samp( firstOperand { , additionalOperand }* { groupingClause } \n\n var_samp( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"group",kind:o,insertText:"group",range:e},{label:"except",kind:o,insertText:"except",range:e},{label:"having",kind:o,insertText:"having",range:e},{label:"first_value",kind:i,insertText:"first_value",range:e,documentation:{value:"First value in an ordered set of values . \n\n **Syntax** \n\n first_value( firstOperand { , additionalOperand }* { groupingClause } \n\n first_value( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"last_value",kind:i,insertText:"last_value",range:e,documentation:{value:"Last value in an ordered set of values. \n\n **Syntax** \n\n last_value( firstOperand { , additionalOperand }* { groupingClause } \n\n last_value( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"lag",kind:i,insertText:"lag",range:e,documentation:{value:"In an ordered set of Data Points, it returns the value(s) taken from a Data Point at a given physical offset prior to the current Data Point. \n\n **Syntax** \n\n lag( firstOperand { , additionalOperand }* { groupingClause } \n\n lag( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"lead",kind:i,insertText:"lead",range:e,documentation:{value:"In an ordered set of Data Points, it returns the value(s) taken from a Data Point at a given physical offset beyond the current Data Point . \n\n **Syntax** \n\n lead( firstOperand { , additionalOperand }* { groupingClause } \n\n lead( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"ratio_to_report",kind:i,insertText:"ratio_to_report",range:e,documentation:{value:"In an ordered set of Data Points, it returns the value(s) taken from a Data Point at a given physical offset beyond the current Data Point . \n\n **Syntax** \n\n ratio_to_report( firstOperand { , additionalOperand }* { groupingClause } \n\n ratio_to_report( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"over",kind:o,insertText:"over",range:e},{label:"preceding",kind:o,insertText:"preceding",range:e},{label:"following",kind:o,insertText:"following",range:e},{label:"unbounded",kind:o,insertText:"unbounded",range:e},{label:"partition",kind:o,insertText:"partition",range:e},{label:"rows",kind:o,insertText:"rows",range:e},{label:"range",kind:o,insertText:"range",range:e},{label:"current",kind:o,insertText:"current",range:e},{label:"valid",kind:o,insertText:"valid",range:e},{label:"fill_time_series",kind:i,insertText:"fill_time_series",range:e,documentation:{value:"The operator fills the possibly missing Data Points of all the time series belonging to the operand op within the time limits automatically determined by applying the limit_method. \n\n **Syntax** \n\n fill_time_series( op { , limitsMethod}) \n\n *limitsMethod* ::= single | all"}},{label:"flow_to_stock",kind:i,insertText:"flow_to_stock",range:e,documentation:{value:"This operator takes in input a Data Set which are interpreted as flows and calculates the change of the corresponding stock since the beginning of each time series by summing the relevant flows. In other words, the operator perform the cumulative sum from the first Data Point of each time series to each other following Data Point of the same time series. \n\n **Syntax** \n\n flow_to_stock( op ) "}},{label:"stock_to_flow",kind:i,insertText:"stock_to_flow",range:e,documentation:{value:"This operator takes in input a Data Set of time series which is interpreted as stock data and, for each time series, calculates the corresponding flow data by subtracting from the measure values of each regular period the corresponding measure values of the previous one. \n\n **Syntax** \n\n stock_to_flow( op ) "}},{label:"timeshift",kind:i,insertText:"timeshift",range:e,documentation:{value:"This operator takes in input a Data Set of time series and, for each time series of the Data Set, shifts the reference time Identifier of a number of periods (of the time series) equal to the shift_number parameter. If shift_number is negative, the shift is in the past, otherwise in the future \n\n **Syntax** \n\n timeshift( op , shiftNumber) "}},{label:"measures",kind:o,insertText:"measures",range:e},{label:"no_measures",kind:o,insertText:"no_measures",range:e},{label:"condition",kind:o,insertText:"condition",range:e},{label:"boolean",kind:o,insertText:"boolean",range:e},{label:"date",kind:o,insertText:"date",range:e},{label:"time_period",kind:o,insertText:"time_period",range:e},{label:"number",kind:o,insertText:"number",range:e},{label:"string",kind:o,insertText:"string",range:e},{label:"integer",kind:o,insertText:"integer",range:e},{label:"float",kind:o,insertText:"float",range:e},{label:"list",kind:o,insertText:"list",range:e},{label:"record",kind:o,insertText:"record",range:e},{label:"restrict",kind:o,insertText:"restrict",range:e},{label:"maxLength",kind:o,insertText:"maxLength",range:e},{label:"regexp",kind:o,insertText:"regexp",range:e},{label:"is",kind:o,insertText:"is",range:e},{label:"when",kind:o,insertText:"when",range:e},{label:"from",kind:o,insertText:"from",range:e},{label:"aggregates",kind:o,insertText:"aggregates",range:e},{label:"points",kind:o,insertText:"points",range:e},{label:"point",kind:o,insertText:"point",range:e},{label:"total",kind:o,insertText:"total",range:e},{label:"partial",kind:o,insertText:"partial",range:e},{label:"always",kind:o,insertText:"always",range:e},{label:"inner_join",kind:i,insertText:"inner_join",range:e,documentation:{value:"Join operator, a relational join of the input operands is performed, according to SQL inner"}},{label:"left_join",kind:i,insertText:"left_join",range:e,documentation:{value:"Join operator, this is the left-most Data Set (left-outer sql)"}},{label:"cross_join",kind:i,insertText:"cross_join",range:e,documentation:{value:"Join operator, Cartesian product"}},{label:"full_join",kind:i,insertText:"full_join",range:e,documentation:{value:"Join operator, full outer (sql)"}},{label:"maps_from",kind:o,insertText:"maps_from",range:e},{label:"maps_to",kind:o,insertText:"maps_to",range:e},{label:"map_to",kind:o,insertText:"map_to",range:e},{label:"map_from",kind:o,insertText:"map_from",range:e},{label:"returns",kind:o,insertText:"returns",range:e},{label:"pivot",kind:o,insertText:"pivot",range:e,documentation:{value:"The operator transposes several Data Points of the operand Data Set into a single Data Point of the resulting Data Set. \n\n **Syntax** \n\n op [ pivot identifier , measure ] "}},{label:"customPivot",kind:o,insertText:"customPivot",range:e},{label:"unpivot",kind:o,insertText:"unpivot",range:e,documentation:{value:"The unpivot operator transposes a single Data Point of the operand Data Set into several Data Points of the result Data set. \n\n **Syntax** \n\n op [ unpivot identifier , measure ] "}},{label:"sub",kind:o,insertText:"sub",range:e,documentation:{value:"The operator returns a Data Set in a subspace of the one of the input Dataset. \n\n **Syntax** \n\n op [ sub identifier = value { , identifier = value }* ] "}},{label:"apply",kind:o,insertText:"apply",range:e},{label:"conditioned",kind:o,insertText:"conditioned",range:e},{label:"period_indicator",kind:i,insertText:"period_indicator ",range:e,documentation:{value:"period_indicator returns the period indicator of a time_period value. The period indicator is the part of the time_period value which denotes the duration of the time period (e.g. day, week, month \u2026). \n\n **Syntax** \n\n period_indicator(op) "}},{label:"single",kind:o,insertText:"single",range:e},{label:"duration",kind:o,insertText:"duration",range:e},{label:"time_agg",kind:i,insertText:"time_agg",range:e,documentation:{value:"The operator converts a time, date or time_period value from a smaller to a larger duration. \n\n **Syntax** \n\n time_agg(periodIndTo { ,periodIndFrom } { ,op } { ,first | last }) "}},{label:"unit",kind:o,insertText:"unit",range:e},{label:"value",kind:o,insertText:"value",range:e},{label:"valuedomains",kind:o,insertText:"valuedomains",range:e},{label:"variables",kind:o,insertText:"variables",range:e},{label:"input",kind:o,insertText:"input",range:e},{label:"output",kind:o,insertText:"output",range:e},{label:"cast",kind:i,insertText:"cast",range:e,documentation:{value:"This operator converts the scalar type of op to the scalar type specified by scalarType. It returns a copy of op converted to the specified scalarType. \n\n **Syntax** \n\n cast ( op , scalarType { , mask} ) "}},{label:"rule_priority",kind:o,insertText:"rule_priority",range:e},{label:"dataset_priority",kind:o,insertText:"dataset_priority",range:e},{label:"default",kind:o,insertText:"default",range:e},{label:"check_datapoint",kind:i,insertText:"check_datapoint",range:e,documentation:{value:"\n\n*Syntax*\n\n check_datapoint( op , dpr { components listComp } { output }) "}},{label:"check_hierarchy ",kind:i,insertText:"check_hierarchy ",range:e,documentation:{value:"The check_hierarchy operator applies the Rules of the Ruleset hr to check the Code Items Relations between the Code Items present in op \n\n **Syntax** \n\n check_hierarchy ( op , hr { condition condComp { , condComp }* } { rule ruleComp } { mode } { input } { output } ) "}},{label:"computed",kind:o,insertText:"computed",range:e},{label:"non_null",kind:o,insertText:"non_null",range:e},{label:"non_zero",kind:o,insertText:"non_zero",range:e},{label:"partial_null",kind:o,insertText:"partial_null",range:e},{label:"partial_zero",kind:o,insertText:"partial_zero",range:e},{label:"always_null",kind:o,insertText:"always_null",range:e},{label:"always_zero",kind:o,insertText:"always_zero",range:e},{label:"components",kind:o,insertText:"components",range:e},{label:"all_measures",kind:o,insertText:"all_measures",range:e},{label:"scalar",kind:o,insertText:"scalar",range:e},{label:"component",kind:o,insertText:"component",range:e},{label:"datapoint_on_valuedomains",kind:o,insertText:"datapoint_on_valuedomains",range:e},{label:"datapoint_on_variables",kind:o,insertText:"datapoint_on_variables",range:e},{label:"hierarchical_on_valuedomains",kind:o,insertText:"hierarchical_on_valuedomains",range:e},{label:"hierarchical_on_variables",kind:o,insertText:"hierarchical_on_variables",range:e},{label:"set",kind:o,insertText:"set",range:e},{label:"language",kind:o,insertText:"language",range:e},{label:"defdatapoint",kind:l,insertText:["define datapoint ruleset ${0:name} (${1:signature}) is","\t$3","end datapoint ruleset"].join("\n"),insertTextRules:s,documentation:{value:["\tdefine datapoint ruleset ruleSetName (signature) is\n","\t\trule\n","\tend datapoint ruleset"].join("")}},{label:"defhierarchical",kind:l,insertText:["define hierarchical ruleset ${0:name} (${1:signature}) is","\t$3","end hierarchical ruleset"].join("\n"),insertTextRules:s,documentation:{value:["\tdefine hierarchical ruleset ruleSetName (signature) is\n","\t\t{rule}\n","\tend hierarchical ruleset"].join("")}},{label:"defoperator",kind:l,insertText:["define operator ${0:name} (${1:parameter})","returns ${2:returnType} is","","end operator"].join("\n"),insertTextRules:s,documentation:{value:["\tdefine operator operatorName (parameter)\n","\treturns {returnType} is\n","\t{operatorBody}\n","\tend operator"].join("")}}]},16861:(e,n,t)=>{t.d(n,{Z:()=>i});var a=t(44996),r=t(67294);const i=e=>{let{imgSas:n}=e;return r.createElement("div",{className:"container"},r.createElement("div",{className:"row"},r.createElement("div",{className:"col col--3"}),r.createElement("div",{className:"col col--6 centered-content"},r.createElement("h3",null,"Sas"),r.createElement("img",{src:(0,a.Z)(`/img/sas-vtl/${n}`),alt:"Img Sas"}))),r.createElement("h3",{className:"centered-content"},"VTL"))}},40959:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>u,contentTitle:()=>s,default:()=>m,frontMatter:()=>l,metadata:()=>d,toc:()=>p});var a=t(87462),r=(t(67294),t(3905)),i=t(16861),o=t(33168);const l={id:"rename",title:"Rename",sidebar_label:"Rename",slug:"/user-guide/vtl/sas-vtl/rename",custom_edit_url:null},s=void 0,d={unversionedId:"user-guide/vtl/sas-vtl/rename",id:"user-guide/vtl/sas-vtl/rename",title:"Rename",description:"",source:"@site/docs/user-guide/vtl/sas-vtl/rename.mdx",sourceDirName:"user-guide/vtl/sas-vtl",slug:"/user-guide/vtl/sas-vtl/rename",permalink:"/Trevas/user-guide/vtl/sas-vtl/rename",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1719441741,formattedLastUpdatedAt:"Jun 26, 2024",frontMatter:{id:"rename",title:"Rename",sidebar_label:"Rename",slug:"/user-guide/vtl/sas-vtl/rename",custom_edit_url:null},sidebar:"docs",previous:{title:"Drop",permalink:"/Trevas/user-guide/vtl/sas-vtl/drop"},next:{title:"Overview",permalink:"/Trevas/user-guide/vtl/client-apps"}},u={},p=[],c={toc:p};function m(e){let{components:n,...t}=e;return(0,r.kt)("wrapper",(0,a.Z)({},c,t,{components:n,mdxType:"MDXLayout"}),(0,r.kt)(i.Z,{imgSas:"rename/sas.PNG",mdxType:"Sas"}),(0,r.kt)(o.Z,{script:"ds_out := ds_in [rename a to aaa, b to bbb];",mdxType:"Editor"}))}m.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[471],{33168:(e,n,t)=>{t.d(n,{Z:()=>i});var a=t(67294),r=t(91262);const i=(0,a.memo)((e=>{const{script:n}=e;return a.createElement(r.Z,null,(()=>{const e=t(46182).AntlrEditor,r=t(49256),{monarchDefinition:i,getSuggestionsFromRange:o}=t(35875),l={...r,getSuggestionsFromRange:o,monarchDefinition:i};return a.createElement(e,{script:n,tools:l,height:"10vh",options:{minimap:{enabled:!1},lineNumbers:!1}})}))}))},35875:(e,n,t)=>{t.r(n),t.d(n,{getSuggestionsFromRange:()=>d,monarchDefinition:()=>a});const a=JSON.parse('{"defaultToken":"invalid","tokenPostfix":".vtl","keywords":[],"typeKeywords":[],"operators":[],"specials":[],"variables":[],"symbols":"_RGX_/[=>](?!@symbols)/","delimiter.bracket"],["_RGX_/@symbols/",{"cases":{"@operators":"operator","@specials":"operator.special","@default":""}}],["_RGX_/(@digits)[eE]([\\\\-+]?(@digits))?/","number.float"],["_RGX_/(@digits)\\\\.(@digits)([eE][\\\\-+]?(@digits))?/","number.float"],["_RGX_/0[xX](@hexdigits)/","number.hex"],["_RGX_/0[oO]?(@octaldigits)/","number.octal"],["_RGX_/0[bB](@binarydigits)/","number.binary"],["_RGX_/(@digits)/","number"],["_RGX_/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*$/","string.invalid"],["_RGX_/\'([^\'\\\\\\\\]|\\\\\\\\.)*$/","string.invalid"],["_RGX_/\\"/","string","@string_double"],["_RGX_/\'/","string","@string_single"],["_RGX_/`/","string","@string_backtick"]],"whitespace":[["_RGX_/[ \\\\t\\\\r\\\\n]+/",""],["_RGX_/\\\\/\\\\*\\\\*(?!\\\\/)/","comment.doc","@jsdoc"],["_RGX_/\\\\/\\\\*/","comment","@comment"],["_RGX_/\\\\/\\\\/.*$/","comment"]],"comment":[["_RGX_/[^\\\\/*]+/","comment"],["_RGX_/\\\\*\\\\//","comment","@pop"],["_RGX_/[\\\\/*]/","comment"]],"jsdoc":[["_RGX_/[^\\\\/*]+/","comment.doc"],["_RGX_/\\\\*\\\\//","comment.doc","@pop"],["_RGX_/[\\\\/*]/","comment.doc"]],"regexp":[["_RGX_/(\\\\{)(\\\\d+(?:,\\\\d*)?)(\\\\})/",["regexp.escape.control","regexp.escape.control","regexp.escape.control"]],["_RGX_/(\\\\[)(\\\\^?)(?=(?:[^\\\\]\\\\\\\\\\\\/]|\\\\\\\\.)+)/",["regexp.escape.control",{"token":"regexp.escape.control","next":"@regexrange"}]],["_RGX_/(\\\\()(\\\\?:|\\\\?=|\\\\?!)/",["regexp.escape.control","regexp.escape.control"]],["_RGX_/[()]/","regexp.escape.control"],["_RGX_/@regexpctl/","regexp.escape.control"],["_RGX_/[^\\\\\\\\\\\\/]/","regexp"],["_RGX_/@regexpesc/","regexp.escape"],["_RGX_/\\\\\\\\\\\\./","regexp.invalid"],["_RGX_/(\\\\/)([gimsuy]*)/",[{"token":"regexp","bracket":"@close","next":"@pop"},"keyword.other"]]],"regexrange":[["_RGX_/-/","regexp.escape.control"],["_RGX_/\\\\^/","regexp.invalid"],["_RGX_/@regexpesc/","regexp.escape"],["_RGX_/[^\\\\]]/","regexp"],["_RGX_/\\\\]/",{"token":"regexp.escape.control","next":"@pop","bracket":"@close"}]],"string_double":[["_RGX_/[^\\\\\\\\\\"]+/","string"],["_RGX_/@escapes/","string.escape"],["_RGX_/\\\\\\\\./","string.escape.invalid"],["_RGX_/\\"/","string","@pop"]],"string_single":[["_RGX_/[^\\\\\\\\\']+/","string"],["_RGX_/@escapes/","string.escape"],["_RGX_/\\\\\\\\./","string.escape.invalid"],["_RGX_/\'/","string","@pop"]],"string_backtick":[["_RGX_/\\\\$\\\\{/",{"token":"delimiter.bracket","next":"@bracketCounting"}],["_RGX_/[^\\\\\\\\`$]+/","string"],["_RGX_/@escapes/","string.escape"],["_RGX_/\\\\\\\\./","string.escape.invalid"],["_RGX_/`/","string","@pop"]],"bracketCounting":[["_RGX_/\\\\{/","delimiter.bracket","@bracketCounting"],["_RGX_/\\\\}/","delimiter.bracket","@pop"],{"include":"common"}]}}');var r=t(44878);const i=r.languages.CompletionItemKind.Function,o=(r.languages.CompletionItemKind.Variable,r.languages.CompletionItemKind.Keyword),l=r.languages.CompletionItemKind.Snippet,s=r.languages.CompletionItemInsertTextRule.InsertAsSnippet,d=e=>[{label:"eval",kind:i,insertText:"eval",range:e,documentation:{value:"The eval operator invokes an external, non-VTL routine, and returns its result as a Data Set or a scalar. \n\n **Syntax** \n\n eval(externalRoutineName({argument}{,argument}*) language languageName returns outputType)"}},{label:"if",kind:o,insertText:"if",range:e,documentation:{value:"Conditional operator \n\n **Syntax** \n\n if condition then thenOperand else elseOperand "}},{label:"then",kind:o,insertText:"then",range:e,documentation:{value:"Conditional operator \n\n **Syntax** \n\n if condition then thenOperand else elseOperand "}},{label:"else",kind:o,insertText:"else",range:e,documentation:{value:"Conditional operator \n\n **Syntax** \n\n if condition then thenOperand else elseOperand "}},{label:"using",kind:o,insertText:"using",range:e},{label:"with",kind:o,insertText:"with",range:e},{label:"current_date",kind:i,insertText:"current_date()",range:e,documentation:{value:"The operator current_date returns the current time as a date type. \n\n **Syntax** \n\n current_date() "}},{label:"on",kind:o,insertText:"on",range:e},{label:"drop",kind:o,insertText:"drop",range:e,documentation:{value:"The operator takes as input a Data Set (op) and some Component names of such a Data Set (comp). \n\n **Syntax** \n\n op [drop comp { , comp }* ] "}},{label:"keep",kind:o,insertText:"keep",range:e,documentation:{value:"The operator takes as input a Data Set (op) and some Component names of such a Data Set (comp). \n\n **Syntax** \n\n op [ keep comp {, comp }* ] "}},{label:"calc",kind:o,insertText:"calc",range:e,documentation:{value:"The operator calculates new Identifier, Measure or Attribute Components on the basis of sub-expressions at Component level. ***\n\n*Example*\n\n DS_1 [ calc Me_3 := Me_1 + Me_2] "}},{label:"attrcalc",kind:o,insertText:"attrcalc",range:e},{label:"rename",kind:o,insertText:"rename",range:e,documentation:{value:"The operator assigns new names to one or more Components (Identifier, Measure or Attribute Components). \n\n **Syntax** \n\n op [ rename comp_from to comp_to { , comp_from to comp_to}* ] "}},{label:"as",kind:o,insertText:"as",range:e},{label:"and",kind:o,insertText:"and",range:e,documentation:{value:"The and operator returns TRUE if both operands are TRUE, otherwise FALSE. The two operands must be of boolean type. \n\n **Syntax** \n\n op1 and op2 "}},{label:"or",kind:o,insertText:"or",range:e,documentation:{value:"The or operator returns TRUE if at least one of the operands is TRUE, otherwise FALSE. The two operands must be of boolean type. \n\n **Syntax** \n\n op1 or op2 "}},{label:"xor",kind:o,insertText:"xor",range:e,documentation:{value:"The xor operator returns TRUE if only one of the operand is TRUE (but not both), FALSE otherwise. The two operands must be of boolean type. \n\n **Syntax** \n\n op1 xor op2 "}},{label:"not",kind:o,insertText:"not",range:e,documentation:{value:"The not operator returns TRUE if op is FALSE, otherwise TRUE. The input operand must be of boolean type. \n\n **Syntax** \n\n not op2 "}},{label:"between",kind:i,insertText:"between",range:e,documentation:{value:"The operator returns TRUE if op is greater than or equal to from and lower than or equal to to. \n\n **Syntax** \n\n between (op, from, to) "}},{label:"levenshtein",kind:i,insertText:"levenshtein",range:e,documentation:{value:"The operator returns the levenshtein distance between the two inputed strings. \n\n **Syntax** \n\n levenshtein (left, right) "}},{label:"random",kind:i,insertText:"random",range:e,documentation:{value:"The operator returns a random decimal number >= 0 and <1. \n\n **Syntax** \n\n random()"}},{label:"in",kind:o,insertText:"in",range:e,documentation:{value:"The in operator returns TRUE if op belongs to the collection, FALSE otherwise. \n\n **Syntax** \n\n op in collection "}},{label:"not_in",kind:o,insertText:"not_in",range:e,documentation:{value:"The not_in operator returns FALSE if op belongs to the collection, TRUE otherwise. \n\n **Syntax** \n\n op not_in collection "}},{label:"isnull",kind:i,insertText:"isnull",range:e,documentation:{value:"The operator returns TRUE if the value of the operand is NULL, FALSE otherwise. \n\n **Syntax** \n\n isnull(op) "}},{label:"ex",kind:o,insertText:"ex",range:e},{label:"union",kind:i,insertText:"union",range:e,documentation:{value:"The union operator implements the union of functions (i.e., Data Sets). \n\n **Syntax** \n\n union ( ds { , ds }*) "}},{label:"diff",kind:o,insertText:"diff",range:e},{label:"symdiff",kind:i,insertText:"symdiff",range:e,documentation:{value:"The operator implements the symmetric set difference between functions (i.e. Data Sets), interpreting the Data Points of the input Data Sets as the elements in the operand Sets. \n\n **Syntax** \n\n symdiff(ds1, ds) "}},{label:"intersect",kind:i,insertText:"intersect",range:e,documentation:{value:"The intersect operator implements the intersection of functions (i.e., Data Sets). \n\n **Syntax** \n\n intersect ( ds { , ds }*) "}},{label:"keys",kind:o,insertText:"KEYS",range:e},{label:"check",kind:i,insertText:"check",range:e,documentation:{value:"*Syntax*\n\n check ( op { errorcode errorcode } { errorlevel errorlevel } { imbalance imbalance } { output } ) \n\noutput ::= invalid | all "}},{label:"exists_in",kind:i,insertText:"exists_in",range:e,documentation:{value:"The operator returns TRUE if the value of the operand is NULL, FALSE otherwise. \n\n **Syntax** \n\n exists_in ( op1, op2 { , retain } ) \n\n *retain* ::= true | false | all"}},{label:"to",kind:o,insertText:"to",range:e},{label:"return",kind:o,insertText:"return",range:e},{label:"imbalance",kind:o,insertText:"imbalance",range:e,documentation:{value:"Imbalance is a numeric mono-measure Data Set with the same Identifiers of op. If not specified then imbalance is NULL"}},{label:"errorcode",kind:o,insertText:"errorcode",range:e},{label:"all",kind:o,insertText:"all",range:e},{label:"aggr",kind:o,insertText:"aggr",range:e,documentation:{value:"The operator aggr calculates aggregations of dependent Components (Measures or Attributes) on the basis of sub-expressions at Component level. \n\n **Syntax** \n\n op [ aggr aggrClause { groupingClause } ] "}},{label:"errorlevel",kind:o,insertText:"errorlevel",range:e},{label:"order",kind:o,insertText:"order",range:e},{label:"by",kind:o,insertText:"by",range:e},{label:"rank",kind:i,insertText:"rank",range:e,documentation:{value:"Rank (order number) of a Data Point in an ordered set of Data Points. \n\n **Syntax** \n\n rank( firstOperand { , additionalOperand }* { groupingClause } \n\n rank( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"asc",kind:o,insertText:"asc",range:e},{label:"desc",kind:o,insertText:"desc",range:e},{label:"min",kind:i,insertText:"min",range:e,documentation:{value:"Minimum value of a set of values . \n\n **Syntax** \n\n min( firstOperand { , additionalOperand }* { groupingClause } \n\n min( firstOperand { , additionalOperand }* over ( analyticClause ) "}},{label:"max",kind:i,insertText:"max",range:e,documentation:{value:"Maximum value of a set of values . \n\n **Syntax** \n\n max( firstOperand { , additionalOperand }* { groupingClause } \n\n max( firstOperand { , additionalOperand }* over ( analyticClause ) "}},{label:"first",kind:o,insertText:"first",range:e},{label:"last",kind:o,insertText:"last",range:e},{label:"indexof",kind:o,insertText:"indexof",range:e},{label:"abs",kind:i,insertText:"abs",range:e,documentation:{value:"The operator abs calculates the absolute value of a number. \n\n For example:\n\n abs(-3.141) gives 3.141 \n\n **Syntax** \n\n abs(op) "}},{label:"key",kind:o,insertText:"key",range:e},{label:"ln",kind:i,insertText:"ln",range:e,documentation:{value:"The operator ln calculates the natural logarithm of a number. \n\n **Syntax** \n\n ln(op) "}},{label:"log",kind:i,insertText:"log",range:e,documentation:{value:"The operator log calculates the logarithm of num base op. \n\n **Syntax** \n\n log(op , num) "}},{label:"trunc",kind:i,insertText:"trunc",range:e,documentation:{value:"The operator trunc truncates the operand to a number of positions at the right of the decimal point equal to the numDigit parameter. \n\n **Syntax** \n\n trunc ( op , numDigit ) "}},{label:"round",kind:i,insertText:"round",range:e,documentation:{value:"The operator round rounds the operand to a number of positions at the right of the decimal point equal to the numDigit parameter. \n\n **Syntax** \n\n round( op , numDigit ) "}},{label:"power",kind:i,insertText:"power",range:e,documentation:{value:"The operator power raises a number (the base) to another one (the exponent). \n\n **Syntax** \n\n power(base , exponent) "}},{label:"mod",kind:i,insertText:"mod",range:e,documentation:{value:"The operator mod returns the remainder of op1 divided by op2. It returns op1 if divisor op2 is 0. \n\n **Syntax** \n\n mod(op1, op2 ) "}},{label:"length",kind:i,insertText:"length",range:e,documentation:{value:"Returns the length of a string. \n\n **Syntax** \n\n len( op ) "}},{label:"trim",kind:i,insertText:"trim",range:e,documentation:{value:'Removes trailing and leading whitespace from a string. For example, trim("Hello ") gives "Hello". \n\n **Syntax** \n\n trim(operand) '}},{label:"upper",kind:i,insertText:"upper",range:e,documentation:{value:'Converts the character case of a string in upper case. For example, upper("Hello") gives "HELLO". \n\n **Syntax** \n\n upper(operand) '}},{label:"lower",kind:i,insertText:"lower",range:e,documentation:{value:'Converts the character case of a string in lower case. For example, lower("Hello") gives "hello". \n\n **Syntax** \n\n lower(operand) '}},{label:"substr",kind:i,insertText:"substr",range:e,documentation:{value:"The operator extracts a substring from op, which must be string type. The substring starts from the start character of the input string and has a number of characters equal to the length parameter. \n\n **Syntax** \n\n substr ( op, start, length ) "}},{label:"sum",kind:i,insertText:"sum",range:e,documentation:{value:"Sum of a set of numbers. \n\n **Syntax** \n\n sun( firstOperand { , additionalOperand }* { groupingClause } "}},{label:"avg",kind:i,insertText:"avg",range:e,documentation:{value:"Average value of a set of numbers. \n\n **Syntax** \n\n avg( firstOperand { , additionalOperand }* { groupingClause } \n\n avg( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"median",kind:i,insertText:"median",range:e,documentation:{value:"Median value of a set of values . \n\n **Syntax** \n\n median( firstOperand { , additionalOperand }* { groupingClause } \n\n median( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"count",kind:i,insertText:"count",range:e,documentation:{value:"Number of Data Points. \n\n **Syntax** \n\n count( firstOperand { , additionalOperand }* { groupingClause } \n\n count( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"identifier",kind:o,insertText:"identifier",range:e},{label:"measure",kind:o,insertText:"measure",range:e},{label:"attribute",kind:o,insertText:"attribute",range:e},{label:"filter",kind:o,insertText:"filter",range:e,documentation:{value:"The operator takes as input a Data Set (op) and a boolean Component expression (filterCondition) and filters the input Data Points according to the evaluation of the condition. \n\n **Syntax** \n\n op[ filter filterCondition ] "}},{label:"merge",kind:o,insertText:"merge",range:e},{label:"exp",kind:i,insertText:"exp",range:e,documentation:{value:"The operator exp returns e (base of the natural logarithm) raised to the op-th power. \n\n **Syntax** \n\n exp(op) "}},{label:"componentRole",kind:o,insertText:"componentRole",range:e},{label:"viral",kind:o,insertText:"viral",range:e},{label:"match_characters",kind:i,insertText:"match_characters",range:e,documentation:{value:"match_characters returns TRUE if op matches the regular expression regexp, FALSE otherwise. \n\n **Syntax** \n\n match_characters ( op , pattern ) "}},{label:"type",kind:o,insertText:"type",range:e},{label:"nvl",kind:i,insertText:"nvl",range:e,documentation:{value:"The operator nvl returns op2 when op1 is null, otherwise op1. \n\n **Syntax** \n\n nvl ( op1 , op2 ) "}},{label:"hierarchy",kind:i,insertText:"hierarchy",range:e,documentation:{value:"The hierarchy operator applies the rules of hr to op as specified in the parameters. \n\n **Syntax** \n\n hierarchy( op , hr { condition condComp { , condComp }* } { rule ruleComp } { mode } { input } { output } ) "}},{label:"invalid",kind:o,insertText:"invalid",range:e},{label:"valuedomain",kind:o,insertText:"valuedomain",range:e},{label:"variable",kind:o,insertText:"variable",range:e},{label:"data",kind:o,insertText:"data",range:e},{label:"structure",kind:o,insertText:"structure",range:e},{label:"dataset",kind:o,insertText:"dataset",range:e},{label:"operator",kind:o,insertText:"operator",range:e},{label:"define",kind:o,insertText:"define",range:e},{label:"datapoint",kind:o,insertText:"datapoint",range:e},{label:"hierarchical",kind:o,insertText:"hierarchical",range:e},{label:"ruleset",kind:o,insertText:"ruleset",range:e},{label:"rule",kind:o,insertText:"rule",range:e},{label:"end",kind:o,insertText:"end",range:e},{label:"alterDataset",kind:o,insertText:"alterDataset",range:e},{label:"ltrim",kind:i,insertText:"ltrim",range:e,documentation:{value:'Removes leading whitespace from a string. For example, trim(" Hello ") gives "Hello ". \n\n **Syntax** \n\n ltrim(operand) '}},{label:"rtrim",kind:i,insertText:"rtrim",range:e,documentation:{value:'Removes trailing whitespace from a string. For example, trim("Hello ") gives "Hello". \n\n **Syntax** \n\n rtrim(operand) '}},{label:"instr",kind:i,insertText:"instr",range:e,documentation:{value:"The operator returns the position in the input string of a specified string (pattern). \n\n **Syntax** \n\n instr ( op, pattern, start, occurrence ) "}},{label:"replace",kind:i,insertText:"replace",range:e,documentation:{value:"Replaces all the occurrences of a specified string-pattern (pattern1) with another one (pattern2). If pattern2 is omitted then all occurrences of pattern1 are removed \n\n **Syntax** \n\n replace (op , pattern1, pattern2 ) "}},{label:"ceil",kind:i,insertText:"ceil",range:e,documentation:{value:"The operator ceil returns the smallest integer greater than or equal to op. \n\n For example:\n\n ceil(3.14159) gives 4 \n\n **Syntax** \n\n ceil(op) "}},{label:"floor",kind:i,insertText:"floor",range:e,documentation:{value:"The operator floor returns the greatest integer which is smaller than or equal to op. \n\n For example:\n\n floor(3.14159) gives 3 \n\n **Syntax** \n\n floor(op) "}},{label:"sqrt",kind:i,insertText:"sqrt",range:e,documentation:{value:"The operator sqrt calculates the square root of a number. \n\n **Syntax** \n\n sqrt(op) "}},{label:"any",kind:o,insertText:"any",range:e},{label:"setdiff",kind:i,insertText:"setdiff",range:e,documentation:{value:"The operator implements the set difference of functions (i.e. Data Sets), interpreting the Data Points of the input Data Sets as the elements belonging to the operand sets, the minuend and the subtrahend, respectively. \n\n **Syntax** \n\n setdiff(ds1, ds2) "}},{label:"stddev_pop",kind:i,insertText:"stddev_pop",range:e,documentation:{value:"Population standard deviation of a set of numbers. \n\n **Syntax** \n\n stddev_pop( firstOperand { , additionalOperand }* { groupingClause } \n\n stddev_pop( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"stddev_samp",kind:i,insertText:"stddev_samp",range:e,documentation:{value:"Sample standard deviation of a set of numbers. \n\n **Syntax** \n\n stddev_samp( firstOperand { , additionalOperand }* { groupingClause } \n\n stddev_samp( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"var_pop",kind:i,insertText:"var_pop",range:e,documentation:{value:"Population variance of a set of numbers. \n\n **Syntax** \n\n var_pop( firstOperand { , additionalOperand }* { groupingClause } \n\n var_pop( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"var_samp",kind:i,insertText:"var_samp",range:e,documentation:{value:"Sample variance of a set of numbers. \n\n **Syntax** \n\n var_samp( firstOperand { , additionalOperand }* { groupingClause } \n\n var_samp( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"group",kind:o,insertText:"group",range:e},{label:"except",kind:o,insertText:"except",range:e},{label:"having",kind:o,insertText:"having",range:e},{label:"first_value",kind:i,insertText:"first_value",range:e,documentation:{value:"First value in an ordered set of values . \n\n **Syntax** \n\n first_value( firstOperand { , additionalOperand }* { groupingClause } \n\n first_value( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"last_value",kind:i,insertText:"last_value",range:e,documentation:{value:"Last value in an ordered set of values. \n\n **Syntax** \n\n last_value( firstOperand { , additionalOperand }* { groupingClause } \n\n last_value( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"lag",kind:i,insertText:"lag",range:e,documentation:{value:"In an ordered set of Data Points, it returns the value(s) taken from a Data Point at a given physical offset prior to the current Data Point. \n\n **Syntax** \n\n lag( firstOperand { , additionalOperand }* { groupingClause } \n\n lag( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"lead",kind:i,insertText:"lead",range:e,documentation:{value:"In an ordered set of Data Points, it returns the value(s) taken from a Data Point at a given physical offset beyond the current Data Point . \n\n **Syntax** \n\n lead( firstOperand { , additionalOperand }* { groupingClause } \n\n lead( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"ratio_to_report",kind:i,insertText:"ratio_to_report",range:e,documentation:{value:"In an ordered set of Data Points, it returns the value(s) taken from a Data Point at a given physical offset beyond the current Data Point . \n\n **Syntax** \n\n ratio_to_report( firstOperand { , additionalOperand }* { groupingClause } \n\n ratio_to_report( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"over",kind:o,insertText:"over",range:e},{label:"preceding",kind:o,insertText:"preceding",range:e},{label:"following",kind:o,insertText:"following",range:e},{label:"unbounded",kind:o,insertText:"unbounded",range:e},{label:"partition",kind:o,insertText:"partition",range:e},{label:"rows",kind:o,insertText:"rows",range:e},{label:"range",kind:o,insertText:"range",range:e},{label:"current",kind:o,insertText:"current",range:e},{label:"valid",kind:o,insertText:"valid",range:e},{label:"fill_time_series",kind:i,insertText:"fill_time_series",range:e,documentation:{value:"The operator fills the possibly missing Data Points of all the time series belonging to the operand op within the time limits automatically determined by applying the limit_method. \n\n **Syntax** \n\n fill_time_series( op { , limitsMethod}) \n\n *limitsMethod* ::= single | all"}},{label:"flow_to_stock",kind:i,insertText:"flow_to_stock",range:e,documentation:{value:"This operator takes in input a Data Set which are interpreted as flows and calculates the change of the corresponding stock since the beginning of each time series by summing the relevant flows. In other words, the operator perform the cumulative sum from the first Data Point of each time series to each other following Data Point of the same time series. \n\n **Syntax** \n\n flow_to_stock( op ) "}},{label:"stock_to_flow",kind:i,insertText:"stock_to_flow",range:e,documentation:{value:"This operator takes in input a Data Set of time series which is interpreted as stock data and, for each time series, calculates the corresponding flow data by subtracting from the measure values of each regular period the corresponding measure values of the previous one. \n\n **Syntax** \n\n stock_to_flow( op ) "}},{label:"timeshift",kind:i,insertText:"timeshift",range:e,documentation:{value:"This operator takes in input a Data Set of time series and, for each time series of the Data Set, shifts the reference time Identifier of a number of periods (of the time series) equal to the shift_number parameter. If shift_number is negative, the shift is in the past, otherwise in the future \n\n **Syntax** \n\n timeshift( op , shiftNumber) "}},{label:"measures",kind:o,insertText:"measures",range:e},{label:"no_measures",kind:o,insertText:"no_measures",range:e},{label:"condition",kind:o,insertText:"condition",range:e},{label:"boolean",kind:o,insertText:"boolean",range:e},{label:"date",kind:o,insertText:"date",range:e},{label:"time_period",kind:o,insertText:"time_period",range:e},{label:"number",kind:o,insertText:"number",range:e},{label:"string",kind:o,insertText:"string",range:e},{label:"integer",kind:o,insertText:"integer",range:e},{label:"float",kind:o,insertText:"float",range:e},{label:"list",kind:o,insertText:"list",range:e},{label:"record",kind:o,insertText:"record",range:e},{label:"restrict",kind:o,insertText:"restrict",range:e},{label:"maxLength",kind:o,insertText:"maxLength",range:e},{label:"regexp",kind:o,insertText:"regexp",range:e},{label:"is",kind:o,insertText:"is",range:e},{label:"when",kind:o,insertText:"when",range:e},{label:"from",kind:o,insertText:"from",range:e},{label:"aggregates",kind:o,insertText:"aggregates",range:e},{label:"points",kind:o,insertText:"points",range:e},{label:"point",kind:o,insertText:"point",range:e},{label:"total",kind:o,insertText:"total",range:e},{label:"partial",kind:o,insertText:"partial",range:e},{label:"always",kind:o,insertText:"always",range:e},{label:"inner_join",kind:i,insertText:"inner_join",range:e,documentation:{value:"Join operator, a relational join of the input operands is performed, according to SQL inner"}},{label:"left_join",kind:i,insertText:"left_join",range:e,documentation:{value:"Join operator, this is the left-most Data Set (left-outer sql)"}},{label:"cross_join",kind:i,insertText:"cross_join",range:e,documentation:{value:"Join operator, Cartesian product"}},{label:"full_join",kind:i,insertText:"full_join",range:e,documentation:{value:"Join operator, full outer (sql)"}},{label:"maps_from",kind:o,insertText:"maps_from",range:e},{label:"maps_to",kind:o,insertText:"maps_to",range:e},{label:"map_to",kind:o,insertText:"map_to",range:e},{label:"map_from",kind:o,insertText:"map_from",range:e},{label:"returns",kind:o,insertText:"returns",range:e},{label:"pivot",kind:o,insertText:"pivot",range:e,documentation:{value:"The operator transposes several Data Points of the operand Data Set into a single Data Point of the resulting Data Set. \n\n **Syntax** \n\n op [ pivot identifier , measure ] "}},{label:"customPivot",kind:o,insertText:"customPivot",range:e},{label:"unpivot",kind:o,insertText:"unpivot",range:e,documentation:{value:"The unpivot operator transposes a single Data Point of the operand Data Set into several Data Points of the result Data set. \n\n **Syntax** \n\n op [ unpivot identifier , measure ] "}},{label:"sub",kind:o,insertText:"sub",range:e,documentation:{value:"The operator returns a Data Set in a subspace of the one of the input Dataset. \n\n **Syntax** \n\n op [ sub identifier = value { , identifier = value }* ] "}},{label:"apply",kind:o,insertText:"apply",range:e},{label:"conditioned",kind:o,insertText:"conditioned",range:e},{label:"period_indicator",kind:i,insertText:"period_indicator ",range:e,documentation:{value:"period_indicator returns the period indicator of a time_period value. The period indicator is the part of the time_period value which denotes the duration of the time period (e.g. day, week, month \u2026). \n\n **Syntax** \n\n period_indicator(op) "}},{label:"single",kind:o,insertText:"single",range:e},{label:"duration",kind:o,insertText:"duration",range:e},{label:"time_agg",kind:i,insertText:"time_agg",range:e,documentation:{value:"The operator converts a time, date or time_period value from a smaller to a larger duration. \n\n **Syntax** \n\n time_agg(periodIndTo { ,periodIndFrom } { ,op } { ,first | last }) "}},{label:"unit",kind:o,insertText:"unit",range:e},{label:"value",kind:o,insertText:"value",range:e},{label:"valuedomains",kind:o,insertText:"valuedomains",range:e},{label:"variables",kind:o,insertText:"variables",range:e},{label:"input",kind:o,insertText:"input",range:e},{label:"output",kind:o,insertText:"output",range:e},{label:"cast",kind:i,insertText:"cast",range:e,documentation:{value:"This operator converts the scalar type of op to the scalar type specified by scalarType. It returns a copy of op converted to the specified scalarType. \n\n **Syntax** \n\n cast ( op , scalarType { , mask} ) "}},{label:"rule_priority",kind:o,insertText:"rule_priority",range:e},{label:"dataset_priority",kind:o,insertText:"dataset_priority",range:e},{label:"default",kind:o,insertText:"default",range:e},{label:"check_datapoint",kind:i,insertText:"check_datapoint",range:e,documentation:{value:"\n\n*Syntax*\n\n check_datapoint( op , dpr { components listComp } { output }) "}},{label:"check_hierarchy ",kind:i,insertText:"check_hierarchy ",range:e,documentation:{value:"The check_hierarchy operator applies the Rules of the Ruleset hr to check the Code Items Relations between the Code Items present in op \n\n **Syntax** \n\n check_hierarchy ( op , hr { condition condComp { , condComp }* } { rule ruleComp } { mode } { input } { output } ) "}},{label:"computed",kind:o,insertText:"computed",range:e},{label:"non_null",kind:o,insertText:"non_null",range:e},{label:"non_zero",kind:o,insertText:"non_zero",range:e},{label:"partial_null",kind:o,insertText:"partial_null",range:e},{label:"partial_zero",kind:o,insertText:"partial_zero",range:e},{label:"always_null",kind:o,insertText:"always_null",range:e},{label:"always_zero",kind:o,insertText:"always_zero",range:e},{label:"components",kind:o,insertText:"components",range:e},{label:"all_measures",kind:o,insertText:"all_measures",range:e},{label:"scalar",kind:o,insertText:"scalar",range:e},{label:"component",kind:o,insertText:"component",range:e},{label:"datapoint_on_valuedomains",kind:o,insertText:"datapoint_on_valuedomains",range:e},{label:"datapoint_on_variables",kind:o,insertText:"datapoint_on_variables",range:e},{label:"hierarchical_on_valuedomains",kind:o,insertText:"hierarchical_on_valuedomains",range:e},{label:"hierarchical_on_variables",kind:o,insertText:"hierarchical_on_variables",range:e},{label:"set",kind:o,insertText:"set",range:e},{label:"language",kind:o,insertText:"language",range:e},{label:"defdatapoint",kind:l,insertText:["define datapoint ruleset ${0:name} (${1:signature}) is","\t$3","end datapoint ruleset"].join("\n"),insertTextRules:s,documentation:{value:["\tdefine datapoint ruleset ruleSetName (signature) is\n","\t\trule\n","\tend datapoint ruleset"].join("")}},{label:"defhierarchical",kind:l,insertText:["define hierarchical ruleset ${0:name} (${1:signature}) is","\t$3","end hierarchical ruleset"].join("\n"),insertTextRules:s,documentation:{value:["\tdefine hierarchical ruleset ruleSetName (signature) is\n","\t\t{rule}\n","\tend hierarchical ruleset"].join("")}},{label:"defoperator",kind:l,insertText:["define operator ${0:name} (${1:parameter})","returns ${2:returnType} is","","end operator"].join("\n"),insertTextRules:s,documentation:{value:["\tdefine operator operatorName (parameter)\n","\treturns {returnType} is\n","\t{operatorBody}\n","\tend operator"].join("")}}]},16861:(e,n,t)=>{t.d(n,{Z:()=>i});var a=t(44996),r=t(67294);const i=e=>{let{imgSas:n}=e;return r.createElement("div",{className:"container"},r.createElement("div",{className:"row"},r.createElement("div",{className:"col col--3"}),r.createElement("div",{className:"col col--6 centered-content"},r.createElement("h3",null,"Sas"),r.createElement("img",{src:(0,a.Z)(`/img/sas-vtl/${n}`),alt:"Img Sas"}))),r.createElement("h3",{className:"centered-content"},"VTL"))}},40959:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>u,contentTitle:()=>s,default:()=>m,frontMatter:()=>l,metadata:()=>d,toc:()=>p});var a=t(87462),r=(t(67294),t(3905)),i=t(16861),o=t(33168);const l={id:"rename",title:"Rename",sidebar_label:"Rename",slug:"/user-guide/vtl/sas-vtl/rename",custom_edit_url:null},s=void 0,d={unversionedId:"user-guide/vtl/sas-vtl/rename",id:"user-guide/vtl/sas-vtl/rename",title:"Rename",description:"",source:"@site/docs/user-guide/vtl/sas-vtl/rename.mdx",sourceDirName:"user-guide/vtl/sas-vtl",slug:"/user-guide/vtl/sas-vtl/rename",permalink:"/Trevas/user-guide/vtl/sas-vtl/rename",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1720593860,formattedLastUpdatedAt:"Jul 10, 2024",frontMatter:{id:"rename",title:"Rename",sidebar_label:"Rename",slug:"/user-guide/vtl/sas-vtl/rename",custom_edit_url:null},sidebar:"docs",previous:{title:"Drop",permalink:"/Trevas/user-guide/vtl/sas-vtl/drop"},next:{title:"Overview",permalink:"/Trevas/user-guide/vtl/client-apps"}},u={},p=[],c={toc:p};function m(e){let{components:n,...t}=e;return(0,r.kt)("wrapper",(0,a.Z)({},c,t,{components:n,mdxType:"MDXLayout"}),(0,r.kt)(i.Z,{imgSas:"rename/sas.PNG",mdxType:"Sas"}),(0,r.kt)(o.Z,{script:"ds_out := ds_in [rename a to aaa, b to bbb];",mdxType:"Editor"}))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/aa19e7f2.9118e5ac.js b/assets/js/aa19e7f2.0206d476.js similarity index 87% rename from assets/js/aa19e7f2.9118e5ac.js rename to assets/js/aa19e7f2.0206d476.js index 78b2320b0..9f5955e67 100644 --- a/assets/js/aa19e7f2.9118e5ac.js +++ b/assets/js/aa19e7f2.0206d476.js @@ -1 +1 @@ -"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[9661],{39308:(e,a,r)=>{r.d(a,{Z:()=>v});var t=r(67294),o=r(3905),s=r(84734);const i="riContainer_QAfm",c="riDescriptionShort_ogAL",l="riDetail_rDiW",d="riIcon_zSrR",n="riTitle__Mkd",g="riDescription_k_lG",p="riMore_lLbd";var u=r(86010);const v=e=>{const[a,r]=t.useState(!1);return t.createElement("a",{href:e.page,className:i},t.createElement("div",{className:c},t.createElement("div",{className:d},t.createElement("span",{className:"fe fe-zap"})),t.createElement("div",{className:l},t.createElement("div",{className:n},t.createElement("a",{href:e.page},e.title)),t.createElement("div",{className:g},e.description,t.Children.count(e.children)>0&&t.createElement("span",{className:(0,u.Z)(p,"fe","fe-more-horizontal"),onClick:()=>r(!a)})))),a&&t.createElement("div",{className:"ri-description-long"},t.createElement(o.Zo,{components:s.Z},e.children)))}},17451:(e,a,r)=>{r.r(a),r.d(a,{assets:()=>n,contentTitle:()=>l,default:()=>u,frontMatter:()=>c,metadata:()=>d,toc:()=>g});var t=r(87462),o=(r(67294),r(3905)),s=r(44996),i=r(39308);const c={id:"index-coverage",title:"Trevas VTL coverage",sidebar_label:"Overview",slug:"/user-guide/coverage",custom_edit_url:null},l=void 0,d={unversionedId:"user-guide/coverage/index-coverage",id:"user-guide/coverage/index-coverage",title:"Trevas VTL coverage",description:"{r.d(a,{Z:()=>v});var t=r(67294),o=r(3905),s=r(84734);const i="riContainer_QAfm",l="riDescriptionShort_ogAL",c="riDetail_rDiW",d="riIcon_zSrR",n="riTitle__Mkd",g="riDescription_k_lG",p="riMore_lLbd";var u=r(86010);const v=e=>{const[a,r]=t.useState(!1);return t.createElement("a",{href:e.page,className:i},t.createElement("div",{className:l},t.createElement("div",{className:d},t.createElement("span",{className:"fe fe-zap"})),t.createElement("div",{className:c},t.createElement("div",{className:n},t.createElement("a",{href:e.page},e.title)),t.createElement("div",{className:g},e.description,t.Children.count(e.children)>0&&t.createElement("span",{className:(0,u.Z)(p,"fe","fe-more-horizontal"),onClick:()=>r(!a)})))),a&&t.createElement("div",{className:"ri-description-long"},t.createElement(o.Zo,{components:s.Z},e.children)))}},17451:(e,a,r)=>{r.r(a),r.d(a,{assets:()=>n,contentTitle:()=>c,default:()=>u,frontMatter:()=>l,metadata:()=>d,toc:()=>g});var t=r(87462),o=(r(67294),r(3905)),s=r(44996),i=r(39308);const l={id:"index-coverage",title:"Trevas VTL coverage",sidebar_label:"Overview",slug:"/user-guide/coverage",custom_edit_url:null},c=void 0,d={unversionedId:"user-guide/coverage/index-coverage",id:"user-guide/coverage/index-coverage",title:"Trevas VTL coverage",description:"{r.d(t,{Zo:()=>p,kt:()=>v});var n=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var o=n.createContext({}),u=function(e){var t=n.useContext(o),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},p=function(e){var t=u(e.components);return n.createElement(o.Provider,{value:t},e.children)},c="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var r=e.components,i=e.mdxType,a=e.originalType,o=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),c=u(r),m=i,v=c["".concat(o,".").concat(m)]||c[m]||d[m]||a;return r?n.createElement(v,l(l({ref:t},p),{},{components:r})):n.createElement(v,l({ref:t},p))}));function v(e,t){var r=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var a=r.length,l=new Array(a);l[0]=m;var s={};for(var o in t)hasOwnProperty.call(t,o)&&(s[o]=t[o]);s.originalType=e,s[c]="string"==typeof e?e:i,l[1]=s;for(var u=2;u{r.r(t),r.d(t,{assets:()=>o,contentTitle:()=>l,default:()=>c,frontMatter:()=>a,metadata:()=>s,toc:()=>u});var n=r(87462),i=(r(67294),r(3905));const a={id:"1.x.x",title:"Release 1.x.x",sidebar_label:"v1.x.x",slug:"/releases/1.x.x",custom_edit_url:null},l=void 0,s={unversionedId:"introduction/releases/1.x.x",id:"introduction/releases/1.x.x",title:"Release 1.x.x",description:"Version 1.4.1 - 06/25/24",source:"@site/docs/introduction/releases/1.x.x.mdx",sourceDirName:"introduction/releases",slug:"/releases/1.x.x",permalink:"/Trevas/releases/1.x.x",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1719441741,formattedLastUpdatedAt:"Jun 26, 2024",sidebarPosition:1,frontMatter:{id:"1.x.x",title:"Release 1.x.x",sidebar_label:"v1.x.x",slug:"/releases/1.x.x",custom_edit_url:null},sidebar:"docs",previous:{title:"Overview",permalink:"/Trevas/releases"},next:{title:"Overview",permalink:"/Trevas/user-guide/vtl"}},o={},u=[{value:"Version 1.4.1 - 06/25/24",id:"version-141---062524",level:2},{value:"Version 1.4.0 - 06/21/24",id:"version-140---062124",level:2},{value:"Version 1.3.0 - 01/17/24",id:"version-130---011724",level:2},{value:"Version 1.2.0 - 11/22/23",id:"version-120---112223",level:2},{value:"Version 1.1.1 - 09/09/23",id:"version-111---090923",level:2},{value:"Version 1.1.0 - 09/01/23",id:"version-110---090123",level:2},{value:"Version 1.0.2 - 06/30/23",id:"version-102---063023",level:2},{value:"Version 1.0.1 - 05/23/23",id:"version-101---052323",level:2},{value:"Version 1.0.0 - 05/12/23",id:"version-100---051223",level:2}],p={toc:u};function c(e){let{components:t,...r}=e;return(0,i.kt)("wrapper",(0,n.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h2",{id:"version-141---062524"},"Version 1.4.1 - 06/25/24"),(0,i.kt)("p",null,"(See technical release on ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/InseeFr/Trevas/releases/tag/v1.4.1"},"Github"),")"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Fix VTL SDMX module visibility")),(0,i.kt)("h2",{id:"version-140---062124"},"Version 1.4.0 - 06/21/24"),(0,i.kt)("p",null,"(See technical release on ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/InseeFr/Trevas/releases/tag/v1.4.0"},"Github"),")"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Support temporal operators"),(0,i.kt)("li",{parentName:"ul"},"Add VTL CSV module"),(0,i.kt)("li",{parentName:"ul"},"Add VTL SDMX module")),(0,i.kt)("h2",{id:"version-130---011724"},"Version 1.3.0 - 01/17/24"),(0,i.kt)("p",null,"(See technical release on ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/InseeFr/Trevas/releases/tag/v1.3.0"},"Github"),")"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Fix Analytics implementations when operators are applied to datasets")),(0,i.kt)("h2",{id:"version-120---112223"},"Version 1.2.0 - 11/22/23"),(0,i.kt)("p",null,"(See technical release on ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/InseeFr/Trevas/releases/tag/v1.2.0"},"Github"),")"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Java 17 support"),(0,i.kt)("li",{parentName:"ul"},"Persistent assignments (",(0,i.kt)("inlineCode",{parentName:"li"},"<-"),")")),(0,i.kt)("h2",{id:"version-111---090923"},"Version 1.1.1 - 09/09/23"),(0,i.kt)("p",null,"(See technical release on ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/InseeFr/Trevas/releases/tag/v1.1.1"},"Github"),")"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Fix ",(0,i.kt)("inlineCode",{parentName:"li"},"check_hierarchy")," issues: serialization and possibility to return empty dataset")),(0,i.kt)("h2",{id:"version-110---090123"},"Version 1.1.0 - 09/01/23"),(0,i.kt)("p",null,"(See technical release on ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/InseeFr/Trevas/releases/tag/v1.1.0"},"Github"),")"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Validation: ",(0,i.kt)("inlineCode",{parentName:"li"},"define hierarchical ruleset"),", ",(0,i.kt)("inlineCode",{parentName:"li"},"check_hierarchy"))),(0,i.kt)("h2",{id:"version-102---063023"},"Version 1.0.2 - 06/30/23"),(0,i.kt)("p",null,"(See technical release on ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/InseeFr/Trevas/releases/tag/v1.0.2"},"Github"),")"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Split VTL engine method registrations with 2 methods: ",(0,i.kt)("inlineCode",{parentName:"li"},"registerMethod")," and ",(0,i.kt)("inlineCode",{parentName:"li"},"registerGlobalMethod")),(0,i.kt)("li",{parentName:"ul"},"Fix ",(0,i.kt)("inlineCode",{parentName:"li"},"in")," / ",(0,i.kt)("inlineCode",{parentName:"li"},"not_in")," bug with null")),(0,i.kt)("h2",{id:"version-101---052323"},"Version 1.0.1 - 05/23/23"),(0,i.kt)("p",null,"(See technical release on ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/InseeFr/Trevas/releases/tag/v1.0.1"},"Github"),")"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Fix Spark serialization issue in ",(0,i.kt)("inlineCode",{parentName:"li"},"check_datapoint")," implementation")),(0,i.kt)("h2",{id:"version-100---051223"},"Version 1.0.0 - 05/12/23"),(0,i.kt)("p",null,"(See technical release on ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/InseeFr/Trevas/releases/tag/v1.0.0"},"Github"),")"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Membership: ",(0,i.kt)("inlineCode",{parentName:"li"},"#")),(0,i.kt)("li",{parentName:"ul"},"Validation: ",(0,i.kt)("inlineCode",{parentName:"li"},"check"),", ",(0,i.kt)("inlineCode",{parentName:"li"},"check_datapoint")),(0,i.kt)("li",{parentName:"ul"},"Dataset operators (",(0,i.kt)("inlineCode",{parentName:"li"},"ceil(ds)"),", ",(0,i.kt)("inlineCode",{parentName:"li"},"ds1 < ds2"),", ",(0,i.kt)("inlineCode",{parentName:"li"},"mod(ds, 5)"),", ...)")))}c.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[5919],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>v});var n=r(67294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var o=n.createContext({}),u=function(e){var t=n.useContext(o),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},p=function(e){var t=u(e.components);return n.createElement(o.Provider,{value:t},e.children)},c="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var r=e.components,i=e.mdxType,a=e.originalType,o=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),c=u(r),m=i,v=c["".concat(o,".").concat(m)]||c[m]||d[m]||a;return r?n.createElement(v,l(l({ref:t},p),{},{components:r})):n.createElement(v,l({ref:t},p))}));function v(e,t){var r=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var a=r.length,l=new Array(a);l[0]=m;var s={};for(var o in t)hasOwnProperty.call(t,o)&&(s[o]=t[o]);s.originalType=e,s[c]="string"==typeof e?e:i,l[1]=s;for(var u=2;u{r.r(t),r.d(t,{assets:()=>o,contentTitle:()=>l,default:()=>c,frontMatter:()=>a,metadata:()=>s,toc:()=>u});var n=r(87462),i=(r(67294),r(3905));const a={id:"1.x.x",title:"Release 1.x.x",sidebar_label:"v1.x.x",slug:"/releases/1.x.x",custom_edit_url:null},l=void 0,s={unversionedId:"introduction/releases/1.x.x",id:"introduction/releases/1.x.x",title:"Release 1.x.x",description:"Version 1.4.1 - 06/25/24",source:"@site/docs/introduction/releases/1.x.x.mdx",sourceDirName:"introduction/releases",slug:"/releases/1.x.x",permalink:"/Trevas/releases/1.x.x",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1720593860,formattedLastUpdatedAt:"Jul 10, 2024",sidebarPosition:1,frontMatter:{id:"1.x.x",title:"Release 1.x.x",sidebar_label:"v1.x.x",slug:"/releases/1.x.x",custom_edit_url:null},sidebar:"docs",previous:{title:"Overview",permalink:"/Trevas/releases"},next:{title:"Overview",permalink:"/Trevas/user-guide/vtl"}},o={},u=[{value:"Version 1.4.1 - 06/25/24",id:"version-141---062524",level:2},{value:"Version 1.4.0 - 06/21/24",id:"version-140---062124",level:2},{value:"Version 1.3.0 - 01/17/24",id:"version-130---011724",level:2},{value:"Version 1.2.0 - 11/22/23",id:"version-120---112223",level:2},{value:"Version 1.1.1 - 09/09/23",id:"version-111---090923",level:2},{value:"Version 1.1.0 - 09/01/23",id:"version-110---090123",level:2},{value:"Version 1.0.2 - 06/30/23",id:"version-102---063023",level:2},{value:"Version 1.0.1 - 05/23/23",id:"version-101---052323",level:2},{value:"Version 1.0.0 - 05/12/23",id:"version-100---051223",level:2}],p={toc:u};function c(e){let{components:t,...r}=e;return(0,i.kt)("wrapper",(0,n.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h2",{id:"version-141---062524"},"Version 1.4.1 - 06/25/24"),(0,i.kt)("p",null,"(See technical release on ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/InseeFr/Trevas/releases/tag/v1.4.1"},"Github"),")"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Fix VTL SDMX module visibility")),(0,i.kt)("h2",{id:"version-140---062124"},"Version 1.4.0 - 06/21/24"),(0,i.kt)("p",null,"(See technical release on ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/InseeFr/Trevas/releases/tag/v1.4.0"},"Github"),")"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Support temporal operators"),(0,i.kt)("li",{parentName:"ul"},"Add VTL CSV module"),(0,i.kt)("li",{parentName:"ul"},"Add VTL SDMX module")),(0,i.kt)("h2",{id:"version-130---011724"},"Version 1.3.0 - 01/17/24"),(0,i.kt)("p",null,"(See technical release on ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/InseeFr/Trevas/releases/tag/v1.3.0"},"Github"),")"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Fix Analytics implementations when operators are applied to datasets")),(0,i.kt)("h2",{id:"version-120---112223"},"Version 1.2.0 - 11/22/23"),(0,i.kt)("p",null,"(See technical release on ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/InseeFr/Trevas/releases/tag/v1.2.0"},"Github"),")"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Java 17 support"),(0,i.kt)("li",{parentName:"ul"},"Persistent assignments (",(0,i.kt)("inlineCode",{parentName:"li"},"<-"),")")),(0,i.kt)("h2",{id:"version-111---090923"},"Version 1.1.1 - 09/09/23"),(0,i.kt)("p",null,"(See technical release on ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/InseeFr/Trevas/releases/tag/v1.1.1"},"Github"),")"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Fix ",(0,i.kt)("inlineCode",{parentName:"li"},"check_hierarchy")," issues: serialization and possibility to return empty dataset")),(0,i.kt)("h2",{id:"version-110---090123"},"Version 1.1.0 - 09/01/23"),(0,i.kt)("p",null,"(See technical release on ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/InseeFr/Trevas/releases/tag/v1.1.0"},"Github"),")"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Validation: ",(0,i.kt)("inlineCode",{parentName:"li"},"define hierarchical ruleset"),", ",(0,i.kt)("inlineCode",{parentName:"li"},"check_hierarchy"))),(0,i.kt)("h2",{id:"version-102---063023"},"Version 1.0.2 - 06/30/23"),(0,i.kt)("p",null,"(See technical release on ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/InseeFr/Trevas/releases/tag/v1.0.2"},"Github"),")"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Split VTL engine method registrations with 2 methods: ",(0,i.kt)("inlineCode",{parentName:"li"},"registerMethod")," and ",(0,i.kt)("inlineCode",{parentName:"li"},"registerGlobalMethod")),(0,i.kt)("li",{parentName:"ul"},"Fix ",(0,i.kt)("inlineCode",{parentName:"li"},"in")," / ",(0,i.kt)("inlineCode",{parentName:"li"},"not_in")," bug with null")),(0,i.kt)("h2",{id:"version-101---052323"},"Version 1.0.1 - 05/23/23"),(0,i.kt)("p",null,"(See technical release on ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/InseeFr/Trevas/releases/tag/v1.0.1"},"Github"),")"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Fix Spark serialization issue in ",(0,i.kt)("inlineCode",{parentName:"li"},"check_datapoint")," implementation")),(0,i.kt)("h2",{id:"version-100---051223"},"Version 1.0.0 - 05/12/23"),(0,i.kt)("p",null,"(See technical release on ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/InseeFr/Trevas/releases/tag/v1.0.0"},"Github"),")"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Membership: ",(0,i.kt)("inlineCode",{parentName:"li"},"#")),(0,i.kt)("li",{parentName:"ul"},"Validation: ",(0,i.kt)("inlineCode",{parentName:"li"},"check"),", ",(0,i.kt)("inlineCode",{parentName:"li"},"check_datapoint")),(0,i.kt)("li",{parentName:"ul"},"Dataset operators (",(0,i.kt)("inlineCode",{parentName:"li"},"ceil(ds)"),", ",(0,i.kt)("inlineCode",{parentName:"li"},"ds1 < ds2"),", ",(0,i.kt)("inlineCode",{parentName:"li"},"mod(ds, 5)"),", ...)")))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/ae1c251f.5a63cbbc.js b/assets/js/ae1c251f.cdcae0a6.js similarity index 97% rename from assets/js/ae1c251f.5a63cbbc.js rename to assets/js/ae1c251f.cdcae0a6.js index 15bc00be7..77a8c2f4c 100644 --- a/assets/js/ae1c251f.5a63cbbc.js +++ b/assets/js/ae1c251f.cdcae0a6.js @@ -1 +1 @@ -"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[1818],{3905:(e,r,t)=>{t.d(r,{Zo:()=>u,kt:()=>v});var o=t(67294);function a(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function n(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,o)}return t}function s(e){for(var r=1;r=0||(a[t]=e[t]);return a}(e,r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var i=o.createContext({}),l=function(e){var r=o.useContext(i),t=r;return e&&(t="function"==typeof e?e(r):s(s({},r),e)),t},u=function(e){var r=l(e.components);return o.createElement(i.Provider,{value:r},e.children)},d="mdxType",p={inlineCode:"code",wrapper:function(e){var r=e.children;return o.createElement(o.Fragment,{},r)}},m=o.forwardRef((function(e,r){var t=e.components,a=e.mdxType,n=e.originalType,i=e.parentName,u=c(e,["components","mdxType","originalType","parentName"]),d=l(t),m=a,v=d["".concat(i,".").concat(m)]||d[m]||p[m]||n;return t?o.createElement(v,s(s({ref:r},u),{},{components:t})):o.createElement(v,s({ref:r},u))}));function v(e,r){var t=arguments,a=r&&r.mdxType;if("string"==typeof e||a){var n=t.length,s=new Array(n);s[0]=m;var c={};for(var i in r)hasOwnProperty.call(r,i)&&(c[i]=r[i]);c.originalType=e,c[d]="string"==typeof e?e:a,s[1]=c;for(var l=2;l{t.r(r),t.d(r,{assets:()=>i,contentTitle:()=>s,default:()=>d,frontMatter:()=>n,metadata:()=>c,toc:()=>l});var o=t(87462),a=(t(67294),t(3905));const n={id:"others",title:"Basic mode - Other sources",sidebar_label:"Others",slug:"/developer-guide/basic-mode/data-sources/others",custom_edit_url:null},s=void 0,c={unversionedId:"developer-guide/basic-mode/data-sources/others",id:"developer-guide/basic-mode/data-sources/others",title:"Basic mode - Other sources",description:"InMemoryDataset constructor",source:"@site/docs/developer-guide/basic-mode/data-sources/others.mdx",sourceDirName:"developer-guide/basic-mode/data-sources",slug:"/developer-guide/basic-mode/data-sources/others",permalink:"/Trevas/developer-guide/basic-mode/data-sources/others",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1719441741,formattedLastUpdatedAt:"Jun 26, 2024",frontMatter:{id:"others",title:"Basic mode - Other sources",sidebar_label:"Others",slug:"/developer-guide/basic-mode/data-sources/others",custom_edit_url:null},sidebar:"docs",previous:{title:"JSON",permalink:"/Trevas/developer-guide/basic-mode/data-sources/json"},next:{title:"Overview",permalink:"/Trevas/developer-guide/spark-mode"}},i={},l=[{value:"InMemoryDataset constructor",id:"inmemorydataset-constructor",level:3}],u={toc:l};function d(e){let{components:r,...t}=e;return(0,a.kt)("wrapper",(0,o.Z)({},u,t,{components:r,mdxType:"MDXLayout"}),(0,a.kt)("h3",{id:"inmemorydataset-constructor"},(0,a.kt)("inlineCode",{parentName:"h3"},"InMemoryDataset")," constructor"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-java"},'InMemoryDataset dataset = new InMemoryDataset(\n List.of(\n Map.of("var1", "x", "var2", "y", "var3", 5),\n Map.of("var1", "xx", "var2", "yy", "var3", 10)\n ),\n Map.of("var1", String.class, "var2", String.class, "var3", Long.class),\n Map.of("var1", Role.IDENTIFIER, "var2", Role.ATTRIBUTE, "var3", Role.MEASURE)\n);\n')))}d.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[1818],{3905:(e,r,t)=>{t.d(r,{Zo:()=>u,kt:()=>v});var o=t(67294);function a(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function n(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,o)}return t}function s(e){for(var r=1;r=0||(a[t]=e[t]);return a}(e,r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var i=o.createContext({}),l=function(e){var r=o.useContext(i),t=r;return e&&(t="function"==typeof e?e(r):s(s({},r),e)),t},u=function(e){var r=l(e.components);return o.createElement(i.Provider,{value:r},e.children)},d="mdxType",p={inlineCode:"code",wrapper:function(e){var r=e.children;return o.createElement(o.Fragment,{},r)}},m=o.forwardRef((function(e,r){var t=e.components,a=e.mdxType,n=e.originalType,i=e.parentName,u=c(e,["components","mdxType","originalType","parentName"]),d=l(t),m=a,v=d["".concat(i,".").concat(m)]||d[m]||p[m]||n;return t?o.createElement(v,s(s({ref:r},u),{},{components:t})):o.createElement(v,s({ref:r},u))}));function v(e,r){var t=arguments,a=r&&r.mdxType;if("string"==typeof e||a){var n=t.length,s=new Array(n);s[0]=m;var c={};for(var i in r)hasOwnProperty.call(r,i)&&(c[i]=r[i]);c.originalType=e,c[d]="string"==typeof e?e:a,s[1]=c;for(var l=2;l{t.r(r),t.d(r,{assets:()=>i,contentTitle:()=>s,default:()=>d,frontMatter:()=>n,metadata:()=>c,toc:()=>l});var o=t(87462),a=(t(67294),t(3905));const n={id:"others",title:"Basic mode - Other sources",sidebar_label:"Others",slug:"/developer-guide/basic-mode/data-sources/others",custom_edit_url:null},s=void 0,c={unversionedId:"developer-guide/basic-mode/data-sources/others",id:"developer-guide/basic-mode/data-sources/others",title:"Basic mode - Other sources",description:"InMemoryDataset constructor",source:"@site/docs/developer-guide/basic-mode/data-sources/others.mdx",sourceDirName:"developer-guide/basic-mode/data-sources",slug:"/developer-guide/basic-mode/data-sources/others",permalink:"/Trevas/developer-guide/basic-mode/data-sources/others",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1720593860,formattedLastUpdatedAt:"Jul 10, 2024",frontMatter:{id:"others",title:"Basic mode - Other sources",sidebar_label:"Others",slug:"/developer-guide/basic-mode/data-sources/others",custom_edit_url:null},sidebar:"docs",previous:{title:"JSON",permalink:"/Trevas/developer-guide/basic-mode/data-sources/json"},next:{title:"Overview",permalink:"/Trevas/developer-guide/spark-mode"}},i={},l=[{value:"InMemoryDataset constructor",id:"inmemorydataset-constructor",level:3}],u={toc:l};function d(e){let{components:r,...t}=e;return(0,a.kt)("wrapper",(0,o.Z)({},u,t,{components:r,mdxType:"MDXLayout"}),(0,a.kt)("h3",{id:"inmemorydataset-constructor"},(0,a.kt)("inlineCode",{parentName:"h3"},"InMemoryDataset")," constructor"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-java"},'InMemoryDataset dataset = new InMemoryDataset(\n List.of(\n Map.of("var1", "x", "var2", "y", "var3", 5),\n Map.of("var1", "xx", "var2", "yy", "var3", 10)\n ),\n Map.of("var1", String.class, "var2", String.class, "var3", Long.class),\n Map.of("var1", Role.IDENTIFIER, "var2", Role.ATTRIBUTE, "var3", Role.MEASURE)\n);\n')))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/b2c48e10.97ed0133.js b/assets/js/b2c48e10.20ce283b.js similarity index 98% rename from assets/js/b2c48e10.97ed0133.js rename to assets/js/b2c48e10.20ce283b.js index 1ce2fc59c..b3a5b33bb 100644 --- a/assets/js/b2c48e10.97ed0133.js +++ b/assets/js/b2c48e10.20ce283b.js @@ -1 +1 @@ -"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[7501],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>g});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var p=n.createContext({}),c=function(e){var t=n.useContext(p),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},u=function(e){var t=c(e.components);return n.createElement(p.Provider,{value:t},e.children)},s="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,p=e.parentName,u=i(e,["components","mdxType","originalType","parentName"]),s=c(r),m=a,g=s["".concat(p,".").concat(m)]||s[m]||d[m]||o;return r?n.createElement(g,l(l({ref:t},u),{},{components:r})):n.createElement(g,l({ref:t},u))}));function g(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,l=new Array(o);l[0]=m;var i={};for(var p in t)hasOwnProperty.call(t,p)&&(i[p]=t[p]);i.originalType=e,i[s]="string"==typeof e?e:a,l[1]=i;for(var c=2;c{r.r(t),r.d(t,{assets:()=>p,contentTitle:()=>l,default:()=>s,frontMatter:()=>o,metadata:()=>i,toc:()=>c});var n=r(87462),a=(r(67294),r(3905));const o={id:"boolean-operators",title:"VTL - Boolean operators",sidebar_label:"Boolean operators",slug:"/user-guide/coverage/boolean-operators",custom_edit_url:null},l=void 0,i={unversionedId:"user-guide/coverage/boolean-operators",id:"user-guide/coverage/boolean-operators",title:"VTL - Boolean operators",description:"| Name | Symbol | Boolean | Component | Dataset |",source:"@site/docs/user-guide/coverage/boolean-operators.mdx",sourceDirName:"user-guide/coverage",slug:"/user-guide/coverage/boolean-operators",permalink:"/Trevas/user-guide/coverage/boolean-operators",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1719441741,formattedLastUpdatedAt:"Jun 26, 2024",frontMatter:{id:"boolean-operators",title:"VTL - Boolean operators",sidebar_label:"Boolean operators",slug:"/user-guide/coverage/boolean-operators",custom_edit_url:null},sidebar:"docs",previous:{title:"Comparison operators",permalink:"/Trevas/user-guide/coverage/comparison-operators"},next:{title:"Time operators",permalink:"/Trevas/user-guide/coverage/time-operators"}},p={},c=[],u={toc:c};function s(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Name"),(0,a.kt)("th",{parentName:"tr",align:"left"},"Symbol"),(0,a.kt)("th",{parentName:"tr",align:"center"},"Boolean"),(0,a.kt)("th",{parentName:"tr",align:"center"},"Component"),(0,a.kt)("th",{parentName:"tr",align:"center"},"Dataset"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Logical conjunction"),(0,a.kt)("td",{parentName:"tr",align:"left"},"and"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Logical disjunction"),(0,a.kt)("td",{parentName:"tr",align:"left"},"or"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Exclusive disjunction"),(0,a.kt)("td",{parentName:"tr",align:"left"},"xor"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Logical negation"),(0,a.kt)("td",{parentName:"tr",align:"left"},"not"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")))))}s.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[7501],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>g});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var p=n.createContext({}),c=function(e){var t=n.useContext(p),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},u=function(e){var t=c(e.components);return n.createElement(p.Provider,{value:t},e.children)},s="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,p=e.parentName,u=i(e,["components","mdxType","originalType","parentName"]),s=c(r),m=a,g=s["".concat(p,".").concat(m)]||s[m]||d[m]||o;return r?n.createElement(g,l(l({ref:t},u),{},{components:r})):n.createElement(g,l({ref:t},u))}));function g(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,l=new Array(o);l[0]=m;var i={};for(var p in t)hasOwnProperty.call(t,p)&&(i[p]=t[p]);i.originalType=e,i[s]="string"==typeof e?e:a,l[1]=i;for(var c=2;c{r.r(t),r.d(t,{assets:()=>p,contentTitle:()=>l,default:()=>s,frontMatter:()=>o,metadata:()=>i,toc:()=>c});var n=r(87462),a=(r(67294),r(3905));const o={id:"boolean-operators",title:"VTL - Boolean operators",sidebar_label:"Boolean operators",slug:"/user-guide/coverage/boolean-operators",custom_edit_url:null},l=void 0,i={unversionedId:"user-guide/coverage/boolean-operators",id:"user-guide/coverage/boolean-operators",title:"VTL - Boolean operators",description:"| Name | Symbol | Boolean | Component | Dataset |",source:"@site/docs/user-guide/coverage/boolean-operators.mdx",sourceDirName:"user-guide/coverage",slug:"/user-guide/coverage/boolean-operators",permalink:"/Trevas/user-guide/coverage/boolean-operators",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1720593860,formattedLastUpdatedAt:"Jul 10, 2024",frontMatter:{id:"boolean-operators",title:"VTL - Boolean operators",sidebar_label:"Boolean operators",slug:"/user-guide/coverage/boolean-operators",custom_edit_url:null},sidebar:"docs",previous:{title:"Comparison operators",permalink:"/Trevas/user-guide/coverage/comparison-operators"},next:{title:"Time operators",permalink:"/Trevas/user-guide/coverage/time-operators"}},p={},c=[],u={toc:c};function s(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Name"),(0,a.kt)("th",{parentName:"tr",align:"left"},"Symbol"),(0,a.kt)("th",{parentName:"tr",align:"center"},"Boolean"),(0,a.kt)("th",{parentName:"tr",align:"center"},"Component"),(0,a.kt)("th",{parentName:"tr",align:"center"},"Dataset"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Logical conjunction"),(0,a.kt)("td",{parentName:"tr",align:"left"},"and"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Logical disjunction"),(0,a.kt)("td",{parentName:"tr",align:"left"},"or"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Exclusive disjunction"),(0,a.kt)("td",{parentName:"tr",align:"left"},"xor"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Logical negation"),(0,a.kt)("td",{parentName:"tr",align:"left"},"not"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")))))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/b720a178.e0080740.js b/assets/js/b720a178.82548779.js similarity index 51% rename from assets/js/b720a178.e0080740.js rename to assets/js/b720a178.82548779.js index af2b41810..61c509ba4 100644 --- a/assets/js/b720a178.e0080740.js +++ b/assets/js/b720a178.82548779.js @@ -1 +1 @@ -"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[3205],{3905:(e,r,t)=>{t.d(r,{Zo:()=>l,kt:()=>f});var a=t(67294);function n(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function o(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);r&&(a=a.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,a)}return t}function s(e){for(var r=1;r=0||(n[t]=e[t]);return n}(e,r);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}var p=a.createContext({}),i=function(e){var r=a.useContext(p),t=r;return e&&(t="function"==typeof e?e(r):s(s({},r),e)),t},l=function(e){var r=i(e.components);return a.createElement(p.Provider,{value:r},e.children)},c="mdxType",u={inlineCode:"code",wrapper:function(e){var r=e.children;return a.createElement(a.Fragment,{},r)}},m=a.forwardRef((function(e,r){var t=e.components,n=e.mdxType,o=e.originalType,p=e.parentName,l=d(e,["components","mdxType","originalType","parentName"]),c=i(t),m=n,f=c["".concat(p,".").concat(m)]||c[m]||u[m]||o;return t?a.createElement(f,s(s({ref:r},l),{},{components:t})):a.createElement(f,s({ref:r},l))}));function f(e,r){var t=arguments,n=r&&r.mdxType;if("string"==typeof e||n){var o=t.length,s=new Array(o);s[0]=m;var d={};for(var p in r)hasOwnProperty.call(r,p)&&(d[p]=r[p]);d.originalType=e,d[c]="string"==typeof e?e:n,s[1]=d;for(var i=2;i{t.r(r),t.d(r,{assets:()=>i,contentTitle:()=>d,default:()=>u,frontMatter:()=>s,metadata:()=>p,toc:()=>l});var a=t(87462),n=(t(67294),t(3905)),o=t(44996);const s={id:"jdbc",title:"Spark mode - JDBC source",sidebar_label:"JDBC",slug:"/developer-guide/spark-mode/data-sources/jdbc",custom_edit_url:null},d=void 0,p={unversionedId:"developer-guide/spark-mode/data-sources/jdbc",id:"developer-guide/spark-mode/data-sources/jdbc",title:"Spark mode - JDBC source",description:"Read",source:"@site/docs/developer-guide/spark-mode/data-sources/jdbc.mdx",sourceDirName:"developer-guide/spark-mode/data-sources",slug:"/developer-guide/spark-mode/data-sources/jdbc",permalink:"/Trevas/developer-guide/spark-mode/data-sources/jdbc",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1719441741,formattedLastUpdatedAt:"Jun 26, 2024",frontMatter:{id:"jdbc",title:"Spark mode - JDBC source",sidebar_label:"JDBC",slug:"/developer-guide/spark-mode/data-sources/jdbc",custom_edit_url:null},sidebar:"docs",previous:{title:"CSV",permalink:"/Trevas/developer-guide/spark-mode/data-sources/csv"},next:{title:"Others",permalink:"/Trevas/developer-guide/spark-mode/data-sources/others"}},i={},l=[{value:"Read",id:"read",level:3},{value:"Write",id:"write",level:3}],c={toc:l};function u(e){let{components:r,...t}=e;return(0,n.kt)("wrapper",(0,a.Z)({},c,t,{components:r,mdxType:"MDXLayout"}),(0,n.kt)("h3",{id:"read"},"Read"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-java"},'Dataset sparkDataset = spark.read()\n .format("jdbc")\n .option("url", "myUrl")\n .option("user", "myUser")\n .option("password", "myPwd")\n .option("query", "myQuery")\n .option("driver", "org.postgresql.Driver")\n .load();\nSparkDataset dataset = new SparkDataset(sparkDataset);\n')),(0,n.kt)("p",null,"In this example, the project must include a dependency to the PostgreSQL driver:"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-xml"},"\n org.postgresql\n postgresql\n 42.5.1\n\n")),(0,n.kt)("p",null,"See all supported options in the ",(0,n.kt)("a",{parentName:"p",href:"https://spark.apache.org/docs/latest/sql-data-sources-jdbc.html#data-source-option"},"official documentation"),"."),(0,n.kt)("h3",{id:"write"},"Write"),(0,n.kt)("p",null,"Le format JDBC format is not recommended for writing Trevas ",(0,n.kt)("inlineCode",{parentName:"p"},"Dataset"),"s (see ",(0,n.kt)("a",{href:(0,o.Z)("/developer-guide/spark-mode/data-sources#bonnes-pratiques-trevas")},"here"),")"))}u.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[3205],{3905:(e,r,t)=>{t.d(r,{Zo:()=>i,kt:()=>f});var a=t(67294);function n(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function o(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);r&&(a=a.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,a)}return t}function s(e){for(var r=1;r=0||(n[t]=e[t]);return n}(e,r);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}var p=a.createContext({}),l=function(e){var r=a.useContext(p),t=r;return e&&(t="function"==typeof e?e(r):s(s({},r),e)),t},i=function(e){var r=l(e.components);return a.createElement(p.Provider,{value:r},e.children)},c="mdxType",u={inlineCode:"code",wrapper:function(e){var r=e.children;return a.createElement(a.Fragment,{},r)}},m=a.forwardRef((function(e,r){var t=e.components,n=e.mdxType,o=e.originalType,p=e.parentName,i=d(e,["components","mdxType","originalType","parentName"]),c=l(t),m=n,f=c["".concat(p,".").concat(m)]||c[m]||u[m]||o;return t?a.createElement(f,s(s({ref:r},i),{},{components:t})):a.createElement(f,s({ref:r},i))}));function f(e,r){var t=arguments,n=r&&r.mdxType;if("string"==typeof e||n){var o=t.length,s=new Array(o);s[0]=m;var d={};for(var p in r)hasOwnProperty.call(r,p)&&(d[p]=r[p]);d.originalType=e,d[c]="string"==typeof e?e:n,s[1]=d;for(var l=2;l{t.r(r),t.d(r,{assets:()=>l,contentTitle:()=>d,default:()=>u,frontMatter:()=>s,metadata:()=>p,toc:()=>i});var a=t(87462),n=(t(67294),t(3905)),o=t(44996);const s={id:"jdbc",title:"Spark mode - JDBC source",sidebar_label:"JDBC",slug:"/developer-guide/spark-mode/data-sources/jdbc",custom_edit_url:null},d=void 0,p={unversionedId:"developer-guide/spark-mode/data-sources/jdbc",id:"developer-guide/spark-mode/data-sources/jdbc",title:"Spark mode - JDBC source",description:"Read",source:"@site/docs/developer-guide/spark-mode/data-sources/jdbc.mdx",sourceDirName:"developer-guide/spark-mode/data-sources",slug:"/developer-guide/spark-mode/data-sources/jdbc",permalink:"/Trevas/developer-guide/spark-mode/data-sources/jdbc",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1720593860,formattedLastUpdatedAt:"Jul 10, 2024",frontMatter:{id:"jdbc",title:"Spark mode - JDBC source",sidebar_label:"JDBC",slug:"/developer-guide/spark-mode/data-sources/jdbc",custom_edit_url:null},sidebar:"docs",previous:{title:"CSV",permalink:"/Trevas/developer-guide/spark-mode/data-sources/csv"},next:{title:"Parquet",permalink:"/Trevas/developer-guide/spark-mode/data-sources/parquet"}},l={},i=[{value:"Read",id:"read",level:3},{value:"Write",id:"write",level:3}],c={toc:i};function u(e){let{components:r,...t}=e;return(0,n.kt)("wrapper",(0,a.Z)({},c,t,{components:r,mdxType:"MDXLayout"}),(0,n.kt)("h3",{id:"read"},"Read"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-java"},'Dataset sparkDataset = spark.read()\n .format("jdbc")\n .option("url", "myUrl")\n .option("user", "myUser")\n .option("password", "myPwd")\n .option("query", "myQuery")\n .option("driver", "org.postgresql.Driver")\n .load();\nSparkDataset dataset = new SparkDataset(sparkDataset);\n')),(0,n.kt)("p",null,"In this example, the project must include a dependency to the PostgreSQL driver:"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-xml"},"\n org.postgresql\n postgresql\n 42.5.1\n\n")),(0,n.kt)("p",null,"See all supported options in the ",(0,n.kt)("a",{parentName:"p",href:"https://spark.apache.org/docs/latest/sql-data-sources-jdbc.html#data-source-option"},"official documentation"),"."),(0,n.kt)("h3",{id:"write"},"Write"),(0,n.kt)("p",null,"Le format JDBC format is not recommended for writing Trevas ",(0,n.kt)("inlineCode",{parentName:"p"},"Dataset"),"s (see ",(0,n.kt)("a",{href:(0,o.Z)("/developer-guide/spark-mode/data-sources#bonnes-pratiques-trevas")},"here"),")"))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/bb123c67.f2515137.js b/assets/js/bb123c67.c7c82165.js similarity index 51% rename from assets/js/bb123c67.f2515137.js rename to assets/js/bb123c67.c7c82165.js index 4253d6725..bc60e2e44 100644 --- a/assets/js/bb123c67.f2515137.js +++ b/assets/js/bb123c67.c7c82165.js @@ -1 +1 @@ -"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[1448],{3905:(e,t,r)=>{r.d(t,{Zo:()=>c,kt:()=>v});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function s(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var i=a.createContext({}),p=function(e){var t=a.useContext(i),r=t;return e&&(r="function"==typeof e?e(t):s(s({},t),e)),r},c=function(e){var t=p(e.components);return a.createElement(i.Provider,{value:t},e.children)},l="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,i=e.parentName,c=d(e,["components","mdxType","originalType","parentName"]),l=p(r),m=n,v=l["".concat(i,".").concat(m)]||l[m]||u[m]||o;return r?a.createElement(v,s(s({ref:t},c),{},{components:r})):a.createElement(v,s({ref:t},c))}));function v(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,s=new Array(o);s[0]=m;var d={};for(var i in t)hasOwnProperty.call(t,i)&&(d[i]=t[i]);d.originalType=e,d[l]="string"==typeof e?e:n,s[1]=d;for(var p=2;p{r.r(t),r.d(t,{assets:()=>p,contentTitle:()=>d,default:()=>u,frontMatter:()=>s,metadata:()=>i,toc:()=>c});var a=r(87462),n=(r(67294),r(3905)),o=r(44996);const s={id:"csv",title:"Spark mode - CSV source",sidebar_label:"CSV",slug:"/developer-guide/spark-mode/data-sources/csv",custom_edit_url:null},d=void 0,i={unversionedId:"developer-guide/spark-mode/data-sources/csv",id:"developer-guide/spark-mode/data-sources/csv",title:"Spark mode - CSV source",description:"Read",source:"@site/docs/developer-guide/spark-mode/data-sources/csv.mdx",sourceDirName:"developer-guide/spark-mode/data-sources",slug:"/developer-guide/spark-mode/data-sources/csv",permalink:"/Trevas/developer-guide/spark-mode/data-sources/csv",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1719441741,formattedLastUpdatedAt:"Jun 26, 2024",frontMatter:{id:"csv",title:"Spark mode - CSV source",sidebar_label:"CSV",slug:"/developer-guide/spark-mode/data-sources/csv",custom_edit_url:null},sidebar:"docs",previous:{title:"Parquet",permalink:"/Trevas/developer-guide/spark-mode/data-sources/parquet"},next:{title:"JDBC",permalink:"/Trevas/developer-guide/spark-mode/data-sources/jdbc"}},p={},c=[{value:"Read",id:"read",level:3},{value:"Write",id:"write",level:3}],l={toc:c};function u(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,a.Z)({},l,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h3",{id:"read"},"Read"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-java"},'Dataset sparkDataset = spark.read()\n .option("delimiter", ";")\n .option("header", "true")\n .csv("folder_path");\nSparkDataset dataset = new SparkDataset(sparkDataset);\n')),(0,n.kt)("p",null,"See all supported options in the ",(0,n.kt)("a",{parentName:"p",href:"https://spark.apache.org/docs/latest/sql-data-sources-csv.html#data-source-option"},"official documentation"),"."),(0,n.kt)("h3",{id:"write"},"Write"),(0,n.kt)("p",null,"The CSV format is not recommended for writing Trevas ",(0,n.kt)("inlineCode",{parentName:"p"},"Dataset"),"s (see ",(0,n.kt)("a",{href:(0,o.Z)("/developer-guide/spark-mode/data-sources#bonnes-pratiques-trevas")},"here"),")"))}u.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[1448],{3905:(e,t,r)=>{r.d(t,{Zo:()=>l,kt:()=>v});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function s(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var i=a.createContext({}),c=function(e){var t=a.useContext(i),r=t;return e&&(r="function"==typeof e?e(t):s(s({},t),e)),r},l=function(e){var t=c(e.components);return a.createElement(i.Provider,{value:t},e.children)},p="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,i=e.parentName,l=d(e,["components","mdxType","originalType","parentName"]),p=c(r),m=n,v=p["".concat(i,".").concat(m)]||p[m]||u[m]||o;return r?a.createElement(v,s(s({ref:t},l),{},{components:r})):a.createElement(v,s({ref:t},l))}));function v(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,s=new Array(o);s[0]=m;var d={};for(var i in t)hasOwnProperty.call(t,i)&&(d[i]=t[i]);d.originalType=e,d[p]="string"==typeof e?e:n,s[1]=d;for(var c=2;c{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>d,default:()=>u,frontMatter:()=>s,metadata:()=>i,toc:()=>l});var a=r(87462),n=(r(67294),r(3905)),o=r(44996);const s={id:"csv",title:"Spark mode - CSV source",sidebar_label:"CSV",slug:"/developer-guide/spark-mode/data-sources/csv",custom_edit_url:null},d=void 0,i={unversionedId:"developer-guide/spark-mode/data-sources/csv",id:"developer-guide/spark-mode/data-sources/csv",title:"Spark mode - CSV source",description:"Read",source:"@site/docs/developer-guide/spark-mode/data-sources/csv.mdx",sourceDirName:"developer-guide/spark-mode/data-sources",slug:"/developer-guide/spark-mode/data-sources/csv",permalink:"/Trevas/developer-guide/spark-mode/data-sources/csv",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1720593860,formattedLastUpdatedAt:"Jul 10, 2024",frontMatter:{id:"csv",title:"Spark mode - CSV source",sidebar_label:"CSV",slug:"/developer-guide/spark-mode/data-sources/csv",custom_edit_url:null},sidebar:"docs",previous:{title:"Overview",permalink:"/Trevas/developer-guide/spark-mode/data-sources"},next:{title:"JDBC",permalink:"/Trevas/developer-guide/spark-mode/data-sources/jdbc"}},c={},l=[{value:"Read",id:"read",level:3},{value:"Write",id:"write",level:3}],p={toc:l};function u(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,a.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h3",{id:"read"},"Read"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-java"},'Dataset sparkDataset = spark.read()\n .option("delimiter", ";")\n .option("header", "true")\n .csv("folder_path");\nSparkDataset dataset = new SparkDataset(sparkDataset);\n')),(0,n.kt)("p",null,"See all supported options in the ",(0,n.kt)("a",{parentName:"p",href:"https://spark.apache.org/docs/latest/sql-data-sources-csv.html#data-source-option"},"official documentation"),"."),(0,n.kt)("h3",{id:"write"},"Write"),(0,n.kt)("p",null,"The CSV format is not recommended for writing Trevas ",(0,n.kt)("inlineCode",{parentName:"p"},"Dataset"),"s (see ",(0,n.kt)("a",{href:(0,o.Z)("/developer-guide/spark-mode/data-sources#bonnes-pratiques-trevas")},"here"),")"))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/bd189211.37f94229.js b/assets/js/bd189211.fbb233e8.js similarity index 98% rename from assets/js/bd189211.37f94229.js rename to assets/js/bd189211.fbb233e8.js index 57ada5b77..3ab341cca 100644 --- a/assets/js/bd189211.37f94229.js +++ b/assets/js/bd189211.fbb233e8.js @@ -1 +1 @@ -"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[178],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>f});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var i=n.createContext({}),c=function(e){var t=n.useContext(i),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},u=function(e){var t=c(e.components);return n.createElement(i.Provider,{value:t},e.children)},d="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,i=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),d=c(r),m=o,f=d["".concat(i,".").concat(m)]||d[m]||p[m]||a;return r?n.createElement(f,l(l({ref:t},u),{},{components:r})):n.createElement(f,l({ref:t},u))}));function f(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,l=new Array(a);l[0]=m;var s={};for(var i in t)hasOwnProperty.call(t,i)&&(s[i]=t[i]);s.originalType=e,s[d]="string"==typeof e?e:o,l[1]=s;for(var c=2;c{r.r(t),r.d(t,{assets:()=>i,contentTitle:()=>l,default:()=>d,frontMatter:()=>a,metadata:()=>s,toc:()=>c});var n=r(87462),o=(r(67294),r(3905));const a={id:"sdmx",title:"VTL SDMX",sidebar_label:"VTL SDMX",slug:"/modules/sdmx",custom_edit_url:null},l=void 0,s={unversionedId:"introduction/modules/sdmx",id:"introduction/modules/sdmx",title:"VTL SDMX",description:"Maven - Vtl SDMX",source:"@site/docs/introduction/modules/sdmx.mdx",sourceDirName:"introduction/modules",slug:"/modules/sdmx",permalink:"/Trevas/modules/sdmx",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1719441741,formattedLastUpdatedAt:"Jun 26, 2024",frontMatter:{id:"sdmx",title:"VTL SDMX",sidebar_label:"VTL SDMX",slug:"/modules/sdmx",custom_edit_url:null},sidebar:"docs",previous:{title:"VTL CSV",permalink:"/Trevas/modules/csv"},next:{title:"Overview",permalink:"/Trevas/releases"}},i={},c=[],u={toc:c};function d(e){let{components:t,...r}=e;return(0,o.kt)("wrapper",(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,(0,o.kt)("a",{parentName:"p",href:"https://maven-badges.herokuapp.com/maven-central/fr.insee.trevas/vtl-sdmx"},(0,o.kt)("img",{parentName:"a",src:"https://maven-badges.herokuapp.com/maven-central/fr.insee.trevas/vtl-sdmx/badge.svg",alt:"Maven - Vtl SDMX"}))),(0,o.kt)("p",null,"Tools for the use of SDMX metadata."))}d.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[178],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>f});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var i=n.createContext({}),c=function(e){var t=n.useContext(i),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},u=function(e){var t=c(e.components);return n.createElement(i.Provider,{value:t},e.children)},d="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,i=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),d=c(r),m=o,f=d["".concat(i,".").concat(m)]||d[m]||p[m]||a;return r?n.createElement(f,l(l({ref:t},u),{},{components:r})):n.createElement(f,l({ref:t},u))}));function f(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,l=new Array(a);l[0]=m;var s={};for(var i in t)hasOwnProperty.call(t,i)&&(s[i]=t[i]);s.originalType=e,s[d]="string"==typeof e?e:o,l[1]=s;for(var c=2;c{r.r(t),r.d(t,{assets:()=>i,contentTitle:()=>l,default:()=>d,frontMatter:()=>a,metadata:()=>s,toc:()=>c});var n=r(87462),o=(r(67294),r(3905));const a={id:"sdmx",title:"VTL SDMX",sidebar_label:"VTL SDMX",slug:"/modules/sdmx",custom_edit_url:null},l=void 0,s={unversionedId:"introduction/modules/sdmx",id:"introduction/modules/sdmx",title:"VTL SDMX",description:"Maven - Vtl SDMX",source:"@site/docs/introduction/modules/sdmx.mdx",sourceDirName:"introduction/modules",slug:"/modules/sdmx",permalink:"/Trevas/modules/sdmx",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1720593860,formattedLastUpdatedAt:"Jul 10, 2024",frontMatter:{id:"sdmx",title:"VTL SDMX",sidebar_label:"VTL SDMX",slug:"/modules/sdmx",custom_edit_url:null},sidebar:"docs",previous:{title:"VTL CSV",permalink:"/Trevas/modules/csv"},next:{title:"Overview",permalink:"/Trevas/releases"}},i={},c=[],u={toc:c};function d(e){let{components:t,...r}=e;return(0,o.kt)("wrapper",(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,(0,o.kt)("a",{parentName:"p",href:"https://maven-badges.herokuapp.com/maven-central/fr.insee.trevas/vtl-sdmx"},(0,o.kt)("img",{parentName:"a",src:"https://maven-badges.herokuapp.com/maven-central/fr.insee.trevas/vtl-sdmx/badge.svg",alt:"Maven - Vtl SDMX"}))),(0,o.kt)("p",null,"Tools for the use of SDMX metadata."))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/bf7f84bd.bc0046d6.js b/assets/js/bf7f84bd.7fcf1186.js similarity index 98% rename from assets/js/bf7f84bd.bc0046d6.js rename to assets/js/bf7f84bd.7fcf1186.js index 51f6aa554..b06585ce5 100644 --- a/assets/js/bf7f84bd.bc0046d6.js +++ b/assets/js/bf7f84bd.7fcf1186.js @@ -1 +1 @@ -"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[7797],{3905:(e,t,n)=>{n.d(t,{Zo:()=>d,kt:()=>v});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function o(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var l=r.createContext({}),c=function(e){var t=r.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},d=function(e){var t=c(e.components);return r.createElement(l.Provider,{value:t},e.children)},p="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,i=e.originalType,l=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),p=c(n),m=a,v=p["".concat(l,".").concat(m)]||p[m]||u[m]||i;return n?r.createElement(v,o(o({ref:t},d),{},{components:n})):r.createElement(v,o({ref:t},d))}));function v(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=n.length,o=new Array(i);o[0]=m;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[p]="string"==typeof e?e:a,o[1]=s;for(var c=2;c{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>p,frontMatter:()=>i,metadata:()=>s,toc:()=>c});var r=n(87462),a=(n(67294),n(3905));const i={id:"index-basic-mode",title:"Basic mode",sidebar_label:"Overview",slug:"/developer-guide/basic-mode",custom_edit_url:null},o=void 0,s={unversionedId:"developer-guide/basic-mode/index-basic-mode",id:"developer-guide/basic-mode/index-basic-mode",title:"Basic mode",description:"InMemoryDataset",source:"@site/docs/developer-guide/basic-mode/index-basic-mode.mdx",sourceDirName:"developer-guide/basic-mode",slug:"/developer-guide/basic-mode",permalink:"/Trevas/developer-guide/basic-mode",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1719441741,formattedLastUpdatedAt:"Jun 26, 2024",frontMatter:{id:"index-basic-mode",title:"Basic mode",sidebar_label:"Overview",slug:"/developer-guide/basic-mode",custom_edit_url:null},sidebar:"docs",previous:{title:"Overview",permalink:"/Trevas/developer-guide"},next:{title:"Overview",permalink:"/Trevas/developer-guide/basic-mode/data-sources"}},l={},c=[{value:"InMemoryDataset",id:"inmemorydataset",level:3},{value:"Example",id:"example",level:3}],d={toc:c};function p(e){let{components:t,...n}=e;return(0,a.kt)("wrapper",(0,r.Z)({},d,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h3",{id:"inmemorydataset"},"InMemoryDataset"),(0,a.kt)("p",null,"The ",(0,a.kt)("inlineCode",{parentName:"p"},"InMemoryDataset")," datasets can represent statistical tables in a Java application."),(0,a.kt)("h3",{id:"example"},"Example"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-java"},'ScriptEngine engine = new ScriptEngineManager().getEngineByName("vtl");\n\nBindings bindings = new SimpleBindings();\n\nInMemoryDataset dataset = new InMemoryDataset(\n List.of(\n Map.of("var1", "x", "var2", "y", "var3", 5),\n Map.of("var1", "xx", "var2", "yy", "var3", 10)\n ),\n Map.of("var1", String.class, "var2", String.class, "var3", Long.class),\n Map.of("var1", Role.IDENTIFIER, "var2", Role.ATTRIBUTE, "var3", Role.MEASURE)\n);\nbindings.put("myDataset", dataset);\nengine.getContext().setBindings(bindings, ScriptContext.ENGINE_SCOPE);\n\nString script = "res := myDataset[filter var3 > 6];";\n\ntry {\n engine.eval(script);\n} catch (ScriptException e) {\n e.printStackTrace();\n}\n\nBindings outputBindings = engine.getContext().getBindings(ScriptContext.ENGINE_SCOPE);\nInMemoryDataset result = (InMemoryDataset) outputBindings.get("res");\n\nSystem.out.println(result.getDataPoints().size());\n// 1\n')))}p.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[7797],{3905:(e,t,n)=>{n.d(t,{Zo:()=>d,kt:()=>v});var r=n(67294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function o(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var l=r.createContext({}),c=function(e){var t=r.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},d=function(e){var t=c(e.components);return r.createElement(l.Provider,{value:t},e.children)},p="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,i=e.originalType,l=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),p=c(n),m=a,v=p["".concat(l,".").concat(m)]||p[m]||u[m]||i;return n?r.createElement(v,o(o({ref:t},d),{},{components:n})):r.createElement(v,o({ref:t},d))}));function v(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=n.length,o=new Array(i);o[0]=m;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[p]="string"==typeof e?e:a,o[1]=s;for(var c=2;c{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>p,frontMatter:()=>i,metadata:()=>s,toc:()=>c});var r=n(87462),a=(n(67294),n(3905));const i={id:"index-basic-mode",title:"Basic mode",sidebar_label:"Overview",slug:"/developer-guide/basic-mode",custom_edit_url:null},o=void 0,s={unversionedId:"developer-guide/basic-mode/index-basic-mode",id:"developer-guide/basic-mode/index-basic-mode",title:"Basic mode",description:"InMemoryDataset",source:"@site/docs/developer-guide/basic-mode/index-basic-mode.mdx",sourceDirName:"developer-guide/basic-mode",slug:"/developer-guide/basic-mode",permalink:"/Trevas/developer-guide/basic-mode",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1720593860,formattedLastUpdatedAt:"Jul 10, 2024",frontMatter:{id:"index-basic-mode",title:"Basic mode",sidebar_label:"Overview",slug:"/developer-guide/basic-mode",custom_edit_url:null},sidebar:"docs",previous:{title:"Overview",permalink:"/Trevas/developer-guide"},next:{title:"Overview",permalink:"/Trevas/developer-guide/basic-mode/data-sources"}},l={},c=[{value:"InMemoryDataset",id:"inmemorydataset",level:3},{value:"Example",id:"example",level:3}],d={toc:c};function p(e){let{components:t,...n}=e;return(0,a.kt)("wrapper",(0,r.Z)({},d,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h3",{id:"inmemorydataset"},"InMemoryDataset"),(0,a.kt)("p",null,"The ",(0,a.kt)("inlineCode",{parentName:"p"},"InMemoryDataset")," datasets can represent statistical tables in a Java application."),(0,a.kt)("h3",{id:"example"},"Example"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-java"},'ScriptEngine engine = new ScriptEngineManager().getEngineByName("vtl");\n\nBindings bindings = new SimpleBindings();\n\nInMemoryDataset dataset = new InMemoryDataset(\n List.of(\n Map.of("var1", "x", "var2", "y", "var3", 5),\n Map.of("var1", "xx", "var2", "yy", "var3", 10)\n ),\n Map.of("var1", String.class, "var2", String.class, "var3", Long.class),\n Map.of("var1", Role.IDENTIFIER, "var2", Role.ATTRIBUTE, "var3", Role.MEASURE)\n);\nbindings.put("myDataset", dataset);\nengine.getContext().setBindings(bindings, ScriptContext.ENGINE_SCOPE);\n\nString script = "res := myDataset[filter var3 > 6];";\n\ntry {\n engine.eval(script);\n} catch (ScriptException e) {\n e.printStackTrace();\n}\n\nBindings outputBindings = engine.getContext().getBindings(ScriptContext.ENGINE_SCOPE);\nInMemoryDataset result = (InMemoryDataset) outputBindings.get("res");\n\nSystem.out.println(result.getDataPoints().size());\n// 1\n')))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/c40373c7.07b9abff.js b/assets/js/c40373c7.b96ced77.js similarity index 97% rename from assets/js/c40373c7.07b9abff.js rename to assets/js/c40373c7.b96ced77.js index 905f94f7b..46cda5a8b 100644 --- a/assets/js/c40373c7.07b9abff.js +++ b/assets/js/c40373c7.b96ced77.js @@ -1 +1 @@ -"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[3269],{3905:(e,t,r)=>{r.d(t,{Zo:()=>s,kt:()=>y});var n=r(67294);function u(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function a(e){for(var t=1;t=0||(u[r]=e[r]);return u}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(u[r]=e[r])}return u}var p=n.createContext({}),o=function(e){var t=n.useContext(p),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},s=function(e){var t=o(e.components);return n.createElement(p.Provider,{value:t},e.children)},c="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},v=n.forwardRef((function(e,t){var r=e.components,u=e.mdxType,i=e.originalType,p=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),c=o(r),v=u,y=c["".concat(p,".").concat(v)]||c[v]||d[v]||i;return r?n.createElement(y,a(a({ref:t},s),{},{components:r})):n.createElement(y,a({ref:t},s))}));function y(e,t){var r=arguments,u=t&&t.mdxType;if("string"==typeof e||u){var i=r.length,a=new Array(i);a[0]=v;var l={};for(var p in t)hasOwnProperty.call(t,p)&&(l[p]=t[p]);l.originalType=e,l[c]="string"==typeof e?e:u,a[1]=l;for(var o=2;o{r.r(t),r.d(t,{assets:()=>p,contentTitle:()=>a,default:()=>c,frontMatter:()=>i,metadata:()=>l,toc:()=>o});var n=r(87462),u=(r(67294),r(3905));const i={id:"index-jupyter",title:"Trevas Jupyter",sidebar_label:"Trevas Jupyter",slug:"/user-guide/vtl/client-apps/jupyter",custom_edit_url:null},a=void 0,l={unversionedId:"user-guide/vtl/client-apps/jupyter/index-jupyter",id:"user-guide/vtl/client-apps/jupyter/index-jupyter",title:"Trevas Jupyter",description:"Trevas Jupyter is the Jupyter kernel supporting VTL execution.",source:"@site/docs/user-guide/vtl/client-apps/jupyter/index-jupyter.mdx",sourceDirName:"user-guide/vtl/client-apps/jupyter",slug:"/user-guide/vtl/client-apps/jupyter",permalink:"/Trevas/user-guide/vtl/client-apps/jupyter",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1719441741,formattedLastUpdatedAt:"Jun 26, 2024",frontMatter:{id:"index-jupyter",title:"Trevas Jupyter",sidebar_label:"Trevas Jupyter",slug:"/user-guide/vtl/client-apps/jupyter",custom_edit_url:null},sidebar:"docs",previous:{title:"Overview",permalink:"/Trevas/user-guide/vtl/client-apps"},next:{title:"Trevas Lab",permalink:"/Trevas/user-guide/vtl/client-apps/lab"}},p={},o=[{value:"Sources",id:"sources",level:3},{value:"Github",id:"github",level:4},{value:"Docker Hub",id:"docker-hub",level:4},{value:"Demo",id:"demo",level:3}],s={toc:o};function c(e){let{components:t,...r}=e;return(0,u.kt)("wrapper",(0,n.Z)({},s,r,{components:t,mdxType:"MDXLayout"}),(0,u.kt)("p",null,(0,u.kt)("inlineCode",{parentName:"p"},"Trevas Jupyter")," is the Jupyter kernel supporting VTL execution."),(0,u.kt)("h3",{id:"sources"},"Sources"),(0,u.kt)("h4",{id:"github"},"Github"),(0,u.kt)("p",null,(0,u.kt)("a",{parentName:"p",href:"https://github.com/InseeFrLab/Trevas-Jupyter"},"Trevas Jupyter")),(0,u.kt)("h4",{id:"docker-hub"},"Docker Hub"),(0,u.kt)("p",null,(0,u.kt)("a",{parentName:"p",href:"https://hub.docker.com/r/inseefrlab/trevas-jupyter"},"Trevas Jupyter")),(0,u.kt)("h3",{id:"demo"},"Demo"),(0,u.kt)("p",null,"A video will be coming soon"))}c.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[3269],{3905:(e,t,r)=>{r.d(t,{Zo:()=>s,kt:()=>y});var n=r(67294);function u(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function a(e){for(var t=1;t=0||(u[r]=e[r]);return u}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(u[r]=e[r])}return u}var p=n.createContext({}),o=function(e){var t=n.useContext(p),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},s=function(e){var t=o(e.components);return n.createElement(p.Provider,{value:t},e.children)},c="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},v=n.forwardRef((function(e,t){var r=e.components,u=e.mdxType,i=e.originalType,p=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),c=o(r),v=u,y=c["".concat(p,".").concat(v)]||c[v]||d[v]||i;return r?n.createElement(y,a(a({ref:t},s),{},{components:r})):n.createElement(y,a({ref:t},s))}));function y(e,t){var r=arguments,u=t&&t.mdxType;if("string"==typeof e||u){var i=r.length,a=new Array(i);a[0]=v;var l={};for(var p in t)hasOwnProperty.call(t,p)&&(l[p]=t[p]);l.originalType=e,l[c]="string"==typeof e?e:u,a[1]=l;for(var o=2;o{r.r(t),r.d(t,{assets:()=>p,contentTitle:()=>a,default:()=>c,frontMatter:()=>i,metadata:()=>l,toc:()=>o});var n=r(87462),u=(r(67294),r(3905));const i={id:"index-jupyter",title:"Trevas Jupyter",sidebar_label:"Trevas Jupyter",slug:"/user-guide/vtl/client-apps/jupyter",custom_edit_url:null},a=void 0,l={unversionedId:"user-guide/vtl/client-apps/jupyter/index-jupyter",id:"user-guide/vtl/client-apps/jupyter/index-jupyter",title:"Trevas Jupyter",description:"Trevas Jupyter is the Jupyter kernel supporting VTL execution.",source:"@site/docs/user-guide/vtl/client-apps/jupyter/index-jupyter.mdx",sourceDirName:"user-guide/vtl/client-apps/jupyter",slug:"/user-guide/vtl/client-apps/jupyter",permalink:"/Trevas/user-guide/vtl/client-apps/jupyter",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1720593860,formattedLastUpdatedAt:"Jul 10, 2024",frontMatter:{id:"index-jupyter",title:"Trevas Jupyter",sidebar_label:"Trevas Jupyter",slug:"/user-guide/vtl/client-apps/jupyter",custom_edit_url:null},sidebar:"docs",previous:{title:"Overview",permalink:"/Trevas/user-guide/vtl/client-apps"},next:{title:"Trevas Lab",permalink:"/Trevas/user-guide/vtl/client-apps/lab"}},p={},o=[{value:"Sources",id:"sources",level:3},{value:"Github",id:"github",level:4},{value:"Docker Hub",id:"docker-hub",level:4},{value:"Demo",id:"demo",level:3}],s={toc:o};function c(e){let{components:t,...r}=e;return(0,u.kt)("wrapper",(0,n.Z)({},s,r,{components:t,mdxType:"MDXLayout"}),(0,u.kt)("p",null,(0,u.kt)("inlineCode",{parentName:"p"},"Trevas Jupyter")," is the Jupyter kernel supporting VTL execution."),(0,u.kt)("h3",{id:"sources"},"Sources"),(0,u.kt)("h4",{id:"github"},"Github"),(0,u.kt)("p",null,(0,u.kt)("a",{parentName:"p",href:"https://github.com/InseeFrLab/Trevas-Jupyter"},"Trevas Jupyter")),(0,u.kt)("h4",{id:"docker-hub"},"Docker Hub"),(0,u.kt)("p",null,(0,u.kt)("a",{parentName:"p",href:"https://hub.docker.com/r/inseefrlab/trevas-jupyter"},"Trevas Jupyter")),(0,u.kt)("h3",{id:"demo"},"Demo"),(0,u.kt)("p",null,"A video will be coming soon"))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/c747d197.7c7b43b0.js b/assets/js/c747d197.5edbccb0.js similarity index 60% rename from assets/js/c747d197.7c7b43b0.js rename to assets/js/c747d197.5edbccb0.js index a4cbb5939..d695cb21e 100644 --- a/assets/js/c747d197.7c7b43b0.js +++ b/assets/js/c747d197.5edbccb0.js @@ -1 +1 @@ -"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[5148],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>v});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function s(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var d=a.createContext({}),p=function(e){var t=a.useContext(d),r=t;return e&&(r="function"==typeof e?e(t):s(s({},t),e)),r},u=function(e){var t=p(e.components);return a.createElement(d.Provider,{value:t},e.children)},i="mdxType",c={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,d=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),i=p(r),m=n,v=i["".concat(d,".").concat(m)]||i[m]||c[m]||o;return r?a.createElement(v,s(s({ref:t},u),{},{components:r})):a.createElement(v,s({ref:t},u))}));function v(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,s=new Array(o);s[0]=m;var l={};for(var d in t)hasOwnProperty.call(t,d)&&(l[d]=t[d]);l.originalType=e,l[i]="string"==typeof e?e:n,s[1]=l;for(var p=2;p{r.r(t),r.d(t,{assets:()=>p,contentTitle:()=>l,default:()=>c,frontMatter:()=>s,metadata:()=>d,toc:()=>u});var a=r(87462),n=(r(67294),r(3905)),o=r(44996);const s={id:"parquet",title:"Spark mode - Parquet source",sidebar_label:"Parquet",slug:"/developer-guide/spark-mode/data-sources/parquet",custom_edit_url:null},l=void 0,d={unversionedId:"developer-guide/spark-mode/data-sources/parquet",id:"developer-guide/spark-mode/data-sources/parquet",title:"Spark mode - Parquet source",description:"Metadata",source:"@site/docs/developer-guide/spark-mode/data-sources/parquet.mdx",sourceDirName:"developer-guide/spark-mode/data-sources",slug:"/developer-guide/spark-mode/data-sources/parquet",permalink:"/Trevas/developer-guide/spark-mode/data-sources/parquet",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1719441741,formattedLastUpdatedAt:"Jun 26, 2024",frontMatter:{id:"parquet",title:"Spark mode - Parquet source",sidebar_label:"Parquet",slug:"/developer-guide/spark-mode/data-sources/parquet",custom_edit_url:null},sidebar:"docs",previous:{title:"Overview",permalink:"/Trevas/developer-guide/spark-mode/data-sources"},next:{title:"CSV",permalink:"/Trevas/developer-guide/spark-mode/data-sources/csv"}},p={},u=[{value:"Metadata",id:"metadata",level:3},{value:"Types",id:"types",level:4},{value:"Roles",id:"roles",level:4},{value:"Read",id:"read",level:3},{value:"Write",id:"write",level:3}],i={toc:u};function c(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,a.Z)({},i,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h3",{id:"metadata"},"Metadata"),(0,n.kt)("p",null,"The metadata of the Parquet data sets are inferred from the schema."),(0,n.kt)("h4",{id:"types"},"Types"),(0,n.kt)("p",null,"Trevas takes care of the conversion between the Parquet types and the types supported by the Trevas engine."),(0,n.kt)("h4",{id:"roles"},"Roles"),(0,n.kt)("p",null,"The VTL roles are added by Trevas to the Parquet schema, by adding a ",(0,n.kt)("inlineCode",{parentName:"p"},"vtlRole")," metadata to each field descriptor."),(0,n.kt)("p",null,"By default, the columns without role in the Parquet schema will have a ",(0,n.kt)("inlineCode",{parentName:"p"},"MEASURE")," role in Trevas."),(0,n.kt)("p",null,"VTL allows to modify roles within scripts (see ",(0,n.kt)("a",{href:(0,o.Z)("/user-guide/vtl")},"here"),")"),(0,n.kt)("h3",{id:"read"},"Read"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-java"},'Dataset sparkDataset = spark.read().parquet("folder_path");\nSparkDataset dataset = new SparkDataset(sparkDataset);\n')),(0,n.kt)("h3",{id:"write"},"Write"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-java"},'// Trevas Spark Dataset\nSparkDataset dataset = ...;\n\n// Spark Dataset\nDataset sparkDataset = dataset.getSparkDataset();\n\nsparkDataset.write()\n .mode(SaveMode.Overwrite)\n .parquet("folder_path");\n')))}c.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[5148],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>v});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function s(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var d=a.createContext({}),p=function(e){var t=a.useContext(d),r=t;return e&&(r="function"==typeof e?e(t):s(s({},t),e)),r},u=function(e){var t=p(e.components);return a.createElement(d.Provider,{value:t},e.children)},i="mdxType",c={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,o=e.originalType,d=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),i=p(r),m=n,v=i["".concat(d,".").concat(m)]||i[m]||c[m]||o;return r?a.createElement(v,s(s({ref:t},u),{},{components:r})):a.createElement(v,s({ref:t},u))}));function v(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=r.length,s=new Array(o);s[0]=m;var l={};for(var d in t)hasOwnProperty.call(t,d)&&(l[d]=t[d]);l.originalType=e,l[i]="string"==typeof e?e:n,s[1]=l;for(var p=2;p{r.r(t),r.d(t,{assets:()=>p,contentTitle:()=>l,default:()=>c,frontMatter:()=>s,metadata:()=>d,toc:()=>u});var a=r(87462),n=(r(67294),r(3905)),o=r(44996);const s={id:"parquet",title:"Spark mode - Parquet source",sidebar_label:"Parquet",slug:"/developer-guide/spark-mode/data-sources/parquet",custom_edit_url:null},l=void 0,d={unversionedId:"developer-guide/spark-mode/data-sources/parquet",id:"developer-guide/spark-mode/data-sources/parquet",title:"Spark mode - Parquet source",description:"Metadata",source:"@site/docs/developer-guide/spark-mode/data-sources/parquet.mdx",sourceDirName:"developer-guide/spark-mode/data-sources",slug:"/developer-guide/spark-mode/data-sources/parquet",permalink:"/Trevas/developer-guide/spark-mode/data-sources/parquet",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1720593860,formattedLastUpdatedAt:"Jul 10, 2024",frontMatter:{id:"parquet",title:"Spark mode - Parquet source",sidebar_label:"Parquet",slug:"/developer-guide/spark-mode/data-sources/parquet",custom_edit_url:null},sidebar:"docs",previous:{title:"JDBC",permalink:"/Trevas/developer-guide/spark-mode/data-sources/jdbc"},next:{title:"SDMX",permalink:"/Trevas/developer-guide/spark-mode/data-sources/sdmx"}},p={},u=[{value:"Metadata",id:"metadata",level:3},{value:"Types",id:"types",level:4},{value:"Roles",id:"roles",level:4},{value:"Read",id:"read",level:3},{value:"Write",id:"write",level:3}],i={toc:u};function c(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,a.Z)({},i,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h3",{id:"metadata"},"Metadata"),(0,n.kt)("p",null,"The metadata of the Parquet data sets are inferred from the schema."),(0,n.kt)("h4",{id:"types"},"Types"),(0,n.kt)("p",null,"Trevas takes care of the conversion between the Parquet types and the types supported by the Trevas engine."),(0,n.kt)("h4",{id:"roles"},"Roles"),(0,n.kt)("p",null,"The VTL roles are added by Trevas to the Parquet schema, by adding a ",(0,n.kt)("inlineCode",{parentName:"p"},"vtlRole")," metadata to each field descriptor."),(0,n.kt)("p",null,"By default, the columns without role in the Parquet schema will have a ",(0,n.kt)("inlineCode",{parentName:"p"},"MEASURE")," role in Trevas."),(0,n.kt)("p",null,"VTL allows to modify roles within scripts (see ",(0,n.kt)("a",{href:(0,o.Z)("/user-guide/vtl")},"here"),")"),(0,n.kt)("h3",{id:"read"},"Read"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-java"},'Dataset sparkDataset = spark.read().parquet("folder_path");\nSparkDataset dataset = new SparkDataset(sparkDataset);\n')),(0,n.kt)("h3",{id:"write"},"Write"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-java"},'// Trevas Spark Dataset\nSparkDataset dataset = ...;\n\n// Spark Dataset\nDataset sparkDataset = dataset.getSparkDataset();\n\nsparkDataset.write()\n .mode(SaveMode.Overwrite)\n .parquet("folder_path");\n')))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/cae36d5a.f528ae2b.js b/assets/js/cae36d5a.b6a0d6e8.js similarity index 74% rename from assets/js/cae36d5a.f528ae2b.js rename to assets/js/cae36d5a.b6a0d6e8.js index 927495f9a..d784e0471 100644 --- a/assets/js/cae36d5a.f528ae2b.js +++ b/assets/js/cae36d5a.b6a0d6e8.js @@ -1 +1 @@ -"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[7641],{39308:(e,t,s)=>{s.d(t,{Z:()=>v});var a=s(67294),r=s(3905),l=s(84734);const n="riContainer_QAfm",i="riDescriptionShort_ogAL",o="riDetail_rDiW",c="riIcon_zSrR",d="riTitle__Mkd",m="riDescription_k_lG",u="riMore_lLbd";var p=s(86010);const v=e=>{const[t,s]=a.useState(!1);return a.createElement("a",{href:e.page,className:n},a.createElement("div",{className:i},a.createElement("div",{className:c},a.createElement("span",{className:"fe fe-zap"})),a.createElement("div",{className:o},a.createElement("div",{className:d},a.createElement("a",{href:e.page},e.title)),a.createElement("div",{className:m},e.description,a.Children.count(e.children)>0&&a.createElement("span",{className:(0,p.Z)(u,"fe","fe-more-horizontal"),onClick:()=>s(!t)})))),t&&a.createElement("div",{className:"ri-description-long"},a.createElement(r.Zo,{components:l.Z},e.children)))}},48742:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>d,contentTitle:()=>o,default:()=>p,frontMatter:()=>i,metadata:()=>c,toc:()=>m});var a=s(87462),r=(s(67294),s(3905)),l=s(44996),n=s(39308);const i={id:"index-releases",title:"Trevas releases",sidebar_label:"Overview",slug:"/releases",custom_edit_url:null,pagination_prev:null},o=void 0,c={unversionedId:"introduction/releases/index-releases",id:"introduction/releases/index-releases",title:"Trevas releases",description:"{s.d(t,{Z:()=>v});var a=s(67294),r=s(3905),l=s(84734);const i="riContainer_QAfm",n="riDescriptionShort_ogAL",o="riDetail_rDiW",c="riIcon_zSrR",d="riTitle__Mkd",m="riDescription_k_lG",u="riMore_lLbd";var p=s(86010);const v=e=>{const[t,s]=a.useState(!1);return a.createElement("a",{href:e.page,className:i},a.createElement("div",{className:n},a.createElement("div",{className:c},a.createElement("span",{className:"fe fe-zap"})),a.createElement("div",{className:o},a.createElement("div",{className:d},a.createElement("a",{href:e.page},e.title)),a.createElement("div",{className:m},e.description,a.Children.count(e.children)>0&&a.createElement("span",{className:(0,p.Z)(u,"fe","fe-more-horizontal"),onClick:()=>s(!t)})))),t&&a.createElement("div",{className:"ri-description-long"},a.createElement(r.Zo,{components:l.Z},e.children)))}},48742:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>d,contentTitle:()=>o,default:()=>p,frontMatter:()=>n,metadata:()=>c,toc:()=>m});var a=s(87462),r=(s(67294),s(3905)),l=s(44996),i=s(39308);const n={id:"index-releases",title:"Trevas releases",sidebar_label:"Overview",slug:"/releases",custom_edit_url:null,pagination_prev:null},o=void 0,c={unversionedId:"introduction/releases/index-releases",id:"introduction/releases/index-releases",title:"Trevas releases",description:"{n.d(t,{Zo:()=>u,kt:()=>f});var r=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var l=r.createContext({}),i=function(e){var t=r.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},u=function(e){var t=i(e.components);return r.createElement(l.Provider,{value:t},e.children)},p="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,a=e.originalType,l=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),p=i(n),m=o,f=p["".concat(l,".").concat(m)]||p[m]||d[m]||a;return n?r.createElement(f,c(c({ref:t},u),{},{components:n})):r.createElement(f,c({ref:t},u))}));function f(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=n.length,c=new Array(a);c[0]=m;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[p]="string"==typeof e?e:o,c[1]=s;for(var i=2;i{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>c,default:()=>p,frontMatter:()=>a,metadata:()=>s,toc:()=>i});var r=n(87462),o=(n(67294),n(3905));const a={id:"jackson",title:"VTL Jackson",sidebar_label:"VTL Jackson",slug:"/modules/jackson",custom_edit_url:null},c=void 0,s={unversionedId:"introduction/modules/jackson",id:"introduction/modules/jackson",title:"VTL Jackson",description:"Maven - Vtl Jackson",source:"@site/docs/introduction/modules/jackson.mdx",sourceDirName:"introduction/modules",slug:"/modules/jackson",permalink:"/Trevas/modules/jackson",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1719441741,formattedLastUpdatedAt:"Jun 26, 2024",frontMatter:{id:"jackson",title:"VTL Jackson",sidebar_label:"VTL Jackson",slug:"/modules/jackson",custom_edit_url:null},sidebar:"docs",previous:{title:"VTL JDBC",permalink:"/Trevas/modules/jdbc"},next:{title:"VTL CSV",permalink:"/Trevas/modules/csv"}},l={},i=[],u={toc:i};function p(e){let{components:t,...n}=e;return(0,o.kt)("wrapper",(0,r.Z)({},u,n,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,(0,o.kt)("a",{parentName:"p",href:"https://maven-badges.herokuapp.com/maven-central/fr.insee.trevas/vtl-jackson"},(0,o.kt)("img",{parentName:"a",src:"https://maven-badges.herokuapp.com/maven-central/fr.insee.trevas/vtl-jackson/badge.svg",alt:"Maven - Vtl Jackson"}))),(0,o.kt)("p",null,"JSON serialization / deserialization of data sets."))}p.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[6454],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>f});var r=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var l=r.createContext({}),i=function(e){var t=r.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},u=function(e){var t=i(e.components);return r.createElement(l.Provider,{value:t},e.children)},p="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,a=e.originalType,l=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),p=i(n),m=o,f=p["".concat(l,".").concat(m)]||p[m]||d[m]||a;return n?r.createElement(f,c(c({ref:t},u),{},{components:n})):r.createElement(f,c({ref:t},u))}));function f(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=n.length,c=new Array(a);c[0]=m;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[p]="string"==typeof e?e:o,c[1]=s;for(var i=2;i{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>c,default:()=>p,frontMatter:()=>a,metadata:()=>s,toc:()=>i});var r=n(87462),o=(n(67294),n(3905));const a={id:"jackson",title:"VTL Jackson",sidebar_label:"VTL Jackson",slug:"/modules/jackson",custom_edit_url:null},c=void 0,s={unversionedId:"introduction/modules/jackson",id:"introduction/modules/jackson",title:"VTL Jackson",description:"Maven - Vtl Jackson",source:"@site/docs/introduction/modules/jackson.mdx",sourceDirName:"introduction/modules",slug:"/modules/jackson",permalink:"/Trevas/modules/jackson",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1720593860,formattedLastUpdatedAt:"Jul 10, 2024",frontMatter:{id:"jackson",title:"VTL Jackson",sidebar_label:"VTL Jackson",slug:"/modules/jackson",custom_edit_url:null},sidebar:"docs",previous:{title:"VTL JDBC",permalink:"/Trevas/modules/jdbc"},next:{title:"VTL CSV",permalink:"/Trevas/modules/csv"}},l={},i=[],u={toc:i};function p(e){let{components:t,...n}=e;return(0,o.kt)("wrapper",(0,r.Z)({},u,n,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,(0,o.kt)("a",{parentName:"p",href:"https://maven-badges.herokuapp.com/maven-central/fr.insee.trevas/vtl-jackson"},(0,o.kt)("img",{parentName:"a",src:"https://maven-badges.herokuapp.com/maven-central/fr.insee.trevas/vtl-jackson/badge.svg",alt:"Maven - Vtl Jackson"}))),(0,o.kt)("p",null,"JSON serialization / deserialization of data sets."))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/d391f8f6.095c3dfa.js b/assets/js/d391f8f6.135794d2.js similarity index 99% rename from assets/js/d391f8f6.095c3dfa.js rename to assets/js/d391f8f6.135794d2.js index e6e9f3698..91a7696ef 100644 --- a/assets/js/d391f8f6.095c3dfa.js +++ b/assets/js/d391f8f6.135794d2.js @@ -1 +1 @@ -"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[8969],{3905:(t,e,r)=>{r.d(e,{Zo:()=>s,kt:()=>d});var n=r(67294);function a(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function i(t){for(var e=1;e=0||(a[r]=t[r]);return a}(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(a[r]=t[r])}return a}var p=n.createContext({}),c=function(t){var e=n.useContext(p),r=e;return t&&(r="function"==typeof t?t(e):i(i({},e),t)),r},s=function(t){var e=c(t.components);return n.createElement(p.Provider,{value:e},t.children)},g="mdxType",m={inlineCode:"code",wrapper:function(t){var e=t.children;return n.createElement(n.Fragment,{},e)}},u=n.forwardRef((function(t,e){var r=t.components,a=t.mdxType,o=t.originalType,p=t.parentName,s=l(t,["components","mdxType","originalType","parentName"]),g=c(r),u=a,d=g["".concat(p,".").concat(u)]||g[u]||m[u]||o;return r?n.createElement(d,i(i({ref:e},s),{},{components:r})):n.createElement(d,i({ref:e},s))}));function d(t,e){var r=arguments,a=e&&e.mdxType;if("string"==typeof t||a){var o=r.length,i=new Array(o);i[0]=u;var l={};for(var p in e)hasOwnProperty.call(e,p)&&(l[p]=e[p]);l.originalType=t,l[g]="string"==typeof t?t:a,i[1]=l;for(var c=2;c{r.r(e),r.d(e,{assets:()=>p,contentTitle:()=>i,default:()=>g,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var n=r(87462),a=(r(67294),r(3905));const o={id:"string-operators",title:"VTL - String operators",sidebar_label:"String operators",slug:"/user-guide/coverage/string-operators",custom_edit_url:null},i=void 0,l={unversionedId:"user-guide/coverage/string-operators",id:"user-guide/coverage/string-operators",title:"VTL - String operators",description:"| Name | Symbol | String | Component | Dataset |",source:"@site/docs/user-guide/coverage/string-operators.mdx",sourceDirName:"user-guide/coverage",slug:"/user-guide/coverage/string-operators",permalink:"/Trevas/user-guide/coverage/string-operators",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1719441741,formattedLastUpdatedAt:"Jun 26, 2024",frontMatter:{id:"string-operators",title:"VTL - String operators",sidebar_label:"String operators",slug:"/user-guide/coverage/string-operators",custom_edit_url:null},sidebar:"docs",previous:{title:"Join operators",permalink:"/Trevas/user-guide/coverage/join-operators"},next:{title:"Numeric operators",permalink:"/Trevas/user-guide/coverage/numeric-operators"}},p={},c=[],s={toc:c};function g(t){let{components:e,...r}=t;return(0,a.kt)("wrapper",(0,n.Z)({},s,r,{components:e,mdxType:"MDXLayout"}),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Name"),(0,a.kt)("th",{parentName:"tr",align:"left"},"Symbol"),(0,a.kt)("th",{parentName:"tr",align:"center"},"String"),(0,a.kt)("th",{parentName:"tr",align:"center"},"Component"),(0,a.kt)("th",{parentName:"tr",align:"center"},"Dataset"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"String concatenation"),(0,a.kt)("td",{parentName:"tr",align:"left"},"|","|"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Whitespace removal"),(0,a.kt)("td",{parentName:"tr",align:"left"},"trim, rtrim, ltrim"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Character case conversion"),(0,a.kt)("td",{parentName:"tr",align:"left"},"upper/lower"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Sub-string extraction"),(0,a.kt)("td",{parentName:"tr",align:"left"},"substr"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"String pattern replacement"),(0,a.kt)("td",{parentName:"tr",align:"left"},"replace"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"String pattern location"),(0,a.kt)("td",{parentName:"tr",align:"left"},"instr"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"String length"),(0,a.kt)("td",{parentName:"tr",align:"left"},"length"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")))))}g.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[8969],{3905:(t,e,r)=>{r.d(e,{Zo:()=>s,kt:()=>d});var n=r(67294);function a(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function o(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function i(t){for(var e=1;e=0||(a[r]=t[r]);return a}(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(a[r]=t[r])}return a}var p=n.createContext({}),c=function(t){var e=n.useContext(p),r=e;return t&&(r="function"==typeof t?t(e):i(i({},e),t)),r},s=function(t){var e=c(t.components);return n.createElement(p.Provider,{value:e},t.children)},g="mdxType",m={inlineCode:"code",wrapper:function(t){var e=t.children;return n.createElement(n.Fragment,{},e)}},u=n.forwardRef((function(t,e){var r=t.components,a=t.mdxType,o=t.originalType,p=t.parentName,s=l(t,["components","mdxType","originalType","parentName"]),g=c(r),u=a,d=g["".concat(p,".").concat(u)]||g[u]||m[u]||o;return r?n.createElement(d,i(i({ref:e},s),{},{components:r})):n.createElement(d,i({ref:e},s))}));function d(t,e){var r=arguments,a=e&&e.mdxType;if("string"==typeof t||a){var o=r.length,i=new Array(o);i[0]=u;var l={};for(var p in e)hasOwnProperty.call(e,p)&&(l[p]=e[p]);l.originalType=t,l[g]="string"==typeof t?t:a,i[1]=l;for(var c=2;c{r.r(e),r.d(e,{assets:()=>p,contentTitle:()=>i,default:()=>g,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var n=r(87462),a=(r(67294),r(3905));const o={id:"string-operators",title:"VTL - String operators",sidebar_label:"String operators",slug:"/user-guide/coverage/string-operators",custom_edit_url:null},i=void 0,l={unversionedId:"user-guide/coverage/string-operators",id:"user-guide/coverage/string-operators",title:"VTL - String operators",description:"| Name | Symbol | String | Component | Dataset |",source:"@site/docs/user-guide/coverage/string-operators.mdx",sourceDirName:"user-guide/coverage",slug:"/user-guide/coverage/string-operators",permalink:"/Trevas/user-guide/coverage/string-operators",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1720593860,formattedLastUpdatedAt:"Jul 10, 2024",frontMatter:{id:"string-operators",title:"VTL - String operators",sidebar_label:"String operators",slug:"/user-guide/coverage/string-operators",custom_edit_url:null},sidebar:"docs",previous:{title:"Join operators",permalink:"/Trevas/user-guide/coverage/join-operators"},next:{title:"Numeric operators",permalink:"/Trevas/user-guide/coverage/numeric-operators"}},p={},c=[],s={toc:c};function g(t){let{components:e,...r}=t;return(0,a.kt)("wrapper",(0,n.Z)({},s,r,{components:e,mdxType:"MDXLayout"}),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Name"),(0,a.kt)("th",{parentName:"tr",align:"left"},"Symbol"),(0,a.kt)("th",{parentName:"tr",align:"center"},"String"),(0,a.kt)("th",{parentName:"tr",align:"center"},"Component"),(0,a.kt)("th",{parentName:"tr",align:"center"},"Dataset"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"String concatenation"),(0,a.kt)("td",{parentName:"tr",align:"left"},"|","|"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Whitespace removal"),(0,a.kt)("td",{parentName:"tr",align:"left"},"trim, rtrim, ltrim"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Character case conversion"),(0,a.kt)("td",{parentName:"tr",align:"left"},"upper/lower"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Sub-string extraction"),(0,a.kt)("td",{parentName:"tr",align:"left"},"substr"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"String pattern replacement"),(0,a.kt)("td",{parentName:"tr",align:"left"},"replace"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"String pattern location"),(0,a.kt)("td",{parentName:"tr",align:"left"},"instr"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"String length"),(0,a.kt)("td",{parentName:"tr",align:"left"},"length"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")))))}g.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/d49f6109.65150dcc.js b/assets/js/d49f6109.47ba3435.js similarity index 94% rename from assets/js/d49f6109.65150dcc.js rename to assets/js/d49f6109.47ba3435.js index 5dc3d3fac..7dceb236d 100644 --- a/assets/js/d49f6109.65150dcc.js +++ b/assets/js/d49f6109.47ba3435.js @@ -1 +1 @@ -"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[6577],{3905:(e,t,r)=>{r.d(t,{Zo:()=>i,kt:()=>f});var a=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function s(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var c=a.createContext({}),l=function(e){var t=a.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):s(s({},t),e)),r},i=function(e){var t=l(e.components);return a.createElement(c.Provider,{value:t},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var r=e.components,o=e.mdxType,n=e.originalType,c=e.parentName,i=p(e,["components","mdxType","originalType","parentName"]),u=l(r),m=o,f=u["".concat(c,".").concat(m)]||u[m]||d[m]||n;return r?a.createElement(f,s(s({ref:t},i),{},{components:r})):a.createElement(f,s({ref:t},i))}));function f(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var n=r.length,s=new Array(n);s[0]=m;var p={};for(var c in t)hasOwnProperty.call(t,c)&&(p[c]=t[c]);p.originalType=e,p[u]="string"==typeof e?e:o,s[1]=p;for(var l=2;l{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>s,default:()=>u,frontMatter:()=>n,metadata:()=>p,toc:()=>l});var a=r(87462),o=(r(67294),r(3905));const n={id:"others",title:"Spark mode - Other sources",sidebar_label:"Others",slug:"/developer-guide/spark-mode/data-sources/others",custom_edit_url:null},s=void 0,p={unversionedId:"developer-guide/spark-mode/data-sources/others",id:"developer-guide/spark-mode/data-sources/others",title:"Spark mode - Other sources",description:"SparkDataset constructor",source:"@site/docs/developer-guide/spark-mode/data-sources/others.mdx",sourceDirName:"developer-guide/spark-mode/data-sources",slug:"/developer-guide/spark-mode/data-sources/others",permalink:"/Trevas/developer-guide/spark-mode/data-sources/others",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1719441741,formattedLastUpdatedAt:"Jun 26, 2024",frontMatter:{id:"others",title:"Spark mode - Other sources",sidebar_label:"Others",slug:"/developer-guide/spark-mode/data-sources/others",custom_edit_url:null},sidebar:"docs",previous:{title:"JDBC",permalink:"/Trevas/developer-guide/spark-mode/data-sources/jdbc"},next:{title:"Modifications of VTL grammar",permalink:"/Trevas/administrator-guide/grammar"}},c={},l=[{value:"SparkDataset constructor",id:"sparkdataset-constructor",level:3},{value:"Other formats supported by Spark",id:"other-formats-supported-by-spark",level:3}],i={toc:l};function u(e){let{components:t,...r}=e;return(0,o.kt)("wrapper",(0,a.Z)({},i,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h3",{id:"sparkdataset-constructor"},(0,o.kt)("inlineCode",{parentName:"h3"},"SparkDataset")," constructor"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'StructType schema = DataTypes.createStructType(List.of(\n DataTypes.createStructField("string", DataTypes.StringType, false),\n DataTypes.createStructField("integer", DataTypes.LongType, false),\n DataTypes.createStructField("boolean", DataTypes.BooleanType, false),\n DataTypes.createStructField("float", DataTypes.DoubleType, false)\n));\n\nDataset dataFrame = spark.createDataFrame(List.of(\n RowFactory.create("string", 1L, true, 1.5D)\n), schema);\n\n\nfr.insee.vtl.model.Dataset sparkDataset = new SparkDataset(dataFrame);\n')),(0,o.kt)("h3",{id:"other-formats-supported-by-spark"},"Other formats supported by Spark"),(0,o.kt)("p",null,"See the ",(0,o.kt)("a",{parentName:"p",href:"https://spark.apache.org/docs/latest/sql-data-sources.html"},"official documentation")))}u.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[6577],{3905:(e,t,r)=>{r.d(t,{Zo:()=>i,kt:()=>f});var a=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function s(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var c=a.createContext({}),l=function(e){var t=a.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):s(s({},t),e)),r},i=function(e){var t=l(e.components);return a.createElement(c.Provider,{value:t},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var r=e.components,o=e.mdxType,n=e.originalType,c=e.parentName,i=p(e,["components","mdxType","originalType","parentName"]),u=l(r),m=o,f=u["".concat(c,".").concat(m)]||u[m]||d[m]||n;return r?a.createElement(f,s(s({ref:t},i),{},{components:r})):a.createElement(f,s({ref:t},i))}));function f(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var n=r.length,s=new Array(n);s[0]=m;var p={};for(var c in t)hasOwnProperty.call(t,c)&&(p[c]=t[c]);p.originalType=e,p[u]="string"==typeof e?e:o,s[1]=p;for(var l=2;l{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>s,default:()=>u,frontMatter:()=>n,metadata:()=>p,toc:()=>l});var a=r(87462),o=(r(67294),r(3905));const n={id:"others",title:"Spark mode - Other sources",sidebar_label:"Others",slug:"/developer-guide/spark-mode/data-sources/others",custom_edit_url:null},s=void 0,p={unversionedId:"developer-guide/spark-mode/data-sources/others",id:"developer-guide/spark-mode/data-sources/others",title:"Spark mode - Other sources",description:"SparkDataset constructor",source:"@site/docs/developer-guide/spark-mode/data-sources/others.mdx",sourceDirName:"developer-guide/spark-mode/data-sources",slug:"/developer-guide/spark-mode/data-sources/others",permalink:"/Trevas/developer-guide/spark-mode/data-sources/others",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1720593860,formattedLastUpdatedAt:"Jul 10, 2024",frontMatter:{id:"others",title:"Spark mode - Other sources",sidebar_label:"Others",slug:"/developer-guide/spark-mode/data-sources/others",custom_edit_url:null},sidebar:"docs",previous:{title:"SDMX",permalink:"/Trevas/developer-guide/spark-mode/data-sources/sdmx"},next:{title:"Modifications of VTL grammar",permalink:"/Trevas/administrator-guide/grammar"}},c={},l=[{value:"SparkDataset constructor",id:"sparkdataset-constructor",level:3},{value:"Other formats supported by Spark",id:"other-formats-supported-by-spark",level:3}],i={toc:l};function u(e){let{components:t,...r}=e;return(0,o.kt)("wrapper",(0,a.Z)({},i,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h3",{id:"sparkdataset-constructor"},(0,o.kt)("inlineCode",{parentName:"h3"},"SparkDataset")," constructor"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-java"},'StructType schema = DataTypes.createStructType(List.of(\n DataTypes.createStructField("string", DataTypes.StringType, false),\n DataTypes.createStructField("integer", DataTypes.LongType, false),\n DataTypes.createStructField("boolean", DataTypes.BooleanType, false),\n DataTypes.createStructField("float", DataTypes.DoubleType, false)\n));\n\nDataset dataFrame = spark.createDataFrame(List.of(\n RowFactory.create("string", 1L, true, 1.5D)\n), schema);\n\n\nfr.insee.vtl.model.Dataset sparkDataset = new SparkDataset(dataFrame);\n')),(0,o.kt)("h3",{id:"other-formats-supported-by-spark"},"Other formats supported by Spark"),(0,o.kt)("p",null,"See the ",(0,o.kt)("a",{parentName:"p",href:"https://spark.apache.org/docs/latest/sql-data-sources.html"},"official documentation")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/d91481b0.7c60a171.js b/assets/js/d91481b0.25100343.js similarity index 98% rename from assets/js/d91481b0.7c60a171.js rename to assets/js/d91481b0.25100343.js index e4d2da4e2..0e520de68 100644 --- a/assets/js/d91481b0.7c60a171.js +++ b/assets/js/d91481b0.25100343.js @@ -1 +1 @@ -"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[953],{3905:(e,t,r)=>{r.d(t,{Zo:()=>c,kt:()=>f});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var p=n.createContext({}),i=function(e){var t=n.useContext(p),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},c=function(e){var t=i(e.components);return n.createElement(p.Provider,{value:t},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,p=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),u=i(r),m=a,f=u["".concat(p,".").concat(m)]||u[m]||d[m]||o;return r?n.createElement(f,l(l({ref:t},c),{},{components:r})):n.createElement(f,l({ref:t},c))}));function f(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,l=new Array(o);l[0]=m;var s={};for(var p in t)hasOwnProperty.call(t,p)&&(s[p]=t[p]);s.originalType=e,s[u]="string"==typeof e?e:a,l[1]=s;for(var i=2;i{r.r(t),r.d(t,{assets:()=>p,contentTitle:()=>l,default:()=>u,frontMatter:()=>o,metadata:()=>s,toc:()=>i});var n=r(87462),a=(r(67294),r(3905));const o={id:"spark",title:"VTL Spark",sidebar_label:"VTL Spark",slug:"/modules/spark",custom_edit_url:null},l=void 0,s={unversionedId:"introduction/modules/spark",id:"introduction/modules/spark",title:"VTL Spark",description:"Maven - Vtl Engine",source:"@site/docs/introduction/modules/spark.mdx",sourceDirName:"introduction/modules",slug:"/modules/spark",permalink:"/Trevas/modules/spark",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1719441741,formattedLastUpdatedAt:"Jun 26, 2024",frontMatter:{id:"spark",title:"VTL Spark",sidebar_label:"VTL Spark",slug:"/modules/spark",custom_edit_url:null},sidebar:"docs",previous:{title:"VTL Parser",permalink:"/Trevas/modules/parser"},next:{title:"VTL Model",permalink:"/Trevas/modules/model"}},p={},i=[],c={toc:i};function u(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},c,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("p",null,(0,a.kt)("a",{parentName:"p",href:"https://maven-badges.herokuapp.com/maven-central/fr.insee.trevas/vtl-spark"},(0,a.kt)("img",{parentName:"a",src:"https://maven-badges.herokuapp.com/maven-central/fr.insee.trevas/vtl-spark/badge.svg",alt:"Maven - Vtl Engine"}))),(0,a.kt)("p",null,"Execution of VTL transformations by ",(0,a.kt)("a",{parentName:"p",href:"https://spark.apache.org/"},"Spark"),"."))}u.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[953],{3905:(e,t,r)=>{r.d(t,{Zo:()=>c,kt:()=>f});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var p=n.createContext({}),i=function(e){var t=n.useContext(p),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},c=function(e){var t=i(e.components);return n.createElement(p.Provider,{value:t},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,p=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),u=i(r),m=a,f=u["".concat(p,".").concat(m)]||u[m]||d[m]||o;return r?n.createElement(f,l(l({ref:t},c),{},{components:r})):n.createElement(f,l({ref:t},c))}));function f(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,l=new Array(o);l[0]=m;var s={};for(var p in t)hasOwnProperty.call(t,p)&&(s[p]=t[p]);s.originalType=e,s[u]="string"==typeof e?e:a,l[1]=s;for(var i=2;i{r.r(t),r.d(t,{assets:()=>p,contentTitle:()=>l,default:()=>u,frontMatter:()=>o,metadata:()=>s,toc:()=>i});var n=r(87462),a=(r(67294),r(3905));const o={id:"spark",title:"VTL Spark",sidebar_label:"VTL Spark",slug:"/modules/spark",custom_edit_url:null},l=void 0,s={unversionedId:"introduction/modules/spark",id:"introduction/modules/spark",title:"VTL Spark",description:"Maven - Vtl Engine",source:"@site/docs/introduction/modules/spark.mdx",sourceDirName:"introduction/modules",slug:"/modules/spark",permalink:"/Trevas/modules/spark",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1720593860,formattedLastUpdatedAt:"Jul 10, 2024",frontMatter:{id:"spark",title:"VTL Spark",sidebar_label:"VTL Spark",slug:"/modules/spark",custom_edit_url:null},sidebar:"docs",previous:{title:"VTL Parser",permalink:"/Trevas/modules/parser"},next:{title:"VTL Model",permalink:"/Trevas/modules/model"}},p={},i=[],c={toc:i};function u(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},c,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("p",null,(0,a.kt)("a",{parentName:"p",href:"https://maven-badges.herokuapp.com/maven-central/fr.insee.trevas/vtl-spark"},(0,a.kt)("img",{parentName:"a",src:"https://maven-badges.herokuapp.com/maven-central/fr.insee.trevas/vtl-spark/badge.svg",alt:"Maven - Vtl Engine"}))),(0,a.kt)("p",null,"Execution of VTL transformations by ",(0,a.kt)("a",{parentName:"p",href:"https://spark.apache.org/"},"Spark"),"."))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/dc49e957.88187ec1.js b/assets/js/dc49e957.5f17e956.js similarity index 99% rename from assets/js/dc49e957.88187ec1.js rename to assets/js/dc49e957.5f17e956.js index 5858160a1..5b54e15f9 100644 --- a/assets/js/dc49e957.88187ec1.js +++ b/assets/js/dc49e957.5f17e956.js @@ -1 +1 @@ -"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[7947],{33168:(e,n,t)=>{t.d(n,{Z:()=>i});var a=t(67294),r=t(91262);const i=(0,a.memo)((e=>{const{script:n}=e;return a.createElement(r.Z,null,(()=>{const e=t(46182).AntlrEditor,r=t(49256),{monarchDefinition:i,getSuggestionsFromRange:o}=t(35875),l={...r,getSuggestionsFromRange:o,monarchDefinition:i};return a.createElement(e,{script:n,tools:l,height:"10vh",options:{minimap:{enabled:!1},lineNumbers:!1}})}))}))},35875:(e,n,t)=>{t.r(n),t.d(n,{getSuggestionsFromRange:()=>d,monarchDefinition:()=>a});const a=JSON.parse('{"defaultToken":"invalid","tokenPostfix":".vtl","keywords":[],"typeKeywords":[],"operators":[],"specials":[],"variables":[],"symbols":"_RGX_/[=>](?!@symbols)/","delimiter.bracket"],["_RGX_/@symbols/",{"cases":{"@operators":"operator","@specials":"operator.special","@default":""}}],["_RGX_/(@digits)[eE]([\\\\-+]?(@digits))?/","number.float"],["_RGX_/(@digits)\\\\.(@digits)([eE][\\\\-+]?(@digits))?/","number.float"],["_RGX_/0[xX](@hexdigits)/","number.hex"],["_RGX_/0[oO]?(@octaldigits)/","number.octal"],["_RGX_/0[bB](@binarydigits)/","number.binary"],["_RGX_/(@digits)/","number"],["_RGX_/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*$/","string.invalid"],["_RGX_/\'([^\'\\\\\\\\]|\\\\\\\\.)*$/","string.invalid"],["_RGX_/\\"/","string","@string_double"],["_RGX_/\'/","string","@string_single"],["_RGX_/`/","string","@string_backtick"]],"whitespace":[["_RGX_/[ \\\\t\\\\r\\\\n]+/",""],["_RGX_/\\\\/\\\\*\\\\*(?!\\\\/)/","comment.doc","@jsdoc"],["_RGX_/\\\\/\\\\*/","comment","@comment"],["_RGX_/\\\\/\\\\/.*$/","comment"]],"comment":[["_RGX_/[^\\\\/*]+/","comment"],["_RGX_/\\\\*\\\\//","comment","@pop"],["_RGX_/[\\\\/*]/","comment"]],"jsdoc":[["_RGX_/[^\\\\/*]+/","comment.doc"],["_RGX_/\\\\*\\\\//","comment.doc","@pop"],["_RGX_/[\\\\/*]/","comment.doc"]],"regexp":[["_RGX_/(\\\\{)(\\\\d+(?:,\\\\d*)?)(\\\\})/",["regexp.escape.control","regexp.escape.control","regexp.escape.control"]],["_RGX_/(\\\\[)(\\\\^?)(?=(?:[^\\\\]\\\\\\\\\\\\/]|\\\\\\\\.)+)/",["regexp.escape.control",{"token":"regexp.escape.control","next":"@regexrange"}]],["_RGX_/(\\\\()(\\\\?:|\\\\?=|\\\\?!)/",["regexp.escape.control","regexp.escape.control"]],["_RGX_/[()]/","regexp.escape.control"],["_RGX_/@regexpctl/","regexp.escape.control"],["_RGX_/[^\\\\\\\\\\\\/]/","regexp"],["_RGX_/@regexpesc/","regexp.escape"],["_RGX_/\\\\\\\\\\\\./","regexp.invalid"],["_RGX_/(\\\\/)([gimsuy]*)/",[{"token":"regexp","bracket":"@close","next":"@pop"},"keyword.other"]]],"regexrange":[["_RGX_/-/","regexp.escape.control"],["_RGX_/\\\\^/","regexp.invalid"],["_RGX_/@regexpesc/","regexp.escape"],["_RGX_/[^\\\\]]/","regexp"],["_RGX_/\\\\]/",{"token":"regexp.escape.control","next":"@pop","bracket":"@close"}]],"string_double":[["_RGX_/[^\\\\\\\\\\"]+/","string"],["_RGX_/@escapes/","string.escape"],["_RGX_/\\\\\\\\./","string.escape.invalid"],["_RGX_/\\"/","string","@pop"]],"string_single":[["_RGX_/[^\\\\\\\\\']+/","string"],["_RGX_/@escapes/","string.escape"],["_RGX_/\\\\\\\\./","string.escape.invalid"],["_RGX_/\'/","string","@pop"]],"string_backtick":[["_RGX_/\\\\$\\\\{/",{"token":"delimiter.bracket","next":"@bracketCounting"}],["_RGX_/[^\\\\\\\\`$]+/","string"],["_RGX_/@escapes/","string.escape"],["_RGX_/\\\\\\\\./","string.escape.invalid"],["_RGX_/`/","string","@pop"]],"bracketCounting":[["_RGX_/\\\\{/","delimiter.bracket","@bracketCounting"],["_RGX_/\\\\}/","delimiter.bracket","@pop"],{"include":"common"}]}}');var r=t(44878);const i=r.languages.CompletionItemKind.Function,o=(r.languages.CompletionItemKind.Variable,r.languages.CompletionItemKind.Keyword),l=r.languages.CompletionItemKind.Snippet,s=r.languages.CompletionItemInsertTextRule.InsertAsSnippet,d=e=>[{label:"eval",kind:i,insertText:"eval",range:e,documentation:{value:"The eval operator invokes an external, non-VTL routine, and returns its result as a Data Set or a scalar. \n\n **Syntax** \n\n eval(externalRoutineName({argument}{,argument}*) language languageName returns outputType)"}},{label:"if",kind:o,insertText:"if",range:e,documentation:{value:"Conditional operator \n\n **Syntax** \n\n if condition then thenOperand else elseOperand "}},{label:"then",kind:o,insertText:"then",range:e,documentation:{value:"Conditional operator \n\n **Syntax** \n\n if condition then thenOperand else elseOperand "}},{label:"else",kind:o,insertText:"else",range:e,documentation:{value:"Conditional operator \n\n **Syntax** \n\n if condition then thenOperand else elseOperand "}},{label:"using",kind:o,insertText:"using",range:e},{label:"with",kind:o,insertText:"with",range:e},{label:"current_date",kind:i,insertText:"current_date()",range:e,documentation:{value:"The operator current_date returns the current time as a date type. \n\n **Syntax** \n\n current_date() "}},{label:"on",kind:o,insertText:"on",range:e},{label:"drop",kind:o,insertText:"drop",range:e,documentation:{value:"The operator takes as input a Data Set (op) and some Component names of such a Data Set (comp). \n\n **Syntax** \n\n op [drop comp { , comp }* ] "}},{label:"keep",kind:o,insertText:"keep",range:e,documentation:{value:"The operator takes as input a Data Set (op) and some Component names of such a Data Set (comp). \n\n **Syntax** \n\n op [ keep comp {, comp }* ] "}},{label:"calc",kind:o,insertText:"calc",range:e,documentation:{value:"The operator calculates new Identifier, Measure or Attribute Components on the basis of sub-expressions at Component level. ***\n\n*Example*\n\n DS_1 [ calc Me_3 := Me_1 + Me_2] "}},{label:"attrcalc",kind:o,insertText:"attrcalc",range:e},{label:"rename",kind:o,insertText:"rename",range:e,documentation:{value:"The operator assigns new names to one or more Components (Identifier, Measure or Attribute Components). \n\n **Syntax** \n\n op [ rename comp_from to comp_to { , comp_from to comp_to}* ] "}},{label:"as",kind:o,insertText:"as",range:e},{label:"and",kind:o,insertText:"and",range:e,documentation:{value:"The and operator returns TRUE if both operands are TRUE, otherwise FALSE. The two operands must be of boolean type. \n\n **Syntax** \n\n op1 and op2 "}},{label:"or",kind:o,insertText:"or",range:e,documentation:{value:"The or operator returns TRUE if at least one of the operands is TRUE, otherwise FALSE. The two operands must be of boolean type. \n\n **Syntax** \n\n op1 or op2 "}},{label:"xor",kind:o,insertText:"xor",range:e,documentation:{value:"The xor operator returns TRUE if only one of the operand is TRUE (but not both), FALSE otherwise. The two operands must be of boolean type. \n\n **Syntax** \n\n op1 xor op2 "}},{label:"not",kind:o,insertText:"not",range:e,documentation:{value:"The not operator returns TRUE if op is FALSE, otherwise TRUE. The input operand must be of boolean type. \n\n **Syntax** \n\n not op2 "}},{label:"between",kind:i,insertText:"between",range:e,documentation:{value:"The operator returns TRUE if op is greater than or equal to from and lower than or equal to to. \n\n **Syntax** \n\n between (op, from, to) "}},{label:"levenshtein",kind:i,insertText:"levenshtein",range:e,documentation:{value:"The operator returns the levenshtein distance between the two inputed strings. \n\n **Syntax** \n\n levenshtein (left, right) "}},{label:"random",kind:i,insertText:"random",range:e,documentation:{value:"The operator returns a random decimal number >= 0 and <1. \n\n **Syntax** \n\n random()"}},{label:"in",kind:o,insertText:"in",range:e,documentation:{value:"The in operator returns TRUE if op belongs to the collection, FALSE otherwise. \n\n **Syntax** \n\n op in collection "}},{label:"not_in",kind:o,insertText:"not_in",range:e,documentation:{value:"The not_in operator returns FALSE if op belongs to the collection, TRUE otherwise. \n\n **Syntax** \n\n op not_in collection "}},{label:"isnull",kind:i,insertText:"isnull",range:e,documentation:{value:"The operator returns TRUE if the value of the operand is NULL, FALSE otherwise. \n\n **Syntax** \n\n isnull(op) "}},{label:"ex",kind:o,insertText:"ex",range:e},{label:"union",kind:i,insertText:"union",range:e,documentation:{value:"The union operator implements the union of functions (i.e., Data Sets). \n\n **Syntax** \n\n union ( ds { , ds }*) "}},{label:"diff",kind:o,insertText:"diff",range:e},{label:"symdiff",kind:i,insertText:"symdiff",range:e,documentation:{value:"The operator implements the symmetric set difference between functions (i.e. Data Sets), interpreting the Data Points of the input Data Sets as the elements in the operand Sets. \n\n **Syntax** \n\n symdiff(ds1, ds) "}},{label:"intersect",kind:i,insertText:"intersect",range:e,documentation:{value:"The intersect operator implements the intersection of functions (i.e., Data Sets). \n\n **Syntax** \n\n intersect ( ds { , ds }*) "}},{label:"keys",kind:o,insertText:"KEYS",range:e},{label:"check",kind:i,insertText:"check",range:e,documentation:{value:"*Syntax*\n\n check ( op { errorcode errorcode } { errorlevel errorlevel } { imbalance imbalance } { output } ) \n\noutput ::= invalid | all "}},{label:"exists_in",kind:i,insertText:"exists_in",range:e,documentation:{value:"The operator returns TRUE if the value of the operand is NULL, FALSE otherwise. \n\n **Syntax** \n\n exists_in ( op1, op2 { , retain } ) \n\n *retain* ::= true | false | all"}},{label:"to",kind:o,insertText:"to",range:e},{label:"return",kind:o,insertText:"return",range:e},{label:"imbalance",kind:o,insertText:"imbalance",range:e,documentation:{value:"Imbalance is a numeric mono-measure Data Set with the same Identifiers of op. If not specified then imbalance is NULL"}},{label:"errorcode",kind:o,insertText:"errorcode",range:e},{label:"all",kind:o,insertText:"all",range:e},{label:"aggr",kind:o,insertText:"aggr",range:e,documentation:{value:"The operator aggr calculates aggregations of dependent Components (Measures or Attributes) on the basis of sub-expressions at Component level. \n\n **Syntax** \n\n op [ aggr aggrClause { groupingClause } ] "}},{label:"errorlevel",kind:o,insertText:"errorlevel",range:e},{label:"order",kind:o,insertText:"order",range:e},{label:"by",kind:o,insertText:"by",range:e},{label:"rank",kind:i,insertText:"rank",range:e,documentation:{value:"Rank (order number) of a Data Point in an ordered set of Data Points. \n\n **Syntax** \n\n rank( firstOperand { , additionalOperand }* { groupingClause } \n\n rank( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"asc",kind:o,insertText:"asc",range:e},{label:"desc",kind:o,insertText:"desc",range:e},{label:"min",kind:i,insertText:"min",range:e,documentation:{value:"Minimum value of a set of values . \n\n **Syntax** \n\n min( firstOperand { , additionalOperand }* { groupingClause } \n\n min( firstOperand { , additionalOperand }* over ( analyticClause ) "}},{label:"max",kind:i,insertText:"max",range:e,documentation:{value:"Maximum value of a set of values . \n\n **Syntax** \n\n max( firstOperand { , additionalOperand }* { groupingClause } \n\n max( firstOperand { , additionalOperand }* over ( analyticClause ) "}},{label:"first",kind:o,insertText:"first",range:e},{label:"last",kind:o,insertText:"last",range:e},{label:"indexof",kind:o,insertText:"indexof",range:e},{label:"abs",kind:i,insertText:"abs",range:e,documentation:{value:"The operator abs calculates the absolute value of a number. \n\n For example:\n\n abs(-3.141) gives 3.141 \n\n **Syntax** \n\n abs(op) "}},{label:"key",kind:o,insertText:"key",range:e},{label:"ln",kind:i,insertText:"ln",range:e,documentation:{value:"The operator ln calculates the natural logarithm of a number. \n\n **Syntax** \n\n ln(op) "}},{label:"log",kind:i,insertText:"log",range:e,documentation:{value:"The operator log calculates the logarithm of num base op. \n\n **Syntax** \n\n log(op , num) "}},{label:"trunc",kind:i,insertText:"trunc",range:e,documentation:{value:"The operator trunc truncates the operand to a number of positions at the right of the decimal point equal to the numDigit parameter. \n\n **Syntax** \n\n trunc ( op , numDigit ) "}},{label:"round",kind:i,insertText:"round",range:e,documentation:{value:"The operator round rounds the operand to a number of positions at the right of the decimal point equal to the numDigit parameter. \n\n **Syntax** \n\n round( op , numDigit ) "}},{label:"power",kind:i,insertText:"power",range:e,documentation:{value:"The operator power raises a number (the base) to another one (the exponent). \n\n **Syntax** \n\n power(base , exponent) "}},{label:"mod",kind:i,insertText:"mod",range:e,documentation:{value:"The operator mod returns the remainder of op1 divided by op2. It returns op1 if divisor op2 is 0. \n\n **Syntax** \n\n mod(op1, op2 ) "}},{label:"length",kind:i,insertText:"length",range:e,documentation:{value:"Returns the length of a string. \n\n **Syntax** \n\n len( op ) "}},{label:"trim",kind:i,insertText:"trim",range:e,documentation:{value:'Removes trailing and leading whitespace from a string. For example, trim("Hello ") gives "Hello". \n\n **Syntax** \n\n trim(operand) '}},{label:"upper",kind:i,insertText:"upper",range:e,documentation:{value:'Converts the character case of a string in upper case. For example, upper("Hello") gives "HELLO". \n\n **Syntax** \n\n upper(operand) '}},{label:"lower",kind:i,insertText:"lower",range:e,documentation:{value:'Converts the character case of a string in lower case. For example, lower("Hello") gives "hello". \n\n **Syntax** \n\n lower(operand) '}},{label:"substr",kind:i,insertText:"substr",range:e,documentation:{value:"The operator extracts a substring from op, which must be string type. The substring starts from the start character of the input string and has a number of characters equal to the length parameter. \n\n **Syntax** \n\n substr ( op, start, length ) "}},{label:"sum",kind:i,insertText:"sum",range:e,documentation:{value:"Sum of a set of numbers. \n\n **Syntax** \n\n sun( firstOperand { , additionalOperand }* { groupingClause } "}},{label:"avg",kind:i,insertText:"avg",range:e,documentation:{value:"Average value of a set of numbers. \n\n **Syntax** \n\n avg( firstOperand { , additionalOperand }* { groupingClause } \n\n avg( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"median",kind:i,insertText:"median",range:e,documentation:{value:"Median value of a set of values . \n\n **Syntax** \n\n median( firstOperand { , additionalOperand }* { groupingClause } \n\n median( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"count",kind:i,insertText:"count",range:e,documentation:{value:"Number of Data Points. \n\n **Syntax** \n\n count( firstOperand { , additionalOperand }* { groupingClause } \n\n count( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"identifier",kind:o,insertText:"identifier",range:e},{label:"measure",kind:o,insertText:"measure",range:e},{label:"attribute",kind:o,insertText:"attribute",range:e},{label:"filter",kind:o,insertText:"filter",range:e,documentation:{value:"The operator takes as input a Data Set (op) and a boolean Component expression (filterCondition) and filters the input Data Points according to the evaluation of the condition. \n\n **Syntax** \n\n op[ filter filterCondition ] "}},{label:"merge",kind:o,insertText:"merge",range:e},{label:"exp",kind:i,insertText:"exp",range:e,documentation:{value:"The operator exp returns e (base of the natural logarithm) raised to the op-th power. \n\n **Syntax** \n\n exp(op) "}},{label:"componentRole",kind:o,insertText:"componentRole",range:e},{label:"viral",kind:o,insertText:"viral",range:e},{label:"match_characters",kind:i,insertText:"match_characters",range:e,documentation:{value:"match_characters returns TRUE if op matches the regular expression regexp, FALSE otherwise. \n\n **Syntax** \n\n match_characters ( op , pattern ) "}},{label:"type",kind:o,insertText:"type",range:e},{label:"nvl",kind:i,insertText:"nvl",range:e,documentation:{value:"The operator nvl returns op2 when op1 is null, otherwise op1. \n\n **Syntax** \n\n nvl ( op1 , op2 ) "}},{label:"hierarchy",kind:i,insertText:"hierarchy",range:e,documentation:{value:"The hierarchy operator applies the rules of hr to op as specified in the parameters. \n\n **Syntax** \n\n hierarchy( op , hr { condition condComp { , condComp }* } { rule ruleComp } { mode } { input } { output } ) "}},{label:"invalid",kind:o,insertText:"invalid",range:e},{label:"valuedomain",kind:o,insertText:"valuedomain",range:e},{label:"variable",kind:o,insertText:"variable",range:e},{label:"data",kind:o,insertText:"data",range:e},{label:"structure",kind:o,insertText:"structure",range:e},{label:"dataset",kind:o,insertText:"dataset",range:e},{label:"operator",kind:o,insertText:"operator",range:e},{label:"define",kind:o,insertText:"define",range:e},{label:"datapoint",kind:o,insertText:"datapoint",range:e},{label:"hierarchical",kind:o,insertText:"hierarchical",range:e},{label:"ruleset",kind:o,insertText:"ruleset",range:e},{label:"rule",kind:o,insertText:"rule",range:e},{label:"end",kind:o,insertText:"end",range:e},{label:"alterDataset",kind:o,insertText:"alterDataset",range:e},{label:"ltrim",kind:i,insertText:"ltrim",range:e,documentation:{value:'Removes leading whitespace from a string. For example, trim(" Hello ") gives "Hello ". \n\n **Syntax** \n\n ltrim(operand) '}},{label:"rtrim",kind:i,insertText:"rtrim",range:e,documentation:{value:'Removes trailing whitespace from a string. For example, trim("Hello ") gives "Hello". \n\n **Syntax** \n\n rtrim(operand) '}},{label:"instr",kind:i,insertText:"instr",range:e,documentation:{value:"The operator returns the position in the input string of a specified string (pattern). \n\n **Syntax** \n\n instr ( op, pattern, start, occurrence ) "}},{label:"replace",kind:i,insertText:"replace",range:e,documentation:{value:"Replaces all the occurrences of a specified string-pattern (pattern1) with another one (pattern2). If pattern2 is omitted then all occurrences of pattern1 are removed \n\n **Syntax** \n\n replace (op , pattern1, pattern2 ) "}},{label:"ceil",kind:i,insertText:"ceil",range:e,documentation:{value:"The operator ceil returns the smallest integer greater than or equal to op. \n\n For example:\n\n ceil(3.14159) gives 4 \n\n **Syntax** \n\n ceil(op) "}},{label:"floor",kind:i,insertText:"floor",range:e,documentation:{value:"The operator floor returns the greatest integer which is smaller than or equal to op. \n\n For example:\n\n floor(3.14159) gives 3 \n\n **Syntax** \n\n floor(op) "}},{label:"sqrt",kind:i,insertText:"sqrt",range:e,documentation:{value:"The operator sqrt calculates the square root of a number. \n\n **Syntax** \n\n sqrt(op) "}},{label:"any",kind:o,insertText:"any",range:e},{label:"setdiff",kind:i,insertText:"setdiff",range:e,documentation:{value:"The operator implements the set difference of functions (i.e. Data Sets), interpreting the Data Points of the input Data Sets as the elements belonging to the operand sets, the minuend and the subtrahend, respectively. \n\n **Syntax** \n\n setdiff(ds1, ds2) "}},{label:"stddev_pop",kind:i,insertText:"stddev_pop",range:e,documentation:{value:"Population standard deviation of a set of numbers. \n\n **Syntax** \n\n stddev_pop( firstOperand { , additionalOperand }* { groupingClause } \n\n stddev_pop( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"stddev_samp",kind:i,insertText:"stddev_samp",range:e,documentation:{value:"Sample standard deviation of a set of numbers. \n\n **Syntax** \n\n stddev_samp( firstOperand { , additionalOperand }* { groupingClause } \n\n stddev_samp( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"var_pop",kind:i,insertText:"var_pop",range:e,documentation:{value:"Population variance of a set of numbers. \n\n **Syntax** \n\n var_pop( firstOperand { , additionalOperand }* { groupingClause } \n\n var_pop( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"var_samp",kind:i,insertText:"var_samp",range:e,documentation:{value:"Sample variance of a set of numbers. \n\n **Syntax** \n\n var_samp( firstOperand { , additionalOperand }* { groupingClause } \n\n var_samp( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"group",kind:o,insertText:"group",range:e},{label:"except",kind:o,insertText:"except",range:e},{label:"having",kind:o,insertText:"having",range:e},{label:"first_value",kind:i,insertText:"first_value",range:e,documentation:{value:"First value in an ordered set of values . \n\n **Syntax** \n\n first_value( firstOperand { , additionalOperand }* { groupingClause } \n\n first_value( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"last_value",kind:i,insertText:"last_value",range:e,documentation:{value:"Last value in an ordered set of values. \n\n **Syntax** \n\n last_value( firstOperand { , additionalOperand }* { groupingClause } \n\n last_value( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"lag",kind:i,insertText:"lag",range:e,documentation:{value:"In an ordered set of Data Points, it returns the value(s) taken from a Data Point at a given physical offset prior to the current Data Point. \n\n **Syntax** \n\n lag( firstOperand { , additionalOperand }* { groupingClause } \n\n lag( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"lead",kind:i,insertText:"lead",range:e,documentation:{value:"In an ordered set of Data Points, it returns the value(s) taken from a Data Point at a given physical offset beyond the current Data Point . \n\n **Syntax** \n\n lead( firstOperand { , additionalOperand }* { groupingClause } \n\n lead( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"ratio_to_report",kind:i,insertText:"ratio_to_report",range:e,documentation:{value:"In an ordered set of Data Points, it returns the value(s) taken from a Data Point at a given physical offset beyond the current Data Point . \n\n **Syntax** \n\n ratio_to_report( firstOperand { , additionalOperand }* { groupingClause } \n\n ratio_to_report( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"over",kind:o,insertText:"over",range:e},{label:"preceding",kind:o,insertText:"preceding",range:e},{label:"following",kind:o,insertText:"following",range:e},{label:"unbounded",kind:o,insertText:"unbounded",range:e},{label:"partition",kind:o,insertText:"partition",range:e},{label:"rows",kind:o,insertText:"rows",range:e},{label:"range",kind:o,insertText:"range",range:e},{label:"current",kind:o,insertText:"current",range:e},{label:"valid",kind:o,insertText:"valid",range:e},{label:"fill_time_series",kind:i,insertText:"fill_time_series",range:e,documentation:{value:"The operator fills the possibly missing Data Points of all the time series belonging to the operand op within the time limits automatically determined by applying the limit_method. \n\n **Syntax** \n\n fill_time_series( op { , limitsMethod}) \n\n *limitsMethod* ::= single | all"}},{label:"flow_to_stock",kind:i,insertText:"flow_to_stock",range:e,documentation:{value:"This operator takes in input a Data Set which are interpreted as flows and calculates the change of the corresponding stock since the beginning of each time series by summing the relevant flows. In other words, the operator perform the cumulative sum from the first Data Point of each time series to each other following Data Point of the same time series. \n\n **Syntax** \n\n flow_to_stock( op ) "}},{label:"stock_to_flow",kind:i,insertText:"stock_to_flow",range:e,documentation:{value:"This operator takes in input a Data Set of time series which is interpreted as stock data and, for each time series, calculates the corresponding flow data by subtracting from the measure values of each regular period the corresponding measure values of the previous one. \n\n **Syntax** \n\n stock_to_flow( op ) "}},{label:"timeshift",kind:i,insertText:"timeshift",range:e,documentation:{value:"This operator takes in input a Data Set of time series and, for each time series of the Data Set, shifts the reference time Identifier of a number of periods (of the time series) equal to the shift_number parameter. If shift_number is negative, the shift is in the past, otherwise in the future \n\n **Syntax** \n\n timeshift( op , shiftNumber) "}},{label:"measures",kind:o,insertText:"measures",range:e},{label:"no_measures",kind:o,insertText:"no_measures",range:e},{label:"condition",kind:o,insertText:"condition",range:e},{label:"boolean",kind:o,insertText:"boolean",range:e},{label:"date",kind:o,insertText:"date",range:e},{label:"time_period",kind:o,insertText:"time_period",range:e},{label:"number",kind:o,insertText:"number",range:e},{label:"string",kind:o,insertText:"string",range:e},{label:"integer",kind:o,insertText:"integer",range:e},{label:"float",kind:o,insertText:"float",range:e},{label:"list",kind:o,insertText:"list",range:e},{label:"record",kind:o,insertText:"record",range:e},{label:"restrict",kind:o,insertText:"restrict",range:e},{label:"maxLength",kind:o,insertText:"maxLength",range:e},{label:"regexp",kind:o,insertText:"regexp",range:e},{label:"is",kind:o,insertText:"is",range:e},{label:"when",kind:o,insertText:"when",range:e},{label:"from",kind:o,insertText:"from",range:e},{label:"aggregates",kind:o,insertText:"aggregates",range:e},{label:"points",kind:o,insertText:"points",range:e},{label:"point",kind:o,insertText:"point",range:e},{label:"total",kind:o,insertText:"total",range:e},{label:"partial",kind:o,insertText:"partial",range:e},{label:"always",kind:o,insertText:"always",range:e},{label:"inner_join",kind:i,insertText:"inner_join",range:e,documentation:{value:"Join operator, a relational join of the input operands is performed, according to SQL inner"}},{label:"left_join",kind:i,insertText:"left_join",range:e,documentation:{value:"Join operator, this is the left-most Data Set (left-outer sql)"}},{label:"cross_join",kind:i,insertText:"cross_join",range:e,documentation:{value:"Join operator, Cartesian product"}},{label:"full_join",kind:i,insertText:"full_join",range:e,documentation:{value:"Join operator, full outer (sql)"}},{label:"maps_from",kind:o,insertText:"maps_from",range:e},{label:"maps_to",kind:o,insertText:"maps_to",range:e},{label:"map_to",kind:o,insertText:"map_to",range:e},{label:"map_from",kind:o,insertText:"map_from",range:e},{label:"returns",kind:o,insertText:"returns",range:e},{label:"pivot",kind:o,insertText:"pivot",range:e,documentation:{value:"The operator transposes several Data Points of the operand Data Set into a single Data Point of the resulting Data Set. \n\n **Syntax** \n\n op [ pivot identifier , measure ] "}},{label:"customPivot",kind:o,insertText:"customPivot",range:e},{label:"unpivot",kind:o,insertText:"unpivot",range:e,documentation:{value:"The unpivot operator transposes a single Data Point of the operand Data Set into several Data Points of the result Data set. \n\n **Syntax** \n\n op [ unpivot identifier , measure ] "}},{label:"sub",kind:o,insertText:"sub",range:e,documentation:{value:"The operator returns a Data Set in a subspace of the one of the input Dataset. \n\n **Syntax** \n\n op [ sub identifier = value { , identifier = value }* ] "}},{label:"apply",kind:o,insertText:"apply",range:e},{label:"conditioned",kind:o,insertText:"conditioned",range:e},{label:"period_indicator",kind:i,insertText:"period_indicator ",range:e,documentation:{value:"period_indicator returns the period indicator of a time_period value. The period indicator is the part of the time_period value which denotes the duration of the time period (e.g. day, week, month \u2026). \n\n **Syntax** \n\n period_indicator(op) "}},{label:"single",kind:o,insertText:"single",range:e},{label:"duration",kind:o,insertText:"duration",range:e},{label:"time_agg",kind:i,insertText:"time_agg",range:e,documentation:{value:"The operator converts a time, date or time_period value from a smaller to a larger duration. \n\n **Syntax** \n\n time_agg(periodIndTo { ,periodIndFrom } { ,op } { ,first | last }) "}},{label:"unit",kind:o,insertText:"unit",range:e},{label:"value",kind:o,insertText:"value",range:e},{label:"valuedomains",kind:o,insertText:"valuedomains",range:e},{label:"variables",kind:o,insertText:"variables",range:e},{label:"input",kind:o,insertText:"input",range:e},{label:"output",kind:o,insertText:"output",range:e},{label:"cast",kind:i,insertText:"cast",range:e,documentation:{value:"This operator converts the scalar type of op to the scalar type specified by scalarType. It returns a copy of op converted to the specified scalarType. \n\n **Syntax** \n\n cast ( op , scalarType { , mask} ) "}},{label:"rule_priority",kind:o,insertText:"rule_priority",range:e},{label:"dataset_priority",kind:o,insertText:"dataset_priority",range:e},{label:"default",kind:o,insertText:"default",range:e},{label:"check_datapoint",kind:i,insertText:"check_datapoint",range:e,documentation:{value:"\n\n*Syntax*\n\n check_datapoint( op , dpr { components listComp } { output }) "}},{label:"check_hierarchy ",kind:i,insertText:"check_hierarchy ",range:e,documentation:{value:"The check_hierarchy operator applies the Rules of the Ruleset hr to check the Code Items Relations between the Code Items present in op \n\n **Syntax** \n\n check_hierarchy ( op , hr { condition condComp { , condComp }* } { rule ruleComp } { mode } { input } { output } ) "}},{label:"computed",kind:o,insertText:"computed",range:e},{label:"non_null",kind:o,insertText:"non_null",range:e},{label:"non_zero",kind:o,insertText:"non_zero",range:e},{label:"partial_null",kind:o,insertText:"partial_null",range:e},{label:"partial_zero",kind:o,insertText:"partial_zero",range:e},{label:"always_null",kind:o,insertText:"always_null",range:e},{label:"always_zero",kind:o,insertText:"always_zero",range:e},{label:"components",kind:o,insertText:"components",range:e},{label:"all_measures",kind:o,insertText:"all_measures",range:e},{label:"scalar",kind:o,insertText:"scalar",range:e},{label:"component",kind:o,insertText:"component",range:e},{label:"datapoint_on_valuedomains",kind:o,insertText:"datapoint_on_valuedomains",range:e},{label:"datapoint_on_variables",kind:o,insertText:"datapoint_on_variables",range:e},{label:"hierarchical_on_valuedomains",kind:o,insertText:"hierarchical_on_valuedomains",range:e},{label:"hierarchical_on_variables",kind:o,insertText:"hierarchical_on_variables",range:e},{label:"set",kind:o,insertText:"set",range:e},{label:"language",kind:o,insertText:"language",range:e},{label:"defdatapoint",kind:l,insertText:["define datapoint ruleset ${0:name} (${1:signature}) is","\t$3","end datapoint ruleset"].join("\n"),insertTextRules:s,documentation:{value:["\tdefine datapoint ruleset ruleSetName (signature) is\n","\t\trule\n","\tend datapoint ruleset"].join("")}},{label:"defhierarchical",kind:l,insertText:["define hierarchical ruleset ${0:name} (${1:signature}) is","\t$3","end hierarchical ruleset"].join("\n"),insertTextRules:s,documentation:{value:["\tdefine hierarchical ruleset ruleSetName (signature) is\n","\t\t{rule}\n","\tend hierarchical ruleset"].join("")}},{label:"defoperator",kind:l,insertText:["define operator ${0:name} (${1:parameter})","returns ${2:returnType} is","","end operator"].join("\n"),insertTextRules:s,documentation:{value:["\tdefine operator operatorName (parameter)\n","\treturns {returnType} is\n","\t{operatorBody}\n","\tend operator"].join("")}}]},16861:(e,n,t)=>{t.d(n,{Z:()=>i});var a=t(44996),r=t(67294);const i=e=>{let{imgSas:n}=e;return r.createElement("div",{className:"container"},r.createElement("div",{className:"row"},r.createElement("div",{className:"col col--3"}),r.createElement("div",{className:"col col--6 centered-content"},r.createElement("h3",null,"Sas"),r.createElement("img",{src:(0,a.Z)(`/img/sas-vtl/${n}`),alt:"Img Sas"}))),r.createElement("h3",{className:"centered-content"},"VTL"))}},59866:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>p,contentTitle:()=>s,default:()=>g,frontMatter:()=>l,metadata:()=>d,toc:()=>u});var a=t(87462),r=(t(67294),t(3905)),i=t(16861),o=t(33168);const l={id:"drop",title:"Drop",sidebar_label:"Drop",slug:"/user-guide/vtl/sas-vtl/drop",custom_edit_url:null},s=void 0,d={unversionedId:"user-guide/vtl/sas-vtl/drop",id:"user-guide/vtl/sas-vtl/drop",title:"Drop",description:"",source:"@site/docs/user-guide/vtl/sas-vtl/drop.mdx",sourceDirName:"user-guide/vtl/sas-vtl",slug:"/user-guide/vtl/sas-vtl/drop",permalink:"/Trevas/user-guide/vtl/sas-vtl/drop",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1719441741,formattedLastUpdatedAt:"Jun 26, 2024",frontMatter:{id:"drop",title:"Drop",sidebar_label:"Drop",slug:"/user-guide/vtl/sas-vtl/drop",custom_edit_url:null},sidebar:"docs",previous:{title:"Keep",permalink:"/Trevas/user-guide/vtl/sas-vtl/keep"},next:{title:"Rename",permalink:"/Trevas/user-guide/vtl/sas-vtl/rename"}},p={},u=[],c={toc:u};function g(e){let{components:n,...t}=e;return(0,r.kt)("wrapper",(0,a.Z)({},c,t,{components:n,mdxType:"MDXLayout"}),(0,r.kt)(i.Z,{imgSas:"drop/sas.png",mdxType:"Sas"}),(0,r.kt)(o.Z,{script:"ds_out := ds_in [drop a, b, c];",mdxType:"Editor"}))}g.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[7947],{33168:(e,n,t)=>{t.d(n,{Z:()=>i});var a=t(67294),r=t(91262);const i=(0,a.memo)((e=>{const{script:n}=e;return a.createElement(r.Z,null,(()=>{const e=t(46182).AntlrEditor,r=t(49256),{monarchDefinition:i,getSuggestionsFromRange:o}=t(35875),l={...r,getSuggestionsFromRange:o,monarchDefinition:i};return a.createElement(e,{script:n,tools:l,height:"10vh",options:{minimap:{enabled:!1},lineNumbers:!1}})}))}))},35875:(e,n,t)=>{t.r(n),t.d(n,{getSuggestionsFromRange:()=>d,monarchDefinition:()=>a});const a=JSON.parse('{"defaultToken":"invalid","tokenPostfix":".vtl","keywords":[],"typeKeywords":[],"operators":[],"specials":[],"variables":[],"symbols":"_RGX_/[=>](?!@symbols)/","delimiter.bracket"],["_RGX_/@symbols/",{"cases":{"@operators":"operator","@specials":"operator.special","@default":""}}],["_RGX_/(@digits)[eE]([\\\\-+]?(@digits))?/","number.float"],["_RGX_/(@digits)\\\\.(@digits)([eE][\\\\-+]?(@digits))?/","number.float"],["_RGX_/0[xX](@hexdigits)/","number.hex"],["_RGX_/0[oO]?(@octaldigits)/","number.octal"],["_RGX_/0[bB](@binarydigits)/","number.binary"],["_RGX_/(@digits)/","number"],["_RGX_/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*$/","string.invalid"],["_RGX_/\'([^\'\\\\\\\\]|\\\\\\\\.)*$/","string.invalid"],["_RGX_/\\"/","string","@string_double"],["_RGX_/\'/","string","@string_single"],["_RGX_/`/","string","@string_backtick"]],"whitespace":[["_RGX_/[ \\\\t\\\\r\\\\n]+/",""],["_RGX_/\\\\/\\\\*\\\\*(?!\\\\/)/","comment.doc","@jsdoc"],["_RGX_/\\\\/\\\\*/","comment","@comment"],["_RGX_/\\\\/\\\\/.*$/","comment"]],"comment":[["_RGX_/[^\\\\/*]+/","comment"],["_RGX_/\\\\*\\\\//","comment","@pop"],["_RGX_/[\\\\/*]/","comment"]],"jsdoc":[["_RGX_/[^\\\\/*]+/","comment.doc"],["_RGX_/\\\\*\\\\//","comment.doc","@pop"],["_RGX_/[\\\\/*]/","comment.doc"]],"regexp":[["_RGX_/(\\\\{)(\\\\d+(?:,\\\\d*)?)(\\\\})/",["regexp.escape.control","regexp.escape.control","regexp.escape.control"]],["_RGX_/(\\\\[)(\\\\^?)(?=(?:[^\\\\]\\\\\\\\\\\\/]|\\\\\\\\.)+)/",["regexp.escape.control",{"token":"regexp.escape.control","next":"@regexrange"}]],["_RGX_/(\\\\()(\\\\?:|\\\\?=|\\\\?!)/",["regexp.escape.control","regexp.escape.control"]],["_RGX_/[()]/","regexp.escape.control"],["_RGX_/@regexpctl/","regexp.escape.control"],["_RGX_/[^\\\\\\\\\\\\/]/","regexp"],["_RGX_/@regexpesc/","regexp.escape"],["_RGX_/\\\\\\\\\\\\./","regexp.invalid"],["_RGX_/(\\\\/)([gimsuy]*)/",[{"token":"regexp","bracket":"@close","next":"@pop"},"keyword.other"]]],"regexrange":[["_RGX_/-/","regexp.escape.control"],["_RGX_/\\\\^/","regexp.invalid"],["_RGX_/@regexpesc/","regexp.escape"],["_RGX_/[^\\\\]]/","regexp"],["_RGX_/\\\\]/",{"token":"regexp.escape.control","next":"@pop","bracket":"@close"}]],"string_double":[["_RGX_/[^\\\\\\\\\\"]+/","string"],["_RGX_/@escapes/","string.escape"],["_RGX_/\\\\\\\\./","string.escape.invalid"],["_RGX_/\\"/","string","@pop"]],"string_single":[["_RGX_/[^\\\\\\\\\']+/","string"],["_RGX_/@escapes/","string.escape"],["_RGX_/\\\\\\\\./","string.escape.invalid"],["_RGX_/\'/","string","@pop"]],"string_backtick":[["_RGX_/\\\\$\\\\{/",{"token":"delimiter.bracket","next":"@bracketCounting"}],["_RGX_/[^\\\\\\\\`$]+/","string"],["_RGX_/@escapes/","string.escape"],["_RGX_/\\\\\\\\./","string.escape.invalid"],["_RGX_/`/","string","@pop"]],"bracketCounting":[["_RGX_/\\\\{/","delimiter.bracket","@bracketCounting"],["_RGX_/\\\\}/","delimiter.bracket","@pop"],{"include":"common"}]}}');var r=t(44878);const i=r.languages.CompletionItemKind.Function,o=(r.languages.CompletionItemKind.Variable,r.languages.CompletionItemKind.Keyword),l=r.languages.CompletionItemKind.Snippet,s=r.languages.CompletionItemInsertTextRule.InsertAsSnippet,d=e=>[{label:"eval",kind:i,insertText:"eval",range:e,documentation:{value:"The eval operator invokes an external, non-VTL routine, and returns its result as a Data Set or a scalar. \n\n **Syntax** \n\n eval(externalRoutineName({argument}{,argument}*) language languageName returns outputType)"}},{label:"if",kind:o,insertText:"if",range:e,documentation:{value:"Conditional operator \n\n **Syntax** \n\n if condition then thenOperand else elseOperand "}},{label:"then",kind:o,insertText:"then",range:e,documentation:{value:"Conditional operator \n\n **Syntax** \n\n if condition then thenOperand else elseOperand "}},{label:"else",kind:o,insertText:"else",range:e,documentation:{value:"Conditional operator \n\n **Syntax** \n\n if condition then thenOperand else elseOperand "}},{label:"using",kind:o,insertText:"using",range:e},{label:"with",kind:o,insertText:"with",range:e},{label:"current_date",kind:i,insertText:"current_date()",range:e,documentation:{value:"The operator current_date returns the current time as a date type. \n\n **Syntax** \n\n current_date() "}},{label:"on",kind:o,insertText:"on",range:e},{label:"drop",kind:o,insertText:"drop",range:e,documentation:{value:"The operator takes as input a Data Set (op) and some Component names of such a Data Set (comp). \n\n **Syntax** \n\n op [drop comp { , comp }* ] "}},{label:"keep",kind:o,insertText:"keep",range:e,documentation:{value:"The operator takes as input a Data Set (op) and some Component names of such a Data Set (comp). \n\n **Syntax** \n\n op [ keep comp {, comp }* ] "}},{label:"calc",kind:o,insertText:"calc",range:e,documentation:{value:"The operator calculates new Identifier, Measure or Attribute Components on the basis of sub-expressions at Component level. ***\n\n*Example*\n\n DS_1 [ calc Me_3 := Me_1 + Me_2] "}},{label:"attrcalc",kind:o,insertText:"attrcalc",range:e},{label:"rename",kind:o,insertText:"rename",range:e,documentation:{value:"The operator assigns new names to one or more Components (Identifier, Measure or Attribute Components). \n\n **Syntax** \n\n op [ rename comp_from to comp_to { , comp_from to comp_to}* ] "}},{label:"as",kind:o,insertText:"as",range:e},{label:"and",kind:o,insertText:"and",range:e,documentation:{value:"The and operator returns TRUE if both operands are TRUE, otherwise FALSE. The two operands must be of boolean type. \n\n **Syntax** \n\n op1 and op2 "}},{label:"or",kind:o,insertText:"or",range:e,documentation:{value:"The or operator returns TRUE if at least one of the operands is TRUE, otherwise FALSE. The two operands must be of boolean type. \n\n **Syntax** \n\n op1 or op2 "}},{label:"xor",kind:o,insertText:"xor",range:e,documentation:{value:"The xor operator returns TRUE if only one of the operand is TRUE (but not both), FALSE otherwise. The two operands must be of boolean type. \n\n **Syntax** \n\n op1 xor op2 "}},{label:"not",kind:o,insertText:"not",range:e,documentation:{value:"The not operator returns TRUE if op is FALSE, otherwise TRUE. The input operand must be of boolean type. \n\n **Syntax** \n\n not op2 "}},{label:"between",kind:i,insertText:"between",range:e,documentation:{value:"The operator returns TRUE if op is greater than or equal to from and lower than or equal to to. \n\n **Syntax** \n\n between (op, from, to) "}},{label:"levenshtein",kind:i,insertText:"levenshtein",range:e,documentation:{value:"The operator returns the levenshtein distance between the two inputed strings. \n\n **Syntax** \n\n levenshtein (left, right) "}},{label:"random",kind:i,insertText:"random",range:e,documentation:{value:"The operator returns a random decimal number >= 0 and <1. \n\n **Syntax** \n\n random()"}},{label:"in",kind:o,insertText:"in",range:e,documentation:{value:"The in operator returns TRUE if op belongs to the collection, FALSE otherwise. \n\n **Syntax** \n\n op in collection "}},{label:"not_in",kind:o,insertText:"not_in",range:e,documentation:{value:"The not_in operator returns FALSE if op belongs to the collection, TRUE otherwise. \n\n **Syntax** \n\n op not_in collection "}},{label:"isnull",kind:i,insertText:"isnull",range:e,documentation:{value:"The operator returns TRUE if the value of the operand is NULL, FALSE otherwise. \n\n **Syntax** \n\n isnull(op) "}},{label:"ex",kind:o,insertText:"ex",range:e},{label:"union",kind:i,insertText:"union",range:e,documentation:{value:"The union operator implements the union of functions (i.e., Data Sets). \n\n **Syntax** \n\n union ( ds { , ds }*) "}},{label:"diff",kind:o,insertText:"diff",range:e},{label:"symdiff",kind:i,insertText:"symdiff",range:e,documentation:{value:"The operator implements the symmetric set difference between functions (i.e. Data Sets), interpreting the Data Points of the input Data Sets as the elements in the operand Sets. \n\n **Syntax** \n\n symdiff(ds1, ds) "}},{label:"intersect",kind:i,insertText:"intersect",range:e,documentation:{value:"The intersect operator implements the intersection of functions (i.e., Data Sets). \n\n **Syntax** \n\n intersect ( ds { , ds }*) "}},{label:"keys",kind:o,insertText:"KEYS",range:e},{label:"check",kind:i,insertText:"check",range:e,documentation:{value:"*Syntax*\n\n check ( op { errorcode errorcode } { errorlevel errorlevel } { imbalance imbalance } { output } ) \n\noutput ::= invalid | all "}},{label:"exists_in",kind:i,insertText:"exists_in",range:e,documentation:{value:"The operator returns TRUE if the value of the operand is NULL, FALSE otherwise. \n\n **Syntax** \n\n exists_in ( op1, op2 { , retain } ) \n\n *retain* ::= true | false | all"}},{label:"to",kind:o,insertText:"to",range:e},{label:"return",kind:o,insertText:"return",range:e},{label:"imbalance",kind:o,insertText:"imbalance",range:e,documentation:{value:"Imbalance is a numeric mono-measure Data Set with the same Identifiers of op. If not specified then imbalance is NULL"}},{label:"errorcode",kind:o,insertText:"errorcode",range:e},{label:"all",kind:o,insertText:"all",range:e},{label:"aggr",kind:o,insertText:"aggr",range:e,documentation:{value:"The operator aggr calculates aggregations of dependent Components (Measures or Attributes) on the basis of sub-expressions at Component level. \n\n **Syntax** \n\n op [ aggr aggrClause { groupingClause } ] "}},{label:"errorlevel",kind:o,insertText:"errorlevel",range:e},{label:"order",kind:o,insertText:"order",range:e},{label:"by",kind:o,insertText:"by",range:e},{label:"rank",kind:i,insertText:"rank",range:e,documentation:{value:"Rank (order number) of a Data Point in an ordered set of Data Points. \n\n **Syntax** \n\n rank( firstOperand { , additionalOperand }* { groupingClause } \n\n rank( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"asc",kind:o,insertText:"asc",range:e},{label:"desc",kind:o,insertText:"desc",range:e},{label:"min",kind:i,insertText:"min",range:e,documentation:{value:"Minimum value of a set of values . \n\n **Syntax** \n\n min( firstOperand { , additionalOperand }* { groupingClause } \n\n min( firstOperand { , additionalOperand }* over ( analyticClause ) "}},{label:"max",kind:i,insertText:"max",range:e,documentation:{value:"Maximum value of a set of values . \n\n **Syntax** \n\n max( firstOperand { , additionalOperand }* { groupingClause } \n\n max( firstOperand { , additionalOperand }* over ( analyticClause ) "}},{label:"first",kind:o,insertText:"first",range:e},{label:"last",kind:o,insertText:"last",range:e},{label:"indexof",kind:o,insertText:"indexof",range:e},{label:"abs",kind:i,insertText:"abs",range:e,documentation:{value:"The operator abs calculates the absolute value of a number. \n\n For example:\n\n abs(-3.141) gives 3.141 \n\n **Syntax** \n\n abs(op) "}},{label:"key",kind:o,insertText:"key",range:e},{label:"ln",kind:i,insertText:"ln",range:e,documentation:{value:"The operator ln calculates the natural logarithm of a number. \n\n **Syntax** \n\n ln(op) "}},{label:"log",kind:i,insertText:"log",range:e,documentation:{value:"The operator log calculates the logarithm of num base op. \n\n **Syntax** \n\n log(op , num) "}},{label:"trunc",kind:i,insertText:"trunc",range:e,documentation:{value:"The operator trunc truncates the operand to a number of positions at the right of the decimal point equal to the numDigit parameter. \n\n **Syntax** \n\n trunc ( op , numDigit ) "}},{label:"round",kind:i,insertText:"round",range:e,documentation:{value:"The operator round rounds the operand to a number of positions at the right of the decimal point equal to the numDigit parameter. \n\n **Syntax** \n\n round( op , numDigit ) "}},{label:"power",kind:i,insertText:"power",range:e,documentation:{value:"The operator power raises a number (the base) to another one (the exponent). \n\n **Syntax** \n\n power(base , exponent) "}},{label:"mod",kind:i,insertText:"mod",range:e,documentation:{value:"The operator mod returns the remainder of op1 divided by op2. It returns op1 if divisor op2 is 0. \n\n **Syntax** \n\n mod(op1, op2 ) "}},{label:"length",kind:i,insertText:"length",range:e,documentation:{value:"Returns the length of a string. \n\n **Syntax** \n\n len( op ) "}},{label:"trim",kind:i,insertText:"trim",range:e,documentation:{value:'Removes trailing and leading whitespace from a string. For example, trim("Hello ") gives "Hello". \n\n **Syntax** \n\n trim(operand) '}},{label:"upper",kind:i,insertText:"upper",range:e,documentation:{value:'Converts the character case of a string in upper case. For example, upper("Hello") gives "HELLO". \n\n **Syntax** \n\n upper(operand) '}},{label:"lower",kind:i,insertText:"lower",range:e,documentation:{value:'Converts the character case of a string in lower case. For example, lower("Hello") gives "hello". \n\n **Syntax** \n\n lower(operand) '}},{label:"substr",kind:i,insertText:"substr",range:e,documentation:{value:"The operator extracts a substring from op, which must be string type. The substring starts from the start character of the input string and has a number of characters equal to the length parameter. \n\n **Syntax** \n\n substr ( op, start, length ) "}},{label:"sum",kind:i,insertText:"sum",range:e,documentation:{value:"Sum of a set of numbers. \n\n **Syntax** \n\n sun( firstOperand { , additionalOperand }* { groupingClause } "}},{label:"avg",kind:i,insertText:"avg",range:e,documentation:{value:"Average value of a set of numbers. \n\n **Syntax** \n\n avg( firstOperand { , additionalOperand }* { groupingClause } \n\n avg( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"median",kind:i,insertText:"median",range:e,documentation:{value:"Median value of a set of values . \n\n **Syntax** \n\n median( firstOperand { , additionalOperand }* { groupingClause } \n\n median( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"count",kind:i,insertText:"count",range:e,documentation:{value:"Number of Data Points. \n\n **Syntax** \n\n count( firstOperand { , additionalOperand }* { groupingClause } \n\n count( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"identifier",kind:o,insertText:"identifier",range:e},{label:"measure",kind:o,insertText:"measure",range:e},{label:"attribute",kind:o,insertText:"attribute",range:e},{label:"filter",kind:o,insertText:"filter",range:e,documentation:{value:"The operator takes as input a Data Set (op) and a boolean Component expression (filterCondition) and filters the input Data Points according to the evaluation of the condition. \n\n **Syntax** \n\n op[ filter filterCondition ] "}},{label:"merge",kind:o,insertText:"merge",range:e},{label:"exp",kind:i,insertText:"exp",range:e,documentation:{value:"The operator exp returns e (base of the natural logarithm) raised to the op-th power. \n\n **Syntax** \n\n exp(op) "}},{label:"componentRole",kind:o,insertText:"componentRole",range:e},{label:"viral",kind:o,insertText:"viral",range:e},{label:"match_characters",kind:i,insertText:"match_characters",range:e,documentation:{value:"match_characters returns TRUE if op matches the regular expression regexp, FALSE otherwise. \n\n **Syntax** \n\n match_characters ( op , pattern ) "}},{label:"type",kind:o,insertText:"type",range:e},{label:"nvl",kind:i,insertText:"nvl",range:e,documentation:{value:"The operator nvl returns op2 when op1 is null, otherwise op1. \n\n **Syntax** \n\n nvl ( op1 , op2 ) "}},{label:"hierarchy",kind:i,insertText:"hierarchy",range:e,documentation:{value:"The hierarchy operator applies the rules of hr to op as specified in the parameters. \n\n **Syntax** \n\n hierarchy( op , hr { condition condComp { , condComp }* } { rule ruleComp } { mode } { input } { output } ) "}},{label:"invalid",kind:o,insertText:"invalid",range:e},{label:"valuedomain",kind:o,insertText:"valuedomain",range:e},{label:"variable",kind:o,insertText:"variable",range:e},{label:"data",kind:o,insertText:"data",range:e},{label:"structure",kind:o,insertText:"structure",range:e},{label:"dataset",kind:o,insertText:"dataset",range:e},{label:"operator",kind:o,insertText:"operator",range:e},{label:"define",kind:o,insertText:"define",range:e},{label:"datapoint",kind:o,insertText:"datapoint",range:e},{label:"hierarchical",kind:o,insertText:"hierarchical",range:e},{label:"ruleset",kind:o,insertText:"ruleset",range:e},{label:"rule",kind:o,insertText:"rule",range:e},{label:"end",kind:o,insertText:"end",range:e},{label:"alterDataset",kind:o,insertText:"alterDataset",range:e},{label:"ltrim",kind:i,insertText:"ltrim",range:e,documentation:{value:'Removes leading whitespace from a string. For example, trim(" Hello ") gives "Hello ". \n\n **Syntax** \n\n ltrim(operand) '}},{label:"rtrim",kind:i,insertText:"rtrim",range:e,documentation:{value:'Removes trailing whitespace from a string. For example, trim("Hello ") gives "Hello". \n\n **Syntax** \n\n rtrim(operand) '}},{label:"instr",kind:i,insertText:"instr",range:e,documentation:{value:"The operator returns the position in the input string of a specified string (pattern). \n\n **Syntax** \n\n instr ( op, pattern, start, occurrence ) "}},{label:"replace",kind:i,insertText:"replace",range:e,documentation:{value:"Replaces all the occurrences of a specified string-pattern (pattern1) with another one (pattern2). If pattern2 is omitted then all occurrences of pattern1 are removed \n\n **Syntax** \n\n replace (op , pattern1, pattern2 ) "}},{label:"ceil",kind:i,insertText:"ceil",range:e,documentation:{value:"The operator ceil returns the smallest integer greater than or equal to op. \n\n For example:\n\n ceil(3.14159) gives 4 \n\n **Syntax** \n\n ceil(op) "}},{label:"floor",kind:i,insertText:"floor",range:e,documentation:{value:"The operator floor returns the greatest integer which is smaller than or equal to op. \n\n For example:\n\n floor(3.14159) gives 3 \n\n **Syntax** \n\n floor(op) "}},{label:"sqrt",kind:i,insertText:"sqrt",range:e,documentation:{value:"The operator sqrt calculates the square root of a number. \n\n **Syntax** \n\n sqrt(op) "}},{label:"any",kind:o,insertText:"any",range:e},{label:"setdiff",kind:i,insertText:"setdiff",range:e,documentation:{value:"The operator implements the set difference of functions (i.e. Data Sets), interpreting the Data Points of the input Data Sets as the elements belonging to the operand sets, the minuend and the subtrahend, respectively. \n\n **Syntax** \n\n setdiff(ds1, ds2) "}},{label:"stddev_pop",kind:i,insertText:"stddev_pop",range:e,documentation:{value:"Population standard deviation of a set of numbers. \n\n **Syntax** \n\n stddev_pop( firstOperand { , additionalOperand }* { groupingClause } \n\n stddev_pop( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"stddev_samp",kind:i,insertText:"stddev_samp",range:e,documentation:{value:"Sample standard deviation of a set of numbers. \n\n **Syntax** \n\n stddev_samp( firstOperand { , additionalOperand }* { groupingClause } \n\n stddev_samp( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"var_pop",kind:i,insertText:"var_pop",range:e,documentation:{value:"Population variance of a set of numbers. \n\n **Syntax** \n\n var_pop( firstOperand { , additionalOperand }* { groupingClause } \n\n var_pop( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"var_samp",kind:i,insertText:"var_samp",range:e,documentation:{value:"Sample variance of a set of numbers. \n\n **Syntax** \n\n var_samp( firstOperand { , additionalOperand }* { groupingClause } \n\n var_samp( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"group",kind:o,insertText:"group",range:e},{label:"except",kind:o,insertText:"except",range:e},{label:"having",kind:o,insertText:"having",range:e},{label:"first_value",kind:i,insertText:"first_value",range:e,documentation:{value:"First value in an ordered set of values . \n\n **Syntax** \n\n first_value( firstOperand { , additionalOperand }* { groupingClause } \n\n first_value( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"last_value",kind:i,insertText:"last_value",range:e,documentation:{value:"Last value in an ordered set of values. \n\n **Syntax** \n\n last_value( firstOperand { , additionalOperand }* { groupingClause } \n\n last_value( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"lag",kind:i,insertText:"lag",range:e,documentation:{value:"In an ordered set of Data Points, it returns the value(s) taken from a Data Point at a given physical offset prior to the current Data Point. \n\n **Syntax** \n\n lag( firstOperand { , additionalOperand }* { groupingClause } \n\n lag( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"lead",kind:i,insertText:"lead",range:e,documentation:{value:"In an ordered set of Data Points, it returns the value(s) taken from a Data Point at a given physical offset beyond the current Data Point . \n\n **Syntax** \n\n lead( firstOperand { , additionalOperand }* { groupingClause } \n\n lead( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"ratio_to_report",kind:i,insertText:"ratio_to_report",range:e,documentation:{value:"In an ordered set of Data Points, it returns the value(s) taken from a Data Point at a given physical offset beyond the current Data Point . \n\n **Syntax** \n\n ratio_to_report( firstOperand { , additionalOperand }* { groupingClause } \n\n ratio_to_report( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"over",kind:o,insertText:"over",range:e},{label:"preceding",kind:o,insertText:"preceding",range:e},{label:"following",kind:o,insertText:"following",range:e},{label:"unbounded",kind:o,insertText:"unbounded",range:e},{label:"partition",kind:o,insertText:"partition",range:e},{label:"rows",kind:o,insertText:"rows",range:e},{label:"range",kind:o,insertText:"range",range:e},{label:"current",kind:o,insertText:"current",range:e},{label:"valid",kind:o,insertText:"valid",range:e},{label:"fill_time_series",kind:i,insertText:"fill_time_series",range:e,documentation:{value:"The operator fills the possibly missing Data Points of all the time series belonging to the operand op within the time limits automatically determined by applying the limit_method. \n\n **Syntax** \n\n fill_time_series( op { , limitsMethod}) \n\n *limitsMethod* ::= single | all"}},{label:"flow_to_stock",kind:i,insertText:"flow_to_stock",range:e,documentation:{value:"This operator takes in input a Data Set which are interpreted as flows and calculates the change of the corresponding stock since the beginning of each time series by summing the relevant flows. In other words, the operator perform the cumulative sum from the first Data Point of each time series to each other following Data Point of the same time series. \n\n **Syntax** \n\n flow_to_stock( op ) "}},{label:"stock_to_flow",kind:i,insertText:"stock_to_flow",range:e,documentation:{value:"This operator takes in input a Data Set of time series which is interpreted as stock data and, for each time series, calculates the corresponding flow data by subtracting from the measure values of each regular period the corresponding measure values of the previous one. \n\n **Syntax** \n\n stock_to_flow( op ) "}},{label:"timeshift",kind:i,insertText:"timeshift",range:e,documentation:{value:"This operator takes in input a Data Set of time series and, for each time series of the Data Set, shifts the reference time Identifier of a number of periods (of the time series) equal to the shift_number parameter. If shift_number is negative, the shift is in the past, otherwise in the future \n\n **Syntax** \n\n timeshift( op , shiftNumber) "}},{label:"measures",kind:o,insertText:"measures",range:e},{label:"no_measures",kind:o,insertText:"no_measures",range:e},{label:"condition",kind:o,insertText:"condition",range:e},{label:"boolean",kind:o,insertText:"boolean",range:e},{label:"date",kind:o,insertText:"date",range:e},{label:"time_period",kind:o,insertText:"time_period",range:e},{label:"number",kind:o,insertText:"number",range:e},{label:"string",kind:o,insertText:"string",range:e},{label:"integer",kind:o,insertText:"integer",range:e},{label:"float",kind:o,insertText:"float",range:e},{label:"list",kind:o,insertText:"list",range:e},{label:"record",kind:o,insertText:"record",range:e},{label:"restrict",kind:o,insertText:"restrict",range:e},{label:"maxLength",kind:o,insertText:"maxLength",range:e},{label:"regexp",kind:o,insertText:"regexp",range:e},{label:"is",kind:o,insertText:"is",range:e},{label:"when",kind:o,insertText:"when",range:e},{label:"from",kind:o,insertText:"from",range:e},{label:"aggregates",kind:o,insertText:"aggregates",range:e},{label:"points",kind:o,insertText:"points",range:e},{label:"point",kind:o,insertText:"point",range:e},{label:"total",kind:o,insertText:"total",range:e},{label:"partial",kind:o,insertText:"partial",range:e},{label:"always",kind:o,insertText:"always",range:e},{label:"inner_join",kind:i,insertText:"inner_join",range:e,documentation:{value:"Join operator, a relational join of the input operands is performed, according to SQL inner"}},{label:"left_join",kind:i,insertText:"left_join",range:e,documentation:{value:"Join operator, this is the left-most Data Set (left-outer sql)"}},{label:"cross_join",kind:i,insertText:"cross_join",range:e,documentation:{value:"Join operator, Cartesian product"}},{label:"full_join",kind:i,insertText:"full_join",range:e,documentation:{value:"Join operator, full outer (sql)"}},{label:"maps_from",kind:o,insertText:"maps_from",range:e},{label:"maps_to",kind:o,insertText:"maps_to",range:e},{label:"map_to",kind:o,insertText:"map_to",range:e},{label:"map_from",kind:o,insertText:"map_from",range:e},{label:"returns",kind:o,insertText:"returns",range:e},{label:"pivot",kind:o,insertText:"pivot",range:e,documentation:{value:"The operator transposes several Data Points of the operand Data Set into a single Data Point of the resulting Data Set. \n\n **Syntax** \n\n op [ pivot identifier , measure ] "}},{label:"customPivot",kind:o,insertText:"customPivot",range:e},{label:"unpivot",kind:o,insertText:"unpivot",range:e,documentation:{value:"The unpivot operator transposes a single Data Point of the operand Data Set into several Data Points of the result Data set. \n\n **Syntax** \n\n op [ unpivot identifier , measure ] "}},{label:"sub",kind:o,insertText:"sub",range:e,documentation:{value:"The operator returns a Data Set in a subspace of the one of the input Dataset. \n\n **Syntax** \n\n op [ sub identifier = value { , identifier = value }* ] "}},{label:"apply",kind:o,insertText:"apply",range:e},{label:"conditioned",kind:o,insertText:"conditioned",range:e},{label:"period_indicator",kind:i,insertText:"period_indicator ",range:e,documentation:{value:"period_indicator returns the period indicator of a time_period value. The period indicator is the part of the time_period value which denotes the duration of the time period (e.g. day, week, month \u2026). \n\n **Syntax** \n\n period_indicator(op) "}},{label:"single",kind:o,insertText:"single",range:e},{label:"duration",kind:o,insertText:"duration",range:e},{label:"time_agg",kind:i,insertText:"time_agg",range:e,documentation:{value:"The operator converts a time, date or time_period value from a smaller to a larger duration. \n\n **Syntax** \n\n time_agg(periodIndTo { ,periodIndFrom } { ,op } { ,first | last }) "}},{label:"unit",kind:o,insertText:"unit",range:e},{label:"value",kind:o,insertText:"value",range:e},{label:"valuedomains",kind:o,insertText:"valuedomains",range:e},{label:"variables",kind:o,insertText:"variables",range:e},{label:"input",kind:o,insertText:"input",range:e},{label:"output",kind:o,insertText:"output",range:e},{label:"cast",kind:i,insertText:"cast",range:e,documentation:{value:"This operator converts the scalar type of op to the scalar type specified by scalarType. It returns a copy of op converted to the specified scalarType. \n\n **Syntax** \n\n cast ( op , scalarType { , mask} ) "}},{label:"rule_priority",kind:o,insertText:"rule_priority",range:e},{label:"dataset_priority",kind:o,insertText:"dataset_priority",range:e},{label:"default",kind:o,insertText:"default",range:e},{label:"check_datapoint",kind:i,insertText:"check_datapoint",range:e,documentation:{value:"\n\n*Syntax*\n\n check_datapoint( op , dpr { components listComp } { output }) "}},{label:"check_hierarchy ",kind:i,insertText:"check_hierarchy ",range:e,documentation:{value:"The check_hierarchy operator applies the Rules of the Ruleset hr to check the Code Items Relations between the Code Items present in op \n\n **Syntax** \n\n check_hierarchy ( op , hr { condition condComp { , condComp }* } { rule ruleComp } { mode } { input } { output } ) "}},{label:"computed",kind:o,insertText:"computed",range:e},{label:"non_null",kind:o,insertText:"non_null",range:e},{label:"non_zero",kind:o,insertText:"non_zero",range:e},{label:"partial_null",kind:o,insertText:"partial_null",range:e},{label:"partial_zero",kind:o,insertText:"partial_zero",range:e},{label:"always_null",kind:o,insertText:"always_null",range:e},{label:"always_zero",kind:o,insertText:"always_zero",range:e},{label:"components",kind:o,insertText:"components",range:e},{label:"all_measures",kind:o,insertText:"all_measures",range:e},{label:"scalar",kind:o,insertText:"scalar",range:e},{label:"component",kind:o,insertText:"component",range:e},{label:"datapoint_on_valuedomains",kind:o,insertText:"datapoint_on_valuedomains",range:e},{label:"datapoint_on_variables",kind:o,insertText:"datapoint_on_variables",range:e},{label:"hierarchical_on_valuedomains",kind:o,insertText:"hierarchical_on_valuedomains",range:e},{label:"hierarchical_on_variables",kind:o,insertText:"hierarchical_on_variables",range:e},{label:"set",kind:o,insertText:"set",range:e},{label:"language",kind:o,insertText:"language",range:e},{label:"defdatapoint",kind:l,insertText:["define datapoint ruleset ${0:name} (${1:signature}) is","\t$3","end datapoint ruleset"].join("\n"),insertTextRules:s,documentation:{value:["\tdefine datapoint ruleset ruleSetName (signature) is\n","\t\trule\n","\tend datapoint ruleset"].join("")}},{label:"defhierarchical",kind:l,insertText:["define hierarchical ruleset ${0:name} (${1:signature}) is","\t$3","end hierarchical ruleset"].join("\n"),insertTextRules:s,documentation:{value:["\tdefine hierarchical ruleset ruleSetName (signature) is\n","\t\t{rule}\n","\tend hierarchical ruleset"].join("")}},{label:"defoperator",kind:l,insertText:["define operator ${0:name} (${1:parameter})","returns ${2:returnType} is","","end operator"].join("\n"),insertTextRules:s,documentation:{value:["\tdefine operator operatorName (parameter)\n","\treturns {returnType} is\n","\t{operatorBody}\n","\tend operator"].join("")}}]},16861:(e,n,t)=>{t.d(n,{Z:()=>i});var a=t(44996),r=t(67294);const i=e=>{let{imgSas:n}=e;return r.createElement("div",{className:"container"},r.createElement("div",{className:"row"},r.createElement("div",{className:"col col--3"}),r.createElement("div",{className:"col col--6 centered-content"},r.createElement("h3",null,"Sas"),r.createElement("img",{src:(0,a.Z)(`/img/sas-vtl/${n}`),alt:"Img Sas"}))),r.createElement("h3",{className:"centered-content"},"VTL"))}},59866:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>p,contentTitle:()=>s,default:()=>g,frontMatter:()=>l,metadata:()=>d,toc:()=>u});var a=t(87462),r=(t(67294),t(3905)),i=t(16861),o=t(33168);const l={id:"drop",title:"Drop",sidebar_label:"Drop",slug:"/user-guide/vtl/sas-vtl/drop",custom_edit_url:null},s=void 0,d={unversionedId:"user-guide/vtl/sas-vtl/drop",id:"user-guide/vtl/sas-vtl/drop",title:"Drop",description:"",source:"@site/docs/user-guide/vtl/sas-vtl/drop.mdx",sourceDirName:"user-guide/vtl/sas-vtl",slug:"/user-guide/vtl/sas-vtl/drop",permalink:"/Trevas/user-guide/vtl/sas-vtl/drop",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1720593860,formattedLastUpdatedAt:"Jul 10, 2024",frontMatter:{id:"drop",title:"Drop",sidebar_label:"Drop",slug:"/user-guide/vtl/sas-vtl/drop",custom_edit_url:null},sidebar:"docs",previous:{title:"Keep",permalink:"/Trevas/user-guide/vtl/sas-vtl/keep"},next:{title:"Rename",permalink:"/Trevas/user-guide/vtl/sas-vtl/rename"}},p={},u=[],c={toc:u};function g(e){let{components:n,...t}=e;return(0,r.kt)("wrapper",(0,a.Z)({},c,t,{components:n,mdxType:"MDXLayout"}),(0,r.kt)(i.Z,{imgSas:"drop/sas.png",mdxType:"Sas"}),(0,r.kt)(o.Z,{script:"ds_out := ds_in [drop a, b, c];",mdxType:"Editor"}))}g.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/dd7c4970.9305aada.js b/assets/js/dd7c4970.03382266.js similarity index 99% rename from assets/js/dd7c4970.9305aada.js rename to assets/js/dd7c4970.03382266.js index d65b9049d..be1592385 100644 --- a/assets/js/dd7c4970.9305aada.js +++ b/assets/js/dd7c4970.03382266.js @@ -1 +1 @@ -"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[7214],{33168:(e,n,t)=>{t.d(n,{Z:()=>i});var a=t(67294),r=t(91262);const i=(0,a.memo)((e=>{const{script:n}=e;return a.createElement(r.Z,null,(()=>{const e=t(46182).AntlrEditor,r=t(49256),{monarchDefinition:i,getSuggestionsFromRange:o}=t(35875),l={...r,getSuggestionsFromRange:o,monarchDefinition:i};return a.createElement(e,{script:n,tools:l,height:"10vh",options:{minimap:{enabled:!1},lineNumbers:!1}})}))}))},35875:(e,n,t)=>{t.r(n),t.d(n,{getSuggestionsFromRange:()=>d,monarchDefinition:()=>a});const a=JSON.parse('{"defaultToken":"invalid","tokenPostfix":".vtl","keywords":[],"typeKeywords":[],"operators":[],"specials":[],"variables":[],"symbols":"_RGX_/[=>](?!@symbols)/","delimiter.bracket"],["_RGX_/@symbols/",{"cases":{"@operators":"operator","@specials":"operator.special","@default":""}}],["_RGX_/(@digits)[eE]([\\\\-+]?(@digits))?/","number.float"],["_RGX_/(@digits)\\\\.(@digits)([eE][\\\\-+]?(@digits))?/","number.float"],["_RGX_/0[xX](@hexdigits)/","number.hex"],["_RGX_/0[oO]?(@octaldigits)/","number.octal"],["_RGX_/0[bB](@binarydigits)/","number.binary"],["_RGX_/(@digits)/","number"],["_RGX_/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*$/","string.invalid"],["_RGX_/\'([^\'\\\\\\\\]|\\\\\\\\.)*$/","string.invalid"],["_RGX_/\\"/","string","@string_double"],["_RGX_/\'/","string","@string_single"],["_RGX_/`/","string","@string_backtick"]],"whitespace":[["_RGX_/[ \\\\t\\\\r\\\\n]+/",""],["_RGX_/\\\\/\\\\*\\\\*(?!\\\\/)/","comment.doc","@jsdoc"],["_RGX_/\\\\/\\\\*/","comment","@comment"],["_RGX_/\\\\/\\\\/.*$/","comment"]],"comment":[["_RGX_/[^\\\\/*]+/","comment"],["_RGX_/\\\\*\\\\//","comment","@pop"],["_RGX_/[\\\\/*]/","comment"]],"jsdoc":[["_RGX_/[^\\\\/*]+/","comment.doc"],["_RGX_/\\\\*\\\\//","comment.doc","@pop"],["_RGX_/[\\\\/*]/","comment.doc"]],"regexp":[["_RGX_/(\\\\{)(\\\\d+(?:,\\\\d*)?)(\\\\})/",["regexp.escape.control","regexp.escape.control","regexp.escape.control"]],["_RGX_/(\\\\[)(\\\\^?)(?=(?:[^\\\\]\\\\\\\\\\\\/]|\\\\\\\\.)+)/",["regexp.escape.control",{"token":"regexp.escape.control","next":"@regexrange"}]],["_RGX_/(\\\\()(\\\\?:|\\\\?=|\\\\?!)/",["regexp.escape.control","regexp.escape.control"]],["_RGX_/[()]/","regexp.escape.control"],["_RGX_/@regexpctl/","regexp.escape.control"],["_RGX_/[^\\\\\\\\\\\\/]/","regexp"],["_RGX_/@regexpesc/","regexp.escape"],["_RGX_/\\\\\\\\\\\\./","regexp.invalid"],["_RGX_/(\\\\/)([gimsuy]*)/",[{"token":"regexp","bracket":"@close","next":"@pop"},"keyword.other"]]],"regexrange":[["_RGX_/-/","regexp.escape.control"],["_RGX_/\\\\^/","regexp.invalid"],["_RGX_/@regexpesc/","regexp.escape"],["_RGX_/[^\\\\]]/","regexp"],["_RGX_/\\\\]/",{"token":"regexp.escape.control","next":"@pop","bracket":"@close"}]],"string_double":[["_RGX_/[^\\\\\\\\\\"]+/","string"],["_RGX_/@escapes/","string.escape"],["_RGX_/\\\\\\\\./","string.escape.invalid"],["_RGX_/\\"/","string","@pop"]],"string_single":[["_RGX_/[^\\\\\\\\\']+/","string"],["_RGX_/@escapes/","string.escape"],["_RGX_/\\\\\\\\./","string.escape.invalid"],["_RGX_/\'/","string","@pop"]],"string_backtick":[["_RGX_/\\\\$\\\\{/",{"token":"delimiter.bracket","next":"@bracketCounting"}],["_RGX_/[^\\\\\\\\`$]+/","string"],["_RGX_/@escapes/","string.escape"],["_RGX_/\\\\\\\\./","string.escape.invalid"],["_RGX_/`/","string","@pop"]],"bracketCounting":[["_RGX_/\\\\{/","delimiter.bracket","@bracketCounting"],["_RGX_/\\\\}/","delimiter.bracket","@pop"],{"include":"common"}]}}');var r=t(44878);const i=r.languages.CompletionItemKind.Function,o=(r.languages.CompletionItemKind.Variable,r.languages.CompletionItemKind.Keyword),l=r.languages.CompletionItemKind.Snippet,s=r.languages.CompletionItemInsertTextRule.InsertAsSnippet,d=e=>[{label:"eval",kind:i,insertText:"eval",range:e,documentation:{value:"The eval operator invokes an external, non-VTL routine, and returns its result as a Data Set or a scalar. \n\n **Syntax** \n\n eval(externalRoutineName({argument}{,argument}*) language languageName returns outputType)"}},{label:"if",kind:o,insertText:"if",range:e,documentation:{value:"Conditional operator \n\n **Syntax** \n\n if condition then thenOperand else elseOperand "}},{label:"then",kind:o,insertText:"then",range:e,documentation:{value:"Conditional operator \n\n **Syntax** \n\n if condition then thenOperand else elseOperand "}},{label:"else",kind:o,insertText:"else",range:e,documentation:{value:"Conditional operator \n\n **Syntax** \n\n if condition then thenOperand else elseOperand "}},{label:"using",kind:o,insertText:"using",range:e},{label:"with",kind:o,insertText:"with",range:e},{label:"current_date",kind:i,insertText:"current_date()",range:e,documentation:{value:"The operator current_date returns the current time as a date type. \n\n **Syntax** \n\n current_date() "}},{label:"on",kind:o,insertText:"on",range:e},{label:"drop",kind:o,insertText:"drop",range:e,documentation:{value:"The operator takes as input a Data Set (op) and some Component names of such a Data Set (comp). \n\n **Syntax** \n\n op [drop comp { , comp }* ] "}},{label:"keep",kind:o,insertText:"keep",range:e,documentation:{value:"The operator takes as input a Data Set (op) and some Component names of such a Data Set (comp). \n\n **Syntax** \n\n op [ keep comp {, comp }* ] "}},{label:"calc",kind:o,insertText:"calc",range:e,documentation:{value:"The operator calculates new Identifier, Measure or Attribute Components on the basis of sub-expressions at Component level. ***\n\n*Example*\n\n DS_1 [ calc Me_3 := Me_1 + Me_2] "}},{label:"attrcalc",kind:o,insertText:"attrcalc",range:e},{label:"rename",kind:o,insertText:"rename",range:e,documentation:{value:"The operator assigns new names to one or more Components (Identifier, Measure or Attribute Components). \n\n **Syntax** \n\n op [ rename comp_from to comp_to { , comp_from to comp_to}* ] "}},{label:"as",kind:o,insertText:"as",range:e},{label:"and",kind:o,insertText:"and",range:e,documentation:{value:"The and operator returns TRUE if both operands are TRUE, otherwise FALSE. The two operands must be of boolean type. \n\n **Syntax** \n\n op1 and op2 "}},{label:"or",kind:o,insertText:"or",range:e,documentation:{value:"The or operator returns TRUE if at least one of the operands is TRUE, otherwise FALSE. The two operands must be of boolean type. \n\n **Syntax** \n\n op1 or op2 "}},{label:"xor",kind:o,insertText:"xor",range:e,documentation:{value:"The xor operator returns TRUE if only one of the operand is TRUE (but not both), FALSE otherwise. The two operands must be of boolean type. \n\n **Syntax** \n\n op1 xor op2 "}},{label:"not",kind:o,insertText:"not",range:e,documentation:{value:"The not operator returns TRUE if op is FALSE, otherwise TRUE. The input operand must be of boolean type. \n\n **Syntax** \n\n not op2 "}},{label:"between",kind:i,insertText:"between",range:e,documentation:{value:"The operator returns TRUE if op is greater than or equal to from and lower than or equal to to. \n\n **Syntax** \n\n between (op, from, to) "}},{label:"levenshtein",kind:i,insertText:"levenshtein",range:e,documentation:{value:"The operator returns the levenshtein distance between the two inputed strings. \n\n **Syntax** \n\n levenshtein (left, right) "}},{label:"random",kind:i,insertText:"random",range:e,documentation:{value:"The operator returns a random decimal number >= 0 and <1. \n\n **Syntax** \n\n random()"}},{label:"in",kind:o,insertText:"in",range:e,documentation:{value:"The in operator returns TRUE if op belongs to the collection, FALSE otherwise. \n\n **Syntax** \n\n op in collection "}},{label:"not_in",kind:o,insertText:"not_in",range:e,documentation:{value:"The not_in operator returns FALSE if op belongs to the collection, TRUE otherwise. \n\n **Syntax** \n\n op not_in collection "}},{label:"isnull",kind:i,insertText:"isnull",range:e,documentation:{value:"The operator returns TRUE if the value of the operand is NULL, FALSE otherwise. \n\n **Syntax** \n\n isnull(op) "}},{label:"ex",kind:o,insertText:"ex",range:e},{label:"union",kind:i,insertText:"union",range:e,documentation:{value:"The union operator implements the union of functions (i.e., Data Sets). \n\n **Syntax** \n\n union ( ds { , ds }*) "}},{label:"diff",kind:o,insertText:"diff",range:e},{label:"symdiff",kind:i,insertText:"symdiff",range:e,documentation:{value:"The operator implements the symmetric set difference between functions (i.e. Data Sets), interpreting the Data Points of the input Data Sets as the elements in the operand Sets. \n\n **Syntax** \n\n symdiff(ds1, ds) "}},{label:"intersect",kind:i,insertText:"intersect",range:e,documentation:{value:"The intersect operator implements the intersection of functions (i.e., Data Sets). \n\n **Syntax** \n\n intersect ( ds { , ds }*) "}},{label:"keys",kind:o,insertText:"KEYS",range:e},{label:"check",kind:i,insertText:"check",range:e,documentation:{value:"*Syntax*\n\n check ( op { errorcode errorcode } { errorlevel errorlevel } { imbalance imbalance } { output } ) \n\noutput ::= invalid | all "}},{label:"exists_in",kind:i,insertText:"exists_in",range:e,documentation:{value:"The operator returns TRUE if the value of the operand is NULL, FALSE otherwise. \n\n **Syntax** \n\n exists_in ( op1, op2 { , retain } ) \n\n *retain* ::= true | false | all"}},{label:"to",kind:o,insertText:"to",range:e},{label:"return",kind:o,insertText:"return",range:e},{label:"imbalance",kind:o,insertText:"imbalance",range:e,documentation:{value:"Imbalance is a numeric mono-measure Data Set with the same Identifiers of op. If not specified then imbalance is NULL"}},{label:"errorcode",kind:o,insertText:"errorcode",range:e},{label:"all",kind:o,insertText:"all",range:e},{label:"aggr",kind:o,insertText:"aggr",range:e,documentation:{value:"The operator aggr calculates aggregations of dependent Components (Measures or Attributes) on the basis of sub-expressions at Component level. \n\n **Syntax** \n\n op [ aggr aggrClause { groupingClause } ] "}},{label:"errorlevel",kind:o,insertText:"errorlevel",range:e},{label:"order",kind:o,insertText:"order",range:e},{label:"by",kind:o,insertText:"by",range:e},{label:"rank",kind:i,insertText:"rank",range:e,documentation:{value:"Rank (order number) of a Data Point in an ordered set of Data Points. \n\n **Syntax** \n\n rank( firstOperand { , additionalOperand }* { groupingClause } \n\n rank( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"asc",kind:o,insertText:"asc",range:e},{label:"desc",kind:o,insertText:"desc",range:e},{label:"min",kind:i,insertText:"min",range:e,documentation:{value:"Minimum value of a set of values . \n\n **Syntax** \n\n min( firstOperand { , additionalOperand }* { groupingClause } \n\n min( firstOperand { , additionalOperand }* over ( analyticClause ) "}},{label:"max",kind:i,insertText:"max",range:e,documentation:{value:"Maximum value of a set of values . \n\n **Syntax** \n\n max( firstOperand { , additionalOperand }* { groupingClause } \n\n max( firstOperand { , additionalOperand }* over ( analyticClause ) "}},{label:"first",kind:o,insertText:"first",range:e},{label:"last",kind:o,insertText:"last",range:e},{label:"indexof",kind:o,insertText:"indexof",range:e},{label:"abs",kind:i,insertText:"abs",range:e,documentation:{value:"The operator abs calculates the absolute value of a number. \n\n For example:\n\n abs(-3.141) gives 3.141 \n\n **Syntax** \n\n abs(op) "}},{label:"key",kind:o,insertText:"key",range:e},{label:"ln",kind:i,insertText:"ln",range:e,documentation:{value:"The operator ln calculates the natural logarithm of a number. \n\n **Syntax** \n\n ln(op) "}},{label:"log",kind:i,insertText:"log",range:e,documentation:{value:"The operator log calculates the logarithm of num base op. \n\n **Syntax** \n\n log(op , num) "}},{label:"trunc",kind:i,insertText:"trunc",range:e,documentation:{value:"The operator trunc truncates the operand to a number of positions at the right of the decimal point equal to the numDigit parameter. \n\n **Syntax** \n\n trunc ( op , numDigit ) "}},{label:"round",kind:i,insertText:"round",range:e,documentation:{value:"The operator round rounds the operand to a number of positions at the right of the decimal point equal to the numDigit parameter. \n\n **Syntax** \n\n round( op , numDigit ) "}},{label:"power",kind:i,insertText:"power",range:e,documentation:{value:"The operator power raises a number (the base) to another one (the exponent). \n\n **Syntax** \n\n power(base , exponent) "}},{label:"mod",kind:i,insertText:"mod",range:e,documentation:{value:"The operator mod returns the remainder of op1 divided by op2. It returns op1 if divisor op2 is 0. \n\n **Syntax** \n\n mod(op1, op2 ) "}},{label:"length",kind:i,insertText:"length",range:e,documentation:{value:"Returns the length of a string. \n\n **Syntax** \n\n len( op ) "}},{label:"trim",kind:i,insertText:"trim",range:e,documentation:{value:'Removes trailing and leading whitespace from a string. For example, trim("Hello ") gives "Hello". \n\n **Syntax** \n\n trim(operand) '}},{label:"upper",kind:i,insertText:"upper",range:e,documentation:{value:'Converts the character case of a string in upper case. For example, upper("Hello") gives "HELLO". \n\n **Syntax** \n\n upper(operand) '}},{label:"lower",kind:i,insertText:"lower",range:e,documentation:{value:'Converts the character case of a string in lower case. For example, lower("Hello") gives "hello". \n\n **Syntax** \n\n lower(operand) '}},{label:"substr",kind:i,insertText:"substr",range:e,documentation:{value:"The operator extracts a substring from op, which must be string type. The substring starts from the start character of the input string and has a number of characters equal to the length parameter. \n\n **Syntax** \n\n substr ( op, start, length ) "}},{label:"sum",kind:i,insertText:"sum",range:e,documentation:{value:"Sum of a set of numbers. \n\n **Syntax** \n\n sun( firstOperand { , additionalOperand }* { groupingClause } "}},{label:"avg",kind:i,insertText:"avg",range:e,documentation:{value:"Average value of a set of numbers. \n\n **Syntax** \n\n avg( firstOperand { , additionalOperand }* { groupingClause } \n\n avg( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"median",kind:i,insertText:"median",range:e,documentation:{value:"Median value of a set of values . \n\n **Syntax** \n\n median( firstOperand { , additionalOperand }* { groupingClause } \n\n median( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"count",kind:i,insertText:"count",range:e,documentation:{value:"Number of Data Points. \n\n **Syntax** \n\n count( firstOperand { , additionalOperand }* { groupingClause } \n\n count( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"identifier",kind:o,insertText:"identifier",range:e},{label:"measure",kind:o,insertText:"measure",range:e},{label:"attribute",kind:o,insertText:"attribute",range:e},{label:"filter",kind:o,insertText:"filter",range:e,documentation:{value:"The operator takes as input a Data Set (op) and a boolean Component expression (filterCondition) and filters the input Data Points according to the evaluation of the condition. \n\n **Syntax** \n\n op[ filter filterCondition ] "}},{label:"merge",kind:o,insertText:"merge",range:e},{label:"exp",kind:i,insertText:"exp",range:e,documentation:{value:"The operator exp returns e (base of the natural logarithm) raised to the op-th power. \n\n **Syntax** \n\n exp(op) "}},{label:"componentRole",kind:o,insertText:"componentRole",range:e},{label:"viral",kind:o,insertText:"viral",range:e},{label:"match_characters",kind:i,insertText:"match_characters",range:e,documentation:{value:"match_characters returns TRUE if op matches the regular expression regexp, FALSE otherwise. \n\n **Syntax** \n\n match_characters ( op , pattern ) "}},{label:"type",kind:o,insertText:"type",range:e},{label:"nvl",kind:i,insertText:"nvl",range:e,documentation:{value:"The operator nvl returns op2 when op1 is null, otherwise op1. \n\n **Syntax** \n\n nvl ( op1 , op2 ) "}},{label:"hierarchy",kind:i,insertText:"hierarchy",range:e,documentation:{value:"The hierarchy operator applies the rules of hr to op as specified in the parameters. \n\n **Syntax** \n\n hierarchy( op , hr { condition condComp { , condComp }* } { rule ruleComp } { mode } { input } { output } ) "}},{label:"invalid",kind:o,insertText:"invalid",range:e},{label:"valuedomain",kind:o,insertText:"valuedomain",range:e},{label:"variable",kind:o,insertText:"variable",range:e},{label:"data",kind:o,insertText:"data",range:e},{label:"structure",kind:o,insertText:"structure",range:e},{label:"dataset",kind:o,insertText:"dataset",range:e},{label:"operator",kind:o,insertText:"operator",range:e},{label:"define",kind:o,insertText:"define",range:e},{label:"datapoint",kind:o,insertText:"datapoint",range:e},{label:"hierarchical",kind:o,insertText:"hierarchical",range:e},{label:"ruleset",kind:o,insertText:"ruleset",range:e},{label:"rule",kind:o,insertText:"rule",range:e},{label:"end",kind:o,insertText:"end",range:e},{label:"alterDataset",kind:o,insertText:"alterDataset",range:e},{label:"ltrim",kind:i,insertText:"ltrim",range:e,documentation:{value:'Removes leading whitespace from a string. For example, trim(" Hello ") gives "Hello ". \n\n **Syntax** \n\n ltrim(operand) '}},{label:"rtrim",kind:i,insertText:"rtrim",range:e,documentation:{value:'Removes trailing whitespace from a string. For example, trim("Hello ") gives "Hello". \n\n **Syntax** \n\n rtrim(operand) '}},{label:"instr",kind:i,insertText:"instr",range:e,documentation:{value:"The operator returns the position in the input string of a specified string (pattern). \n\n **Syntax** \n\n instr ( op, pattern, start, occurrence ) "}},{label:"replace",kind:i,insertText:"replace",range:e,documentation:{value:"Replaces all the occurrences of a specified string-pattern (pattern1) with another one (pattern2). If pattern2 is omitted then all occurrences of pattern1 are removed \n\n **Syntax** \n\n replace (op , pattern1, pattern2 ) "}},{label:"ceil",kind:i,insertText:"ceil",range:e,documentation:{value:"The operator ceil returns the smallest integer greater than or equal to op. \n\n For example:\n\n ceil(3.14159) gives 4 \n\n **Syntax** \n\n ceil(op) "}},{label:"floor",kind:i,insertText:"floor",range:e,documentation:{value:"The operator floor returns the greatest integer which is smaller than or equal to op. \n\n For example:\n\n floor(3.14159) gives 3 \n\n **Syntax** \n\n floor(op) "}},{label:"sqrt",kind:i,insertText:"sqrt",range:e,documentation:{value:"The operator sqrt calculates the square root of a number. \n\n **Syntax** \n\n sqrt(op) "}},{label:"any",kind:o,insertText:"any",range:e},{label:"setdiff",kind:i,insertText:"setdiff",range:e,documentation:{value:"The operator implements the set difference of functions (i.e. Data Sets), interpreting the Data Points of the input Data Sets as the elements belonging to the operand sets, the minuend and the subtrahend, respectively. \n\n **Syntax** \n\n setdiff(ds1, ds2) "}},{label:"stddev_pop",kind:i,insertText:"stddev_pop",range:e,documentation:{value:"Population standard deviation of a set of numbers. \n\n **Syntax** \n\n stddev_pop( firstOperand { , additionalOperand }* { groupingClause } \n\n stddev_pop( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"stddev_samp",kind:i,insertText:"stddev_samp",range:e,documentation:{value:"Sample standard deviation of a set of numbers. \n\n **Syntax** \n\n stddev_samp( firstOperand { , additionalOperand }* { groupingClause } \n\n stddev_samp( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"var_pop",kind:i,insertText:"var_pop",range:e,documentation:{value:"Population variance of a set of numbers. \n\n **Syntax** \n\n var_pop( firstOperand { , additionalOperand }* { groupingClause } \n\n var_pop( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"var_samp",kind:i,insertText:"var_samp",range:e,documentation:{value:"Sample variance of a set of numbers. \n\n **Syntax** \n\n var_samp( firstOperand { , additionalOperand }* { groupingClause } \n\n var_samp( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"group",kind:o,insertText:"group",range:e},{label:"except",kind:o,insertText:"except",range:e},{label:"having",kind:o,insertText:"having",range:e},{label:"first_value",kind:i,insertText:"first_value",range:e,documentation:{value:"First value in an ordered set of values . \n\n **Syntax** \n\n first_value( firstOperand { , additionalOperand }* { groupingClause } \n\n first_value( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"last_value",kind:i,insertText:"last_value",range:e,documentation:{value:"Last value in an ordered set of values. \n\n **Syntax** \n\n last_value( firstOperand { , additionalOperand }* { groupingClause } \n\n last_value( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"lag",kind:i,insertText:"lag",range:e,documentation:{value:"In an ordered set of Data Points, it returns the value(s) taken from a Data Point at a given physical offset prior to the current Data Point. \n\n **Syntax** \n\n lag( firstOperand { , additionalOperand }* { groupingClause } \n\n lag( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"lead",kind:i,insertText:"lead",range:e,documentation:{value:"In an ordered set of Data Points, it returns the value(s) taken from a Data Point at a given physical offset beyond the current Data Point . \n\n **Syntax** \n\n lead( firstOperand { , additionalOperand }* { groupingClause } \n\n lead( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"ratio_to_report",kind:i,insertText:"ratio_to_report",range:e,documentation:{value:"In an ordered set of Data Points, it returns the value(s) taken from a Data Point at a given physical offset beyond the current Data Point . \n\n **Syntax** \n\n ratio_to_report( firstOperand { , additionalOperand }* { groupingClause } \n\n ratio_to_report( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"over",kind:o,insertText:"over",range:e},{label:"preceding",kind:o,insertText:"preceding",range:e},{label:"following",kind:o,insertText:"following",range:e},{label:"unbounded",kind:o,insertText:"unbounded",range:e},{label:"partition",kind:o,insertText:"partition",range:e},{label:"rows",kind:o,insertText:"rows",range:e},{label:"range",kind:o,insertText:"range",range:e},{label:"current",kind:o,insertText:"current",range:e},{label:"valid",kind:o,insertText:"valid",range:e},{label:"fill_time_series",kind:i,insertText:"fill_time_series",range:e,documentation:{value:"The operator fills the possibly missing Data Points of all the time series belonging to the operand op within the time limits automatically determined by applying the limit_method. \n\n **Syntax** \n\n fill_time_series( op { , limitsMethod}) \n\n *limitsMethod* ::= single | all"}},{label:"flow_to_stock",kind:i,insertText:"flow_to_stock",range:e,documentation:{value:"This operator takes in input a Data Set which are interpreted as flows and calculates the change of the corresponding stock since the beginning of each time series by summing the relevant flows. In other words, the operator perform the cumulative sum from the first Data Point of each time series to each other following Data Point of the same time series. \n\n **Syntax** \n\n flow_to_stock( op ) "}},{label:"stock_to_flow",kind:i,insertText:"stock_to_flow",range:e,documentation:{value:"This operator takes in input a Data Set of time series which is interpreted as stock data and, for each time series, calculates the corresponding flow data by subtracting from the measure values of each regular period the corresponding measure values of the previous one. \n\n **Syntax** \n\n stock_to_flow( op ) "}},{label:"timeshift",kind:i,insertText:"timeshift",range:e,documentation:{value:"This operator takes in input a Data Set of time series and, for each time series of the Data Set, shifts the reference time Identifier of a number of periods (of the time series) equal to the shift_number parameter. If shift_number is negative, the shift is in the past, otherwise in the future \n\n **Syntax** \n\n timeshift( op , shiftNumber) "}},{label:"measures",kind:o,insertText:"measures",range:e},{label:"no_measures",kind:o,insertText:"no_measures",range:e},{label:"condition",kind:o,insertText:"condition",range:e},{label:"boolean",kind:o,insertText:"boolean",range:e},{label:"date",kind:o,insertText:"date",range:e},{label:"time_period",kind:o,insertText:"time_period",range:e},{label:"number",kind:o,insertText:"number",range:e},{label:"string",kind:o,insertText:"string",range:e},{label:"integer",kind:o,insertText:"integer",range:e},{label:"float",kind:o,insertText:"float",range:e},{label:"list",kind:o,insertText:"list",range:e},{label:"record",kind:o,insertText:"record",range:e},{label:"restrict",kind:o,insertText:"restrict",range:e},{label:"maxLength",kind:o,insertText:"maxLength",range:e},{label:"regexp",kind:o,insertText:"regexp",range:e},{label:"is",kind:o,insertText:"is",range:e},{label:"when",kind:o,insertText:"when",range:e},{label:"from",kind:o,insertText:"from",range:e},{label:"aggregates",kind:o,insertText:"aggregates",range:e},{label:"points",kind:o,insertText:"points",range:e},{label:"point",kind:o,insertText:"point",range:e},{label:"total",kind:o,insertText:"total",range:e},{label:"partial",kind:o,insertText:"partial",range:e},{label:"always",kind:o,insertText:"always",range:e},{label:"inner_join",kind:i,insertText:"inner_join",range:e,documentation:{value:"Join operator, a relational join of the input operands is performed, according to SQL inner"}},{label:"left_join",kind:i,insertText:"left_join",range:e,documentation:{value:"Join operator, this is the left-most Data Set (left-outer sql)"}},{label:"cross_join",kind:i,insertText:"cross_join",range:e,documentation:{value:"Join operator, Cartesian product"}},{label:"full_join",kind:i,insertText:"full_join",range:e,documentation:{value:"Join operator, full outer (sql)"}},{label:"maps_from",kind:o,insertText:"maps_from",range:e},{label:"maps_to",kind:o,insertText:"maps_to",range:e},{label:"map_to",kind:o,insertText:"map_to",range:e},{label:"map_from",kind:o,insertText:"map_from",range:e},{label:"returns",kind:o,insertText:"returns",range:e},{label:"pivot",kind:o,insertText:"pivot",range:e,documentation:{value:"The operator transposes several Data Points of the operand Data Set into a single Data Point of the resulting Data Set. \n\n **Syntax** \n\n op [ pivot identifier , measure ] "}},{label:"customPivot",kind:o,insertText:"customPivot",range:e},{label:"unpivot",kind:o,insertText:"unpivot",range:e,documentation:{value:"The unpivot operator transposes a single Data Point of the operand Data Set into several Data Points of the result Data set. \n\n **Syntax** \n\n op [ unpivot identifier , measure ] "}},{label:"sub",kind:o,insertText:"sub",range:e,documentation:{value:"The operator returns a Data Set in a subspace of the one of the input Dataset. \n\n **Syntax** \n\n op [ sub identifier = value { , identifier = value }* ] "}},{label:"apply",kind:o,insertText:"apply",range:e},{label:"conditioned",kind:o,insertText:"conditioned",range:e},{label:"period_indicator",kind:i,insertText:"period_indicator ",range:e,documentation:{value:"period_indicator returns the period indicator of a time_period value. The period indicator is the part of the time_period value which denotes the duration of the time period (e.g. day, week, month \u2026). \n\n **Syntax** \n\n period_indicator(op) "}},{label:"single",kind:o,insertText:"single",range:e},{label:"duration",kind:o,insertText:"duration",range:e},{label:"time_agg",kind:i,insertText:"time_agg",range:e,documentation:{value:"The operator converts a time, date or time_period value from a smaller to a larger duration. \n\n **Syntax** \n\n time_agg(periodIndTo { ,periodIndFrom } { ,op } { ,first | last }) "}},{label:"unit",kind:o,insertText:"unit",range:e},{label:"value",kind:o,insertText:"value",range:e},{label:"valuedomains",kind:o,insertText:"valuedomains",range:e},{label:"variables",kind:o,insertText:"variables",range:e},{label:"input",kind:o,insertText:"input",range:e},{label:"output",kind:o,insertText:"output",range:e},{label:"cast",kind:i,insertText:"cast",range:e,documentation:{value:"This operator converts the scalar type of op to the scalar type specified by scalarType. It returns a copy of op converted to the specified scalarType. \n\n **Syntax** \n\n cast ( op , scalarType { , mask} ) "}},{label:"rule_priority",kind:o,insertText:"rule_priority",range:e},{label:"dataset_priority",kind:o,insertText:"dataset_priority",range:e},{label:"default",kind:o,insertText:"default",range:e},{label:"check_datapoint",kind:i,insertText:"check_datapoint",range:e,documentation:{value:"\n\n*Syntax*\n\n check_datapoint( op , dpr { components listComp } { output }) "}},{label:"check_hierarchy ",kind:i,insertText:"check_hierarchy ",range:e,documentation:{value:"The check_hierarchy operator applies the Rules of the Ruleset hr to check the Code Items Relations between the Code Items present in op \n\n **Syntax** \n\n check_hierarchy ( op , hr { condition condComp { , condComp }* } { rule ruleComp } { mode } { input } { output } ) "}},{label:"computed",kind:o,insertText:"computed",range:e},{label:"non_null",kind:o,insertText:"non_null",range:e},{label:"non_zero",kind:o,insertText:"non_zero",range:e},{label:"partial_null",kind:o,insertText:"partial_null",range:e},{label:"partial_zero",kind:o,insertText:"partial_zero",range:e},{label:"always_null",kind:o,insertText:"always_null",range:e},{label:"always_zero",kind:o,insertText:"always_zero",range:e},{label:"components",kind:o,insertText:"components",range:e},{label:"all_measures",kind:o,insertText:"all_measures",range:e},{label:"scalar",kind:o,insertText:"scalar",range:e},{label:"component",kind:o,insertText:"component",range:e},{label:"datapoint_on_valuedomains",kind:o,insertText:"datapoint_on_valuedomains",range:e},{label:"datapoint_on_variables",kind:o,insertText:"datapoint_on_variables",range:e},{label:"hierarchical_on_valuedomains",kind:o,insertText:"hierarchical_on_valuedomains",range:e},{label:"hierarchical_on_variables",kind:o,insertText:"hierarchical_on_variables",range:e},{label:"set",kind:o,insertText:"set",range:e},{label:"language",kind:o,insertText:"language",range:e},{label:"defdatapoint",kind:l,insertText:["define datapoint ruleset ${0:name} (${1:signature}) is","\t$3","end datapoint ruleset"].join("\n"),insertTextRules:s,documentation:{value:["\tdefine datapoint ruleset ruleSetName (signature) is\n","\t\trule\n","\tend datapoint ruleset"].join("")}},{label:"defhierarchical",kind:l,insertText:["define hierarchical ruleset ${0:name} (${1:signature}) is","\t$3","end hierarchical ruleset"].join("\n"),insertTextRules:s,documentation:{value:["\tdefine hierarchical ruleset ruleSetName (signature) is\n","\t\t{rule}\n","\tend hierarchical ruleset"].join("")}},{label:"defoperator",kind:l,insertText:["define operator ${0:name} (${1:parameter})","returns ${2:returnType} is","","end operator"].join("\n"),insertTextRules:s,documentation:{value:["\tdefine operator operatorName (parameter)\n","\treturns {returnType} is\n","\t{operatorBody}\n","\tend operator"].join("")}}]},16861:(e,n,t)=>{t.d(n,{Z:()=>i});var a=t(44996),r=t(67294);const i=e=>{let{imgSas:n}=e;return r.createElement("div",{className:"container"},r.createElement("div",{className:"row"},r.createElement("div",{className:"col col--3"}),r.createElement("div",{className:"col col--6 centered-content"},r.createElement("h3",null,"Sas"),r.createElement("img",{src:(0,a.Z)(`/img/sas-vtl/${n}`),alt:"Img Sas"}))),r.createElement("h3",{className:"centered-content"},"VTL"))}},92670:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>p,contentTitle:()=>s,default:()=>g,frontMatter:()=>l,metadata:()=>d,toc:()=>u});var a=t(87462),r=(t(67294),t(3905)),i=t(16861),o=t(33168);const l={id:"keep",title:"Keep",sidebar_label:"Keep",slug:"/user-guide/vtl/sas-vtl/keep",custom_edit_url:null},s=void 0,d={unversionedId:"user-guide/vtl/sas-vtl/keep",id:"user-guide/vtl/sas-vtl/keep",title:"Keep",description:"",source:"@site/docs/user-guide/vtl/sas-vtl/keep.mdx",sourceDirName:"user-guide/vtl/sas-vtl",slug:"/user-guide/vtl/sas-vtl/keep",permalink:"/Trevas/user-guide/vtl/sas-vtl/keep",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1719441741,formattedLastUpdatedAt:"Jun 26, 2024",frontMatter:{id:"keep",title:"Keep",sidebar_label:"Keep",slug:"/user-guide/vtl/sas-vtl/keep",custom_edit_url:null},sidebar:"docs",previous:{title:"Overview",permalink:"/Trevas/user-guide/vtl/sas-vtl"},next:{title:"Drop",permalink:"/Trevas/user-guide/vtl/sas-vtl/drop"}},p={},u=[],c={toc:u};function g(e){let{components:n,...t}=e;return(0,r.kt)("wrapper",(0,a.Z)({},c,t,{components:n,mdxType:"MDXLayout"}),(0,r.kt)(i.Z,{imgSas:"keep/sas.png",mdxType:"Sas"}),(0,r.kt)(o.Z,{script:"ds_out := ds_in [keep a, b, c];",mdxType:"Editor"}))}g.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[7214],{33168:(e,n,t)=>{t.d(n,{Z:()=>i});var a=t(67294),r=t(91262);const i=(0,a.memo)((e=>{const{script:n}=e;return a.createElement(r.Z,null,(()=>{const e=t(46182).AntlrEditor,r=t(49256),{monarchDefinition:i,getSuggestionsFromRange:o}=t(35875),l={...r,getSuggestionsFromRange:o,monarchDefinition:i};return a.createElement(e,{script:n,tools:l,height:"10vh",options:{minimap:{enabled:!1},lineNumbers:!1}})}))}))},35875:(e,n,t)=>{t.r(n),t.d(n,{getSuggestionsFromRange:()=>d,monarchDefinition:()=>a});const a=JSON.parse('{"defaultToken":"invalid","tokenPostfix":".vtl","keywords":[],"typeKeywords":[],"operators":[],"specials":[],"variables":[],"symbols":"_RGX_/[=>](?!@symbols)/","delimiter.bracket"],["_RGX_/@symbols/",{"cases":{"@operators":"operator","@specials":"operator.special","@default":""}}],["_RGX_/(@digits)[eE]([\\\\-+]?(@digits))?/","number.float"],["_RGX_/(@digits)\\\\.(@digits)([eE][\\\\-+]?(@digits))?/","number.float"],["_RGX_/0[xX](@hexdigits)/","number.hex"],["_RGX_/0[oO]?(@octaldigits)/","number.octal"],["_RGX_/0[bB](@binarydigits)/","number.binary"],["_RGX_/(@digits)/","number"],["_RGX_/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*$/","string.invalid"],["_RGX_/\'([^\'\\\\\\\\]|\\\\\\\\.)*$/","string.invalid"],["_RGX_/\\"/","string","@string_double"],["_RGX_/\'/","string","@string_single"],["_RGX_/`/","string","@string_backtick"]],"whitespace":[["_RGX_/[ \\\\t\\\\r\\\\n]+/",""],["_RGX_/\\\\/\\\\*\\\\*(?!\\\\/)/","comment.doc","@jsdoc"],["_RGX_/\\\\/\\\\*/","comment","@comment"],["_RGX_/\\\\/\\\\/.*$/","comment"]],"comment":[["_RGX_/[^\\\\/*]+/","comment"],["_RGX_/\\\\*\\\\//","comment","@pop"],["_RGX_/[\\\\/*]/","comment"]],"jsdoc":[["_RGX_/[^\\\\/*]+/","comment.doc"],["_RGX_/\\\\*\\\\//","comment.doc","@pop"],["_RGX_/[\\\\/*]/","comment.doc"]],"regexp":[["_RGX_/(\\\\{)(\\\\d+(?:,\\\\d*)?)(\\\\})/",["regexp.escape.control","regexp.escape.control","regexp.escape.control"]],["_RGX_/(\\\\[)(\\\\^?)(?=(?:[^\\\\]\\\\\\\\\\\\/]|\\\\\\\\.)+)/",["regexp.escape.control",{"token":"regexp.escape.control","next":"@regexrange"}]],["_RGX_/(\\\\()(\\\\?:|\\\\?=|\\\\?!)/",["regexp.escape.control","regexp.escape.control"]],["_RGX_/[()]/","regexp.escape.control"],["_RGX_/@regexpctl/","regexp.escape.control"],["_RGX_/[^\\\\\\\\\\\\/]/","regexp"],["_RGX_/@regexpesc/","regexp.escape"],["_RGX_/\\\\\\\\\\\\./","regexp.invalid"],["_RGX_/(\\\\/)([gimsuy]*)/",[{"token":"regexp","bracket":"@close","next":"@pop"},"keyword.other"]]],"regexrange":[["_RGX_/-/","regexp.escape.control"],["_RGX_/\\\\^/","regexp.invalid"],["_RGX_/@regexpesc/","regexp.escape"],["_RGX_/[^\\\\]]/","regexp"],["_RGX_/\\\\]/",{"token":"regexp.escape.control","next":"@pop","bracket":"@close"}]],"string_double":[["_RGX_/[^\\\\\\\\\\"]+/","string"],["_RGX_/@escapes/","string.escape"],["_RGX_/\\\\\\\\./","string.escape.invalid"],["_RGX_/\\"/","string","@pop"]],"string_single":[["_RGX_/[^\\\\\\\\\']+/","string"],["_RGX_/@escapes/","string.escape"],["_RGX_/\\\\\\\\./","string.escape.invalid"],["_RGX_/\'/","string","@pop"]],"string_backtick":[["_RGX_/\\\\$\\\\{/",{"token":"delimiter.bracket","next":"@bracketCounting"}],["_RGX_/[^\\\\\\\\`$]+/","string"],["_RGX_/@escapes/","string.escape"],["_RGX_/\\\\\\\\./","string.escape.invalid"],["_RGX_/`/","string","@pop"]],"bracketCounting":[["_RGX_/\\\\{/","delimiter.bracket","@bracketCounting"],["_RGX_/\\\\}/","delimiter.bracket","@pop"],{"include":"common"}]}}');var r=t(44878);const i=r.languages.CompletionItemKind.Function,o=(r.languages.CompletionItemKind.Variable,r.languages.CompletionItemKind.Keyword),l=r.languages.CompletionItemKind.Snippet,s=r.languages.CompletionItemInsertTextRule.InsertAsSnippet,d=e=>[{label:"eval",kind:i,insertText:"eval",range:e,documentation:{value:"The eval operator invokes an external, non-VTL routine, and returns its result as a Data Set or a scalar. \n\n **Syntax** \n\n eval(externalRoutineName({argument}{,argument}*) language languageName returns outputType)"}},{label:"if",kind:o,insertText:"if",range:e,documentation:{value:"Conditional operator \n\n **Syntax** \n\n if condition then thenOperand else elseOperand "}},{label:"then",kind:o,insertText:"then",range:e,documentation:{value:"Conditional operator \n\n **Syntax** \n\n if condition then thenOperand else elseOperand "}},{label:"else",kind:o,insertText:"else",range:e,documentation:{value:"Conditional operator \n\n **Syntax** \n\n if condition then thenOperand else elseOperand "}},{label:"using",kind:o,insertText:"using",range:e},{label:"with",kind:o,insertText:"with",range:e},{label:"current_date",kind:i,insertText:"current_date()",range:e,documentation:{value:"The operator current_date returns the current time as a date type. \n\n **Syntax** \n\n current_date() "}},{label:"on",kind:o,insertText:"on",range:e},{label:"drop",kind:o,insertText:"drop",range:e,documentation:{value:"The operator takes as input a Data Set (op) and some Component names of such a Data Set (comp). \n\n **Syntax** \n\n op [drop comp { , comp }* ] "}},{label:"keep",kind:o,insertText:"keep",range:e,documentation:{value:"The operator takes as input a Data Set (op) and some Component names of such a Data Set (comp). \n\n **Syntax** \n\n op [ keep comp {, comp }* ] "}},{label:"calc",kind:o,insertText:"calc",range:e,documentation:{value:"The operator calculates new Identifier, Measure or Attribute Components on the basis of sub-expressions at Component level. ***\n\n*Example*\n\n DS_1 [ calc Me_3 := Me_1 + Me_2] "}},{label:"attrcalc",kind:o,insertText:"attrcalc",range:e},{label:"rename",kind:o,insertText:"rename",range:e,documentation:{value:"The operator assigns new names to one or more Components (Identifier, Measure or Attribute Components). \n\n **Syntax** \n\n op [ rename comp_from to comp_to { , comp_from to comp_to}* ] "}},{label:"as",kind:o,insertText:"as",range:e},{label:"and",kind:o,insertText:"and",range:e,documentation:{value:"The and operator returns TRUE if both operands are TRUE, otherwise FALSE. The two operands must be of boolean type. \n\n **Syntax** \n\n op1 and op2 "}},{label:"or",kind:o,insertText:"or",range:e,documentation:{value:"The or operator returns TRUE if at least one of the operands is TRUE, otherwise FALSE. The two operands must be of boolean type. \n\n **Syntax** \n\n op1 or op2 "}},{label:"xor",kind:o,insertText:"xor",range:e,documentation:{value:"The xor operator returns TRUE if only one of the operand is TRUE (but not both), FALSE otherwise. The two operands must be of boolean type. \n\n **Syntax** \n\n op1 xor op2 "}},{label:"not",kind:o,insertText:"not",range:e,documentation:{value:"The not operator returns TRUE if op is FALSE, otherwise TRUE. The input operand must be of boolean type. \n\n **Syntax** \n\n not op2 "}},{label:"between",kind:i,insertText:"between",range:e,documentation:{value:"The operator returns TRUE if op is greater than or equal to from and lower than or equal to to. \n\n **Syntax** \n\n between (op, from, to) "}},{label:"levenshtein",kind:i,insertText:"levenshtein",range:e,documentation:{value:"The operator returns the levenshtein distance between the two inputed strings. \n\n **Syntax** \n\n levenshtein (left, right) "}},{label:"random",kind:i,insertText:"random",range:e,documentation:{value:"The operator returns a random decimal number >= 0 and <1. \n\n **Syntax** \n\n random()"}},{label:"in",kind:o,insertText:"in",range:e,documentation:{value:"The in operator returns TRUE if op belongs to the collection, FALSE otherwise. \n\n **Syntax** \n\n op in collection "}},{label:"not_in",kind:o,insertText:"not_in",range:e,documentation:{value:"The not_in operator returns FALSE if op belongs to the collection, TRUE otherwise. \n\n **Syntax** \n\n op not_in collection "}},{label:"isnull",kind:i,insertText:"isnull",range:e,documentation:{value:"The operator returns TRUE if the value of the operand is NULL, FALSE otherwise. \n\n **Syntax** \n\n isnull(op) "}},{label:"ex",kind:o,insertText:"ex",range:e},{label:"union",kind:i,insertText:"union",range:e,documentation:{value:"The union operator implements the union of functions (i.e., Data Sets). \n\n **Syntax** \n\n union ( ds { , ds }*) "}},{label:"diff",kind:o,insertText:"diff",range:e},{label:"symdiff",kind:i,insertText:"symdiff",range:e,documentation:{value:"The operator implements the symmetric set difference between functions (i.e. Data Sets), interpreting the Data Points of the input Data Sets as the elements in the operand Sets. \n\n **Syntax** \n\n symdiff(ds1, ds) "}},{label:"intersect",kind:i,insertText:"intersect",range:e,documentation:{value:"The intersect operator implements the intersection of functions (i.e., Data Sets). \n\n **Syntax** \n\n intersect ( ds { , ds }*) "}},{label:"keys",kind:o,insertText:"KEYS",range:e},{label:"check",kind:i,insertText:"check",range:e,documentation:{value:"*Syntax*\n\n check ( op { errorcode errorcode } { errorlevel errorlevel } { imbalance imbalance } { output } ) \n\noutput ::= invalid | all "}},{label:"exists_in",kind:i,insertText:"exists_in",range:e,documentation:{value:"The operator returns TRUE if the value of the operand is NULL, FALSE otherwise. \n\n **Syntax** \n\n exists_in ( op1, op2 { , retain } ) \n\n *retain* ::= true | false | all"}},{label:"to",kind:o,insertText:"to",range:e},{label:"return",kind:o,insertText:"return",range:e},{label:"imbalance",kind:o,insertText:"imbalance",range:e,documentation:{value:"Imbalance is a numeric mono-measure Data Set with the same Identifiers of op. If not specified then imbalance is NULL"}},{label:"errorcode",kind:o,insertText:"errorcode",range:e},{label:"all",kind:o,insertText:"all",range:e},{label:"aggr",kind:o,insertText:"aggr",range:e,documentation:{value:"The operator aggr calculates aggregations of dependent Components (Measures or Attributes) on the basis of sub-expressions at Component level. \n\n **Syntax** \n\n op [ aggr aggrClause { groupingClause } ] "}},{label:"errorlevel",kind:o,insertText:"errorlevel",range:e},{label:"order",kind:o,insertText:"order",range:e},{label:"by",kind:o,insertText:"by",range:e},{label:"rank",kind:i,insertText:"rank",range:e,documentation:{value:"Rank (order number) of a Data Point in an ordered set of Data Points. \n\n **Syntax** \n\n rank( firstOperand { , additionalOperand }* { groupingClause } \n\n rank( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"asc",kind:o,insertText:"asc",range:e},{label:"desc",kind:o,insertText:"desc",range:e},{label:"min",kind:i,insertText:"min",range:e,documentation:{value:"Minimum value of a set of values . \n\n **Syntax** \n\n min( firstOperand { , additionalOperand }* { groupingClause } \n\n min( firstOperand { , additionalOperand }* over ( analyticClause ) "}},{label:"max",kind:i,insertText:"max",range:e,documentation:{value:"Maximum value of a set of values . \n\n **Syntax** \n\n max( firstOperand { , additionalOperand }* { groupingClause } \n\n max( firstOperand { , additionalOperand }* over ( analyticClause ) "}},{label:"first",kind:o,insertText:"first",range:e},{label:"last",kind:o,insertText:"last",range:e},{label:"indexof",kind:o,insertText:"indexof",range:e},{label:"abs",kind:i,insertText:"abs",range:e,documentation:{value:"The operator abs calculates the absolute value of a number. \n\n For example:\n\n abs(-3.141) gives 3.141 \n\n **Syntax** \n\n abs(op) "}},{label:"key",kind:o,insertText:"key",range:e},{label:"ln",kind:i,insertText:"ln",range:e,documentation:{value:"The operator ln calculates the natural logarithm of a number. \n\n **Syntax** \n\n ln(op) "}},{label:"log",kind:i,insertText:"log",range:e,documentation:{value:"The operator log calculates the logarithm of num base op. \n\n **Syntax** \n\n log(op , num) "}},{label:"trunc",kind:i,insertText:"trunc",range:e,documentation:{value:"The operator trunc truncates the operand to a number of positions at the right of the decimal point equal to the numDigit parameter. \n\n **Syntax** \n\n trunc ( op , numDigit ) "}},{label:"round",kind:i,insertText:"round",range:e,documentation:{value:"The operator round rounds the operand to a number of positions at the right of the decimal point equal to the numDigit parameter. \n\n **Syntax** \n\n round( op , numDigit ) "}},{label:"power",kind:i,insertText:"power",range:e,documentation:{value:"The operator power raises a number (the base) to another one (the exponent). \n\n **Syntax** \n\n power(base , exponent) "}},{label:"mod",kind:i,insertText:"mod",range:e,documentation:{value:"The operator mod returns the remainder of op1 divided by op2. It returns op1 if divisor op2 is 0. \n\n **Syntax** \n\n mod(op1, op2 ) "}},{label:"length",kind:i,insertText:"length",range:e,documentation:{value:"Returns the length of a string. \n\n **Syntax** \n\n len( op ) "}},{label:"trim",kind:i,insertText:"trim",range:e,documentation:{value:'Removes trailing and leading whitespace from a string. For example, trim("Hello ") gives "Hello". \n\n **Syntax** \n\n trim(operand) '}},{label:"upper",kind:i,insertText:"upper",range:e,documentation:{value:'Converts the character case of a string in upper case. For example, upper("Hello") gives "HELLO". \n\n **Syntax** \n\n upper(operand) '}},{label:"lower",kind:i,insertText:"lower",range:e,documentation:{value:'Converts the character case of a string in lower case. For example, lower("Hello") gives "hello". \n\n **Syntax** \n\n lower(operand) '}},{label:"substr",kind:i,insertText:"substr",range:e,documentation:{value:"The operator extracts a substring from op, which must be string type. The substring starts from the start character of the input string and has a number of characters equal to the length parameter. \n\n **Syntax** \n\n substr ( op, start, length ) "}},{label:"sum",kind:i,insertText:"sum",range:e,documentation:{value:"Sum of a set of numbers. \n\n **Syntax** \n\n sun( firstOperand { , additionalOperand }* { groupingClause } "}},{label:"avg",kind:i,insertText:"avg",range:e,documentation:{value:"Average value of a set of numbers. \n\n **Syntax** \n\n avg( firstOperand { , additionalOperand }* { groupingClause } \n\n avg( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"median",kind:i,insertText:"median",range:e,documentation:{value:"Median value of a set of values . \n\n **Syntax** \n\n median( firstOperand { , additionalOperand }* { groupingClause } \n\n median( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"count",kind:i,insertText:"count",range:e,documentation:{value:"Number of Data Points. \n\n **Syntax** \n\n count( firstOperand { , additionalOperand }* { groupingClause } \n\n count( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"identifier",kind:o,insertText:"identifier",range:e},{label:"measure",kind:o,insertText:"measure",range:e},{label:"attribute",kind:o,insertText:"attribute",range:e},{label:"filter",kind:o,insertText:"filter",range:e,documentation:{value:"The operator takes as input a Data Set (op) and a boolean Component expression (filterCondition) and filters the input Data Points according to the evaluation of the condition. \n\n **Syntax** \n\n op[ filter filterCondition ] "}},{label:"merge",kind:o,insertText:"merge",range:e},{label:"exp",kind:i,insertText:"exp",range:e,documentation:{value:"The operator exp returns e (base of the natural logarithm) raised to the op-th power. \n\n **Syntax** \n\n exp(op) "}},{label:"componentRole",kind:o,insertText:"componentRole",range:e},{label:"viral",kind:o,insertText:"viral",range:e},{label:"match_characters",kind:i,insertText:"match_characters",range:e,documentation:{value:"match_characters returns TRUE if op matches the regular expression regexp, FALSE otherwise. \n\n **Syntax** \n\n match_characters ( op , pattern ) "}},{label:"type",kind:o,insertText:"type",range:e},{label:"nvl",kind:i,insertText:"nvl",range:e,documentation:{value:"The operator nvl returns op2 when op1 is null, otherwise op1. \n\n **Syntax** \n\n nvl ( op1 , op2 ) "}},{label:"hierarchy",kind:i,insertText:"hierarchy",range:e,documentation:{value:"The hierarchy operator applies the rules of hr to op as specified in the parameters. \n\n **Syntax** \n\n hierarchy( op , hr { condition condComp { , condComp }* } { rule ruleComp } { mode } { input } { output } ) "}},{label:"invalid",kind:o,insertText:"invalid",range:e},{label:"valuedomain",kind:o,insertText:"valuedomain",range:e},{label:"variable",kind:o,insertText:"variable",range:e},{label:"data",kind:o,insertText:"data",range:e},{label:"structure",kind:o,insertText:"structure",range:e},{label:"dataset",kind:o,insertText:"dataset",range:e},{label:"operator",kind:o,insertText:"operator",range:e},{label:"define",kind:o,insertText:"define",range:e},{label:"datapoint",kind:o,insertText:"datapoint",range:e},{label:"hierarchical",kind:o,insertText:"hierarchical",range:e},{label:"ruleset",kind:o,insertText:"ruleset",range:e},{label:"rule",kind:o,insertText:"rule",range:e},{label:"end",kind:o,insertText:"end",range:e},{label:"alterDataset",kind:o,insertText:"alterDataset",range:e},{label:"ltrim",kind:i,insertText:"ltrim",range:e,documentation:{value:'Removes leading whitespace from a string. For example, trim(" Hello ") gives "Hello ". \n\n **Syntax** \n\n ltrim(operand) '}},{label:"rtrim",kind:i,insertText:"rtrim",range:e,documentation:{value:'Removes trailing whitespace from a string. For example, trim("Hello ") gives "Hello". \n\n **Syntax** \n\n rtrim(operand) '}},{label:"instr",kind:i,insertText:"instr",range:e,documentation:{value:"The operator returns the position in the input string of a specified string (pattern). \n\n **Syntax** \n\n instr ( op, pattern, start, occurrence ) "}},{label:"replace",kind:i,insertText:"replace",range:e,documentation:{value:"Replaces all the occurrences of a specified string-pattern (pattern1) with another one (pattern2). If pattern2 is omitted then all occurrences of pattern1 are removed \n\n **Syntax** \n\n replace (op , pattern1, pattern2 ) "}},{label:"ceil",kind:i,insertText:"ceil",range:e,documentation:{value:"The operator ceil returns the smallest integer greater than or equal to op. \n\n For example:\n\n ceil(3.14159) gives 4 \n\n **Syntax** \n\n ceil(op) "}},{label:"floor",kind:i,insertText:"floor",range:e,documentation:{value:"The operator floor returns the greatest integer which is smaller than or equal to op. \n\n For example:\n\n floor(3.14159) gives 3 \n\n **Syntax** \n\n floor(op) "}},{label:"sqrt",kind:i,insertText:"sqrt",range:e,documentation:{value:"The operator sqrt calculates the square root of a number. \n\n **Syntax** \n\n sqrt(op) "}},{label:"any",kind:o,insertText:"any",range:e},{label:"setdiff",kind:i,insertText:"setdiff",range:e,documentation:{value:"The operator implements the set difference of functions (i.e. Data Sets), interpreting the Data Points of the input Data Sets as the elements belonging to the operand sets, the minuend and the subtrahend, respectively. \n\n **Syntax** \n\n setdiff(ds1, ds2) "}},{label:"stddev_pop",kind:i,insertText:"stddev_pop",range:e,documentation:{value:"Population standard deviation of a set of numbers. \n\n **Syntax** \n\n stddev_pop( firstOperand { , additionalOperand }* { groupingClause } \n\n stddev_pop( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"stddev_samp",kind:i,insertText:"stddev_samp",range:e,documentation:{value:"Sample standard deviation of a set of numbers. \n\n **Syntax** \n\n stddev_samp( firstOperand { , additionalOperand }* { groupingClause } \n\n stddev_samp( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"var_pop",kind:i,insertText:"var_pop",range:e,documentation:{value:"Population variance of a set of numbers. \n\n **Syntax** \n\n var_pop( firstOperand { , additionalOperand }* { groupingClause } \n\n var_pop( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"var_samp",kind:i,insertText:"var_samp",range:e,documentation:{value:"Sample variance of a set of numbers. \n\n **Syntax** \n\n var_samp( firstOperand { , additionalOperand }* { groupingClause } \n\n var_samp( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"group",kind:o,insertText:"group",range:e},{label:"except",kind:o,insertText:"except",range:e},{label:"having",kind:o,insertText:"having",range:e},{label:"first_value",kind:i,insertText:"first_value",range:e,documentation:{value:"First value in an ordered set of values . \n\n **Syntax** \n\n first_value( firstOperand { , additionalOperand }* { groupingClause } \n\n first_value( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"last_value",kind:i,insertText:"last_value",range:e,documentation:{value:"Last value in an ordered set of values. \n\n **Syntax** \n\n last_value( firstOperand { , additionalOperand }* { groupingClause } \n\n last_value( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"lag",kind:i,insertText:"lag",range:e,documentation:{value:"In an ordered set of Data Points, it returns the value(s) taken from a Data Point at a given physical offset prior to the current Data Point. \n\n **Syntax** \n\n lag( firstOperand { , additionalOperand }* { groupingClause } \n\n lag( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"lead",kind:i,insertText:"lead",range:e,documentation:{value:"In an ordered set of Data Points, it returns the value(s) taken from a Data Point at a given physical offset beyond the current Data Point . \n\n **Syntax** \n\n lead( firstOperand { , additionalOperand }* { groupingClause } \n\n lead( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"ratio_to_report",kind:i,insertText:"ratio_to_report",range:e,documentation:{value:"In an ordered set of Data Points, it returns the value(s) taken from a Data Point at a given physical offset beyond the current Data Point . \n\n **Syntax** \n\n ratio_to_report( firstOperand { , additionalOperand }* { groupingClause } \n\n ratio_to_report( firstOperand { , additionalOperand }* over ( analyticClause )) "}},{label:"over",kind:o,insertText:"over",range:e},{label:"preceding",kind:o,insertText:"preceding",range:e},{label:"following",kind:o,insertText:"following",range:e},{label:"unbounded",kind:o,insertText:"unbounded",range:e},{label:"partition",kind:o,insertText:"partition",range:e},{label:"rows",kind:o,insertText:"rows",range:e},{label:"range",kind:o,insertText:"range",range:e},{label:"current",kind:o,insertText:"current",range:e},{label:"valid",kind:o,insertText:"valid",range:e},{label:"fill_time_series",kind:i,insertText:"fill_time_series",range:e,documentation:{value:"The operator fills the possibly missing Data Points of all the time series belonging to the operand op within the time limits automatically determined by applying the limit_method. \n\n **Syntax** \n\n fill_time_series( op { , limitsMethod}) \n\n *limitsMethod* ::= single | all"}},{label:"flow_to_stock",kind:i,insertText:"flow_to_stock",range:e,documentation:{value:"This operator takes in input a Data Set which are interpreted as flows and calculates the change of the corresponding stock since the beginning of each time series by summing the relevant flows. In other words, the operator perform the cumulative sum from the first Data Point of each time series to each other following Data Point of the same time series. \n\n **Syntax** \n\n flow_to_stock( op ) "}},{label:"stock_to_flow",kind:i,insertText:"stock_to_flow",range:e,documentation:{value:"This operator takes in input a Data Set of time series which is interpreted as stock data and, for each time series, calculates the corresponding flow data by subtracting from the measure values of each regular period the corresponding measure values of the previous one. \n\n **Syntax** \n\n stock_to_flow( op ) "}},{label:"timeshift",kind:i,insertText:"timeshift",range:e,documentation:{value:"This operator takes in input a Data Set of time series and, for each time series of the Data Set, shifts the reference time Identifier of a number of periods (of the time series) equal to the shift_number parameter. If shift_number is negative, the shift is in the past, otherwise in the future \n\n **Syntax** \n\n timeshift( op , shiftNumber) "}},{label:"measures",kind:o,insertText:"measures",range:e},{label:"no_measures",kind:o,insertText:"no_measures",range:e},{label:"condition",kind:o,insertText:"condition",range:e},{label:"boolean",kind:o,insertText:"boolean",range:e},{label:"date",kind:o,insertText:"date",range:e},{label:"time_period",kind:o,insertText:"time_period",range:e},{label:"number",kind:o,insertText:"number",range:e},{label:"string",kind:o,insertText:"string",range:e},{label:"integer",kind:o,insertText:"integer",range:e},{label:"float",kind:o,insertText:"float",range:e},{label:"list",kind:o,insertText:"list",range:e},{label:"record",kind:o,insertText:"record",range:e},{label:"restrict",kind:o,insertText:"restrict",range:e},{label:"maxLength",kind:o,insertText:"maxLength",range:e},{label:"regexp",kind:o,insertText:"regexp",range:e},{label:"is",kind:o,insertText:"is",range:e},{label:"when",kind:o,insertText:"when",range:e},{label:"from",kind:o,insertText:"from",range:e},{label:"aggregates",kind:o,insertText:"aggregates",range:e},{label:"points",kind:o,insertText:"points",range:e},{label:"point",kind:o,insertText:"point",range:e},{label:"total",kind:o,insertText:"total",range:e},{label:"partial",kind:o,insertText:"partial",range:e},{label:"always",kind:o,insertText:"always",range:e},{label:"inner_join",kind:i,insertText:"inner_join",range:e,documentation:{value:"Join operator, a relational join of the input operands is performed, according to SQL inner"}},{label:"left_join",kind:i,insertText:"left_join",range:e,documentation:{value:"Join operator, this is the left-most Data Set (left-outer sql)"}},{label:"cross_join",kind:i,insertText:"cross_join",range:e,documentation:{value:"Join operator, Cartesian product"}},{label:"full_join",kind:i,insertText:"full_join",range:e,documentation:{value:"Join operator, full outer (sql)"}},{label:"maps_from",kind:o,insertText:"maps_from",range:e},{label:"maps_to",kind:o,insertText:"maps_to",range:e},{label:"map_to",kind:o,insertText:"map_to",range:e},{label:"map_from",kind:o,insertText:"map_from",range:e},{label:"returns",kind:o,insertText:"returns",range:e},{label:"pivot",kind:o,insertText:"pivot",range:e,documentation:{value:"The operator transposes several Data Points of the operand Data Set into a single Data Point of the resulting Data Set. \n\n **Syntax** \n\n op [ pivot identifier , measure ] "}},{label:"customPivot",kind:o,insertText:"customPivot",range:e},{label:"unpivot",kind:o,insertText:"unpivot",range:e,documentation:{value:"The unpivot operator transposes a single Data Point of the operand Data Set into several Data Points of the result Data set. \n\n **Syntax** \n\n op [ unpivot identifier , measure ] "}},{label:"sub",kind:o,insertText:"sub",range:e,documentation:{value:"The operator returns a Data Set in a subspace of the one of the input Dataset. \n\n **Syntax** \n\n op [ sub identifier = value { , identifier = value }* ] "}},{label:"apply",kind:o,insertText:"apply",range:e},{label:"conditioned",kind:o,insertText:"conditioned",range:e},{label:"period_indicator",kind:i,insertText:"period_indicator ",range:e,documentation:{value:"period_indicator returns the period indicator of a time_period value. The period indicator is the part of the time_period value which denotes the duration of the time period (e.g. day, week, month \u2026). \n\n **Syntax** \n\n period_indicator(op) "}},{label:"single",kind:o,insertText:"single",range:e},{label:"duration",kind:o,insertText:"duration",range:e},{label:"time_agg",kind:i,insertText:"time_agg",range:e,documentation:{value:"The operator converts a time, date or time_period value from a smaller to a larger duration. \n\n **Syntax** \n\n time_agg(periodIndTo { ,periodIndFrom } { ,op } { ,first | last }) "}},{label:"unit",kind:o,insertText:"unit",range:e},{label:"value",kind:o,insertText:"value",range:e},{label:"valuedomains",kind:o,insertText:"valuedomains",range:e},{label:"variables",kind:o,insertText:"variables",range:e},{label:"input",kind:o,insertText:"input",range:e},{label:"output",kind:o,insertText:"output",range:e},{label:"cast",kind:i,insertText:"cast",range:e,documentation:{value:"This operator converts the scalar type of op to the scalar type specified by scalarType. It returns a copy of op converted to the specified scalarType. \n\n **Syntax** \n\n cast ( op , scalarType { , mask} ) "}},{label:"rule_priority",kind:o,insertText:"rule_priority",range:e},{label:"dataset_priority",kind:o,insertText:"dataset_priority",range:e},{label:"default",kind:o,insertText:"default",range:e},{label:"check_datapoint",kind:i,insertText:"check_datapoint",range:e,documentation:{value:"\n\n*Syntax*\n\n check_datapoint( op , dpr { components listComp } { output }) "}},{label:"check_hierarchy ",kind:i,insertText:"check_hierarchy ",range:e,documentation:{value:"The check_hierarchy operator applies the Rules of the Ruleset hr to check the Code Items Relations between the Code Items present in op \n\n **Syntax** \n\n check_hierarchy ( op , hr { condition condComp { , condComp }* } { rule ruleComp } { mode } { input } { output } ) "}},{label:"computed",kind:o,insertText:"computed",range:e},{label:"non_null",kind:o,insertText:"non_null",range:e},{label:"non_zero",kind:o,insertText:"non_zero",range:e},{label:"partial_null",kind:o,insertText:"partial_null",range:e},{label:"partial_zero",kind:o,insertText:"partial_zero",range:e},{label:"always_null",kind:o,insertText:"always_null",range:e},{label:"always_zero",kind:o,insertText:"always_zero",range:e},{label:"components",kind:o,insertText:"components",range:e},{label:"all_measures",kind:o,insertText:"all_measures",range:e},{label:"scalar",kind:o,insertText:"scalar",range:e},{label:"component",kind:o,insertText:"component",range:e},{label:"datapoint_on_valuedomains",kind:o,insertText:"datapoint_on_valuedomains",range:e},{label:"datapoint_on_variables",kind:o,insertText:"datapoint_on_variables",range:e},{label:"hierarchical_on_valuedomains",kind:o,insertText:"hierarchical_on_valuedomains",range:e},{label:"hierarchical_on_variables",kind:o,insertText:"hierarchical_on_variables",range:e},{label:"set",kind:o,insertText:"set",range:e},{label:"language",kind:o,insertText:"language",range:e},{label:"defdatapoint",kind:l,insertText:["define datapoint ruleset ${0:name} (${1:signature}) is","\t$3","end datapoint ruleset"].join("\n"),insertTextRules:s,documentation:{value:["\tdefine datapoint ruleset ruleSetName (signature) is\n","\t\trule\n","\tend datapoint ruleset"].join("")}},{label:"defhierarchical",kind:l,insertText:["define hierarchical ruleset ${0:name} (${1:signature}) is","\t$3","end hierarchical ruleset"].join("\n"),insertTextRules:s,documentation:{value:["\tdefine hierarchical ruleset ruleSetName (signature) is\n","\t\t{rule}\n","\tend hierarchical ruleset"].join("")}},{label:"defoperator",kind:l,insertText:["define operator ${0:name} (${1:parameter})","returns ${2:returnType} is","","end operator"].join("\n"),insertTextRules:s,documentation:{value:["\tdefine operator operatorName (parameter)\n","\treturns {returnType} is\n","\t{operatorBody}\n","\tend operator"].join("")}}]},16861:(e,n,t)=>{t.d(n,{Z:()=>i});var a=t(44996),r=t(67294);const i=e=>{let{imgSas:n}=e;return r.createElement("div",{className:"container"},r.createElement("div",{className:"row"},r.createElement("div",{className:"col col--3"}),r.createElement("div",{className:"col col--6 centered-content"},r.createElement("h3",null,"Sas"),r.createElement("img",{src:(0,a.Z)(`/img/sas-vtl/${n}`),alt:"Img Sas"}))),r.createElement("h3",{className:"centered-content"},"VTL"))}},92670:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>p,contentTitle:()=>s,default:()=>g,frontMatter:()=>l,metadata:()=>d,toc:()=>u});var a=t(87462),r=(t(67294),t(3905)),i=t(16861),o=t(33168);const l={id:"keep",title:"Keep",sidebar_label:"Keep",slug:"/user-guide/vtl/sas-vtl/keep",custom_edit_url:null},s=void 0,d={unversionedId:"user-guide/vtl/sas-vtl/keep",id:"user-guide/vtl/sas-vtl/keep",title:"Keep",description:"",source:"@site/docs/user-guide/vtl/sas-vtl/keep.mdx",sourceDirName:"user-guide/vtl/sas-vtl",slug:"/user-guide/vtl/sas-vtl/keep",permalink:"/Trevas/user-guide/vtl/sas-vtl/keep",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1720593860,formattedLastUpdatedAt:"Jul 10, 2024",frontMatter:{id:"keep",title:"Keep",sidebar_label:"Keep",slug:"/user-guide/vtl/sas-vtl/keep",custom_edit_url:null},sidebar:"docs",previous:{title:"Overview",permalink:"/Trevas/user-guide/vtl/sas-vtl"},next:{title:"Drop",permalink:"/Trevas/user-guide/vtl/sas-vtl/drop"}},p={},u=[],c={toc:u};function g(e){let{components:n,...t}=e;return(0,r.kt)("wrapper",(0,a.Z)({},c,t,{components:n,mdxType:"MDXLayout"}),(0,r.kt)(i.Z,{imgSas:"keep/sas.png",mdxType:"Sas"}),(0,r.kt)(o.Z,{script:"ds_out := ds_in [keep a, b, c];",mdxType:"Editor"}))}g.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/e39b44de.45469cb9.js b/assets/js/e39b44de.71ca4397.js similarity index 94% rename from assets/js/e39b44de.45469cb9.js rename to assets/js/e39b44de.71ca4397.js index 04be1a224..c5c16a3a4 100644 --- a/assets/js/e39b44de.45469cb9.js +++ b/assets/js/e39b44de.71ca4397.js @@ -1 +1 @@ -"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[7655],{39308:(e,t,s)=>{s.d(t,{Z:()=>p});var a=s(67294),l=s(3905),r=s(84734);const i="riContainer_QAfm",n="riDescriptionShort_ogAL",d="riDetail_rDiW",v="riIcon_zSrR",c="riTitle__Mkd",o="riDescription_k_lG",u="riMore_lLbd";var m=s(86010);const p=e=>{const[t,s]=a.useState(!1);return a.createElement("a",{href:e.page,className:i},a.createElement("div",{className:n},a.createElement("div",{className:v},a.createElement("span",{className:"fe fe-zap"})),a.createElement("div",{className:d},a.createElement("div",{className:c},a.createElement("a",{href:e.page},e.title)),a.createElement("div",{className:o},e.description,a.Children.count(e.children)>0&&a.createElement("span",{className:(0,m.Z)(u,"fe","fe-more-horizontal"),onClick:()=>s(!t)})))),t&&a.createElement("div",{className:"ri-description-long"},a.createElement(l.Zo,{components:r.Z},e.children)))}},19275:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>d,default:()=>m,frontMatter:()=>n,metadata:()=>v,toc:()=>o});var a=s(87462),l=(s(67294),s(3905)),r=s(44996),i=s(39308);const n={id:"index-sas-vtl",title:"Sas vs VTL examples",sidebar_label:"Overview",slug:"/user-guide/vtl/sas-vtl",custom_edit_url:null},d=void 0,v={unversionedId:"user-guide/vtl/sas-vtl/index-sas-vtl",id:"user-guide/vtl/sas-vtl/index-sas-vtl",title:"Sas vs VTL examples",description:"",source:"@site/docs/user-guide/vtl/sas-vtl/index-sas-vtl.mdx",sourceDirName:"user-guide/vtl/sas-vtl",slug:"/user-guide/vtl/sas-vtl",permalink:"/Trevas/user-guide/vtl/sas-vtl",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1719441741,formattedLastUpdatedAt:"Jun 26, 2024",frontMatter:{id:"index-sas-vtl",title:"Sas vs VTL examples",sidebar_label:"Overview",slug:"/user-guide/vtl/sas-vtl",custom_edit_url:null},sidebar:"docs",previous:{title:"Overview",permalink:"/Trevas/user-guide/vtl"},next:{title:"Keep",permalink:"/Trevas/user-guide/vtl/sas-vtl/keep"}},c={},o=[],u={toc:o};function m(e){let{components:t,...s}=e;return(0,l.kt)("wrapper",(0,a.Z)({},u,s,{components:t,mdxType:"MDXLayout"}),(0,l.kt)("div",{className:"row"},(0,l.kt)("div",{className:"col"},(0,l.kt)(i.Z,{title:"Keep",page:(0,r.Z)("/user-guide/vtl/sas-vtl/keep"),mdxType:"Card"})),(0,l.kt)("div",{className:"col"},(0,l.kt)(i.Z,{title:"Drop",page:(0,r.Z)("/user-guide/vtl/sas-vtl/drop"),mdxType:"Card"})),(0,l.kt)("div",{className:"col"},(0,l.kt)(i.Z,{title:"Rename",page:(0,r.Z)("/user-guide/vtl/sas-vtl/rename"),mdxType:"Card"}))))}m.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[7655],{39308:(e,t,s)=>{s.d(t,{Z:()=>p});var a=s(67294),l=s(3905),r=s(84734);const i="riContainer_QAfm",n="riDescriptionShort_ogAL",d="riDetail_rDiW",v="riIcon_zSrR",c="riTitle__Mkd",o="riDescription_k_lG",u="riMore_lLbd";var m=s(86010);const p=e=>{const[t,s]=a.useState(!1);return a.createElement("a",{href:e.page,className:i},a.createElement("div",{className:n},a.createElement("div",{className:v},a.createElement("span",{className:"fe fe-zap"})),a.createElement("div",{className:d},a.createElement("div",{className:c},a.createElement("a",{href:e.page},e.title)),a.createElement("div",{className:o},e.description,a.Children.count(e.children)>0&&a.createElement("span",{className:(0,m.Z)(u,"fe","fe-more-horizontal"),onClick:()=>s(!t)})))),t&&a.createElement("div",{className:"ri-description-long"},a.createElement(l.Zo,{components:r.Z},e.children)))}},19275:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>d,default:()=>m,frontMatter:()=>n,metadata:()=>v,toc:()=>o});var a=s(87462),l=(s(67294),s(3905)),r=s(44996),i=s(39308);const n={id:"index-sas-vtl",title:"Sas vs VTL examples",sidebar_label:"Overview",slug:"/user-guide/vtl/sas-vtl",custom_edit_url:null},d=void 0,v={unversionedId:"user-guide/vtl/sas-vtl/index-sas-vtl",id:"user-guide/vtl/sas-vtl/index-sas-vtl",title:"Sas vs VTL examples",description:"",source:"@site/docs/user-guide/vtl/sas-vtl/index-sas-vtl.mdx",sourceDirName:"user-guide/vtl/sas-vtl",slug:"/user-guide/vtl/sas-vtl",permalink:"/Trevas/user-guide/vtl/sas-vtl",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1720593860,formattedLastUpdatedAt:"Jul 10, 2024",frontMatter:{id:"index-sas-vtl",title:"Sas vs VTL examples",sidebar_label:"Overview",slug:"/user-guide/vtl/sas-vtl",custom_edit_url:null},sidebar:"docs",previous:{title:"Overview",permalink:"/Trevas/user-guide/vtl"},next:{title:"Keep",permalink:"/Trevas/user-guide/vtl/sas-vtl/keep"}},c={},o=[],u={toc:o};function m(e){let{components:t,...s}=e;return(0,l.kt)("wrapper",(0,a.Z)({},u,s,{components:t,mdxType:"MDXLayout"}),(0,l.kt)("div",{className:"row"},(0,l.kt)("div",{className:"col"},(0,l.kt)(i.Z,{title:"Keep",page:(0,r.Z)("/user-guide/vtl/sas-vtl/keep"),mdxType:"Card"})),(0,l.kt)("div",{className:"col"},(0,l.kt)(i.Z,{title:"Drop",page:(0,r.Z)("/user-guide/vtl/sas-vtl/drop"),mdxType:"Card"})),(0,l.kt)("div",{className:"col"},(0,l.kt)(i.Z,{title:"Rename",page:(0,r.Z)("/user-guide/vtl/sas-vtl/rename"),mdxType:"Card"}))))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/e98a9f0e.7eeac152.js b/assets/js/e98a9f0e.2811e023.js similarity index 97% rename from assets/js/e98a9f0e.7eeac152.js rename to assets/js/e98a9f0e.2811e023.js index b17443db5..51121dcc3 100644 --- a/assets/js/e98a9f0e.7eeac152.js +++ b/assets/js/e98a9f0e.2811e023.js @@ -1 +1 @@ -"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[1814],{39308:(e,t,n)=>{n.d(t,{Z:()=>u});var a=n(67294),i=n(3905),r=n(84734);const s="riContainer_QAfm",d="riDescriptionShort_ogAL",l="riDetail_rDiW",o="riIcon_zSrR",c="riTitle__Mkd",p="riDescription_k_lG",g="riMore_lLbd";var v=n(86010);const u=e=>{const[t,n]=a.useState(!1);return a.createElement("a",{href:e.page,className:s},a.createElement("div",{className:d},a.createElement("div",{className:o},a.createElement("span",{className:"fe fe-zap"})),a.createElement("div",{className:l},a.createElement("div",{className:c},a.createElement("a",{href:e.page},e.title)),a.createElement("div",{className:p},e.description,a.Children.count(e.children)>0&&a.createElement("span",{className:(0,v.Z)(g,"fe","fe-more-horizontal"),onClick:()=>n(!t)})))),t&&a.createElement("div",{className:"ri-description-long"},a.createElement(i.Zo,{components:r.Z},e.children)))}},66637:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>l,default:()=>v,frontMatter:()=>d,metadata:()=>o,toc:()=>p});var a=n(87462),i=(n(67294),n(3905)),r=n(44996),s=n(39308);const d={id:"index-developer-guide",title:"Developer guide",sidebar_label:"Overview",slug:"/developer-guide",custom_edit_url:null},l=void 0,o={unversionedId:"developer-guide/index-developer-guide",id:"developer-guide/index-developer-guide",title:"Developer guide",description:"Import the Trevas engine",source:"@site/docs/developer-guide/index-developer-guide.mdx",sourceDirName:"developer-guide",slug:"/developer-guide",permalink:"/Trevas/developer-guide",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1719441741,formattedLastUpdatedAt:"Jun 26, 2024",frontMatter:{id:"index-developer-guide",title:"Developer guide",sidebar_label:"Overview",slug:"/developer-guide",custom_edit_url:null},sidebar:"docs",previous:{title:"Clause operators",permalink:"/Trevas/user-guide/coverage/clause-operators"},next:{title:"Overview",permalink:"/Trevas/developer-guide/basic-mode"}},c={},p=[{value:"Import the Trevas engine",id:"import-the-trevas-engine",level:3},{value:"Instantiate the Trevas engine",id:"instantiate-the-trevas-engine",level:3},{value:"Execution mode",id:"execution-mode",level:3}],g={toc:p};function v(e){let{components:t,...n}=e;return(0,i.kt)("wrapper",(0,a.Z)({},g,n,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h3",{id:"import-the-trevas-engine"},"Import the Trevas engine"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-xml"},"\n fr.insee.trevas\n vtl-engine\n 1.4.1\n\n")),(0,i.kt)("h3",{id:"instantiate-the-trevas-engine"},"Instantiate the Trevas engine"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-java"},'// Start engine\nScriptEngine engine = new ScriptEngineManager().getEngineByName("vtl");\n\n// Add input bindings to engine\nBindings bindings = new SimpleBindings();\nInMemoryDataset dataset = new InMemoryDataset(\n List.of(\n Map.of("var1", "x", "var2", "y", "var3", 5),\n Map.of("var1", "xx", "var2", "yy", "var3", 10)\n ),\n Map.of("var1", String.class, "var2", String.class, "var3", Long.class),\n Map.of("var1", Role.IDENTIFIER, "var2", Role.ATTRIBUTE, "var3", Role.MEASURE)\n);\nbindings.put("a", 1);\nbindings.put("ds", dataset);\nengine.setBindings(b, ScriptContext.ENGINE_SCOPE);\n\n// Execute script\ntry {\n engine.eval("b := a + 1; " +\n "ds1 := ds;" +\n "ds2 <- ds;");\n} catch (VtlScriptException e) {\n logger.warn("Eval failed: ", e);\n}\n\n// Get result\nLong result = (Long) engine.getBindings(ScriptContext.ENGINE_SCOPE).get("b");\nDataset ds1 = (Dataset) engine.getBindings(ScriptContext.ENGINE_SCOPE).get("ds1");\nPersistentDataset result = (PersistentDataset) engine.getBindings(ScriptContext.ENGINE_SCOPE).get("ds2");\n')),(0,i.kt)("h3",{id:"execution-mode"},"Execution mode"),(0,i.kt)("div",{className:"row"},(0,i.kt)("div",{className:"col"},(0,i.kt)(s.Z,{title:"Basic mode",page:(0,r.Z)("/developer-guide/basic-mode"),mdxType:"Card"})),(0,i.kt)("div",{className:"col"},(0,i.kt)(s.Z,{title:"Spark mode",page:(0,r.Z)("/developer-guide/spark-mode"),mdxType:"Card"}))))}v.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[1814],{39308:(e,t,n)=>{n.d(t,{Z:()=>u});var a=n(67294),i=n(3905),r=n(84734);const s="riContainer_QAfm",d="riDescriptionShort_ogAL",l="riDetail_rDiW",o="riIcon_zSrR",c="riTitle__Mkd",p="riDescription_k_lG",g="riMore_lLbd";var v=n(86010);const u=e=>{const[t,n]=a.useState(!1);return a.createElement("a",{href:e.page,className:s},a.createElement("div",{className:d},a.createElement("div",{className:o},a.createElement("span",{className:"fe fe-zap"})),a.createElement("div",{className:l},a.createElement("div",{className:c},a.createElement("a",{href:e.page},e.title)),a.createElement("div",{className:p},e.description,a.Children.count(e.children)>0&&a.createElement("span",{className:(0,v.Z)(g,"fe","fe-more-horizontal"),onClick:()=>n(!t)})))),t&&a.createElement("div",{className:"ri-description-long"},a.createElement(i.Zo,{components:r.Z},e.children)))}},66637:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>l,default:()=>v,frontMatter:()=>d,metadata:()=>o,toc:()=>p});var a=n(87462),i=(n(67294),n(3905)),r=n(44996),s=n(39308);const d={id:"index-developer-guide",title:"Developer guide",sidebar_label:"Overview",slug:"/developer-guide",custom_edit_url:null},l=void 0,o={unversionedId:"developer-guide/index-developer-guide",id:"developer-guide/index-developer-guide",title:"Developer guide",description:"Import the Trevas engine",source:"@site/docs/developer-guide/index-developer-guide.mdx",sourceDirName:"developer-guide",slug:"/developer-guide",permalink:"/Trevas/developer-guide",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1720593860,formattedLastUpdatedAt:"Jul 10, 2024",frontMatter:{id:"index-developer-guide",title:"Developer guide",sidebar_label:"Overview",slug:"/developer-guide",custom_edit_url:null},sidebar:"docs",previous:{title:"Clause operators",permalink:"/Trevas/user-guide/coverage/clause-operators"},next:{title:"Overview",permalink:"/Trevas/developer-guide/basic-mode"}},c={},p=[{value:"Import the Trevas engine",id:"import-the-trevas-engine",level:3},{value:"Instantiate the Trevas engine",id:"instantiate-the-trevas-engine",level:3},{value:"Execution mode",id:"execution-mode",level:3}],g={toc:p};function v(e){let{components:t,...n}=e;return(0,i.kt)("wrapper",(0,a.Z)({},g,n,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h3",{id:"import-the-trevas-engine"},"Import the Trevas engine"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-xml"},"\n fr.insee.trevas\n vtl-engine\n 1.4.1\n\n")),(0,i.kt)("h3",{id:"instantiate-the-trevas-engine"},"Instantiate the Trevas engine"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-java"},'// Start engine\nScriptEngine engine = new ScriptEngineManager().getEngineByName("vtl");\n\n// Add input bindings to engine\nBindings bindings = new SimpleBindings();\nInMemoryDataset dataset = new InMemoryDataset(\n List.of(\n Map.of("var1", "x", "var2", "y", "var3", 5),\n Map.of("var1", "xx", "var2", "yy", "var3", 10)\n ),\n Map.of("var1", String.class, "var2", String.class, "var3", Long.class),\n Map.of("var1", Role.IDENTIFIER, "var2", Role.ATTRIBUTE, "var3", Role.MEASURE)\n);\nbindings.put("a", 1);\nbindings.put("ds", dataset);\nengine.setBindings(b, ScriptContext.ENGINE_SCOPE);\n\n// Execute script\ntry {\n engine.eval("b := a + 1; " +\n "ds1 := ds;" +\n "ds2 <- ds;");\n} catch (VtlScriptException e) {\n logger.warn("Eval failed: ", e);\n}\n\n// Get result\nLong result = (Long) engine.getBindings(ScriptContext.ENGINE_SCOPE).get("b");\nDataset ds1 = (Dataset) engine.getBindings(ScriptContext.ENGINE_SCOPE).get("ds1");\nPersistentDataset result = (PersistentDataset) engine.getBindings(ScriptContext.ENGINE_SCOPE).get("ds2");\n')),(0,i.kt)("h3",{id:"execution-mode"},"Execution mode"),(0,i.kt)("div",{className:"row"},(0,i.kt)("div",{className:"col"},(0,i.kt)(s.Z,{title:"Basic mode",page:(0,r.Z)("/developer-guide/basic-mode"),mdxType:"Card"})),(0,i.kt)("div",{className:"col"},(0,i.kt)(s.Z,{title:"Spark mode",page:(0,r.Z)("/developer-guide/spark-mode"),mdxType:"Card"}))))}v.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/ece2eec8.eadcf2ff.js b/assets/js/ece2eec8.4b7ed7b0.js similarity index 97% rename from assets/js/ece2eec8.eadcf2ff.js rename to assets/js/ece2eec8.4b7ed7b0.js index 6ebce7ad2..d144ae37e 100644 --- a/assets/js/ece2eec8.eadcf2ff.js +++ b/assets/js/ece2eec8.4b7ed7b0.js @@ -1 +1 @@ -"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[573],{3905:(e,t,r)=>{r.d(t,{Zo:()=>s,kt:()=>g});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var p=n.createContext({}),c=function(e){var t=n.useContext(p),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},s=function(e){var t=c(e.components);return n.createElement(p.Provider,{value:t},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,p=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),u=c(r),m=a,g=u["".concat(p,".").concat(m)]||u[m]||d[m]||o;return r?n.createElement(g,i(i({ref:t},s),{},{components:r})):n.createElement(g,i({ref:t},s))}));function g(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,i=new Array(o);i[0]=m;var l={};for(var p in t)hasOwnProperty.call(t,p)&&(l[p]=t[p]);l.originalType=e,l[u]="string"==typeof e?e:a,i[1]=l;for(var c=2;c{r.r(t),r.d(t,{assets:()=>p,contentTitle:()=>i,default:()=>u,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var n=r(87462),a=(r(67294),r(3905));const o={id:"set-operators",title:"VTL - Set operators",sidebar_label:"Set operators",slug:"/user-guide/coverage/set-operators",custom_edit_url:null},i=void 0,l={unversionedId:"user-guide/coverage/set-operators",id:"user-guide/coverage/set-operators",title:"VTL - Set operators",description:"| Name | Symbol | InMemory | Spark |",source:"@site/docs/user-guide/coverage/set-operators.mdx",sourceDirName:"user-guide/coverage",slug:"/user-guide/coverage/set-operators",permalink:"/Trevas/user-guide/coverage/set-operators",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1719441741,formattedLastUpdatedAt:"Jun 26, 2024",frontMatter:{id:"set-operators",title:"VTL - Set operators",sidebar_label:"Set operators",slug:"/user-guide/coverage/set-operators",custom_edit_url:null},sidebar:"docs",previous:{title:"Time operators",permalink:"/Trevas/user-guide/coverage/time-operators"},next:{title:"Hierarchical aggregation",permalink:"/Trevas/user-guide/coverage/hierarchical-aggregation"}},p={},c=[],s={toc:c};function u(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},s,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Name"),(0,a.kt)("th",{parentName:"tr",align:"left"},"Symbol"),(0,a.kt)("th",{parentName:"tr",align:"center"},"InMemory"),(0,a.kt)("th",{parentName:"tr",align:"center"},"Spark"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Union"),(0,a.kt)("td",{parentName:"tr",align:"left"},"union"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u274c"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Intersection"),(0,a.kt)("td",{parentName:"tr",align:"left"},"intersect"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u274c"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u274c")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Set difference"),(0,a.kt)("td",{parentName:"tr",align:"left"},"setdiff"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u274c"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u274c")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Symmetric difference"),(0,a.kt)("td",{parentName:"tr",align:"left"},"symdiff"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u274c"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u274c")))))}u.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[573],{3905:(e,t,r)=>{r.d(t,{Zo:()=>s,kt:()=>g});var n=r(67294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var p=n.createContext({}),c=function(e){var t=n.useContext(p),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},s=function(e){var t=c(e.components);return n.createElement(p.Provider,{value:t},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,p=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),u=c(r),m=a,g=u["".concat(p,".").concat(m)]||u[m]||d[m]||o;return r?n.createElement(g,i(i({ref:t},s),{},{components:r})):n.createElement(g,i({ref:t},s))}));function g(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,i=new Array(o);i[0]=m;var l={};for(var p in t)hasOwnProperty.call(t,p)&&(l[p]=t[p]);l.originalType=e,l[u]="string"==typeof e?e:a,i[1]=l;for(var c=2;c{r.r(t),r.d(t,{assets:()=>p,contentTitle:()=>i,default:()=>u,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var n=r(87462),a=(r(67294),r(3905));const o={id:"set-operators",title:"VTL - Set operators",sidebar_label:"Set operators",slug:"/user-guide/coverage/set-operators",custom_edit_url:null},i=void 0,l={unversionedId:"user-guide/coverage/set-operators",id:"user-guide/coverage/set-operators",title:"VTL - Set operators",description:"| Name | Symbol | InMemory | Spark |",source:"@site/docs/user-guide/coverage/set-operators.mdx",sourceDirName:"user-guide/coverage",slug:"/user-guide/coverage/set-operators",permalink:"/Trevas/user-guide/coverage/set-operators",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1720593860,formattedLastUpdatedAt:"Jul 10, 2024",frontMatter:{id:"set-operators",title:"VTL - Set operators",sidebar_label:"Set operators",slug:"/user-guide/coverage/set-operators",custom_edit_url:null},sidebar:"docs",previous:{title:"Time operators",permalink:"/Trevas/user-guide/coverage/time-operators"},next:{title:"Hierarchical aggregation",permalink:"/Trevas/user-guide/coverage/hierarchical-aggregation"}},p={},c=[],s={toc:c};function u(e){let{components:t,...r}=e;return(0,a.kt)("wrapper",(0,n.Z)({},s,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Name"),(0,a.kt)("th",{parentName:"tr",align:"left"},"Symbol"),(0,a.kt)("th",{parentName:"tr",align:"center"},"InMemory"),(0,a.kt)("th",{parentName:"tr",align:"center"},"Spark"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Union"),(0,a.kt)("td",{parentName:"tr",align:"left"},"union"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u274c"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u2714\ufe0f")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Intersection"),(0,a.kt)("td",{parentName:"tr",align:"left"},"intersect"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u274c"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u274c")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Set difference"),(0,a.kt)("td",{parentName:"tr",align:"left"},"setdiff"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u274c"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u274c")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Symmetric difference"),(0,a.kt)("td",{parentName:"tr",align:"left"},"symdiff"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u274c"),(0,a.kt)("td",{parentName:"tr",align:"center"},"\u274c")))))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/f8b399a8.4fc88f52.js b/assets/js/f8b399a8.7af39a1a.js similarity index 98% rename from assets/js/f8b399a8.4fc88f52.js rename to assets/js/f8b399a8.7af39a1a.js index dc330c62e..094dfe93d 100644 --- a/assets/js/f8b399a8.4fc88f52.js +++ b/assets/js/f8b399a8.7af39a1a.js @@ -1 +1 @@ -"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[8480],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>f});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var s=n.createContext({}),i=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},u=function(e){var t=i(e.components);return n.createElement(s.Provider,{value:t},e.children)},p="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,s=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),p=i(r),m=o,f=p["".concat(s,".").concat(m)]||p[m]||d[m]||a;return r?n.createElement(f,c(c({ref:t},u),{},{components:r})):n.createElement(f,c({ref:t},u))}));function f(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,c=new Array(a);c[0]=m;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[p]="string"==typeof e?e:o,c[1]=l;for(var i=2;i{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>c,default:()=>p,frontMatter:()=>a,metadata:()=>l,toc:()=>i});var n=r(87462),o=(r(67294),r(3905));const a={id:"csv",title:"VTL CSV",sidebar_label:"VTL CSV",slug:"/modules/csv",custom_edit_url:null},c=void 0,l={unversionedId:"introduction/modules/csv",id:"introduction/modules/csv",title:"VTL CSV",description:"Maven - Vtl CSV",source:"@site/docs/introduction/modules/csv.mdx",sourceDirName:"introduction/modules",slug:"/modules/csv",permalink:"/Trevas/modules/csv",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1719441741,formattedLastUpdatedAt:"Jun 26, 2024",frontMatter:{id:"csv",title:"VTL CSV",sidebar_label:"VTL CSV",slug:"/modules/csv",custom_edit_url:null},sidebar:"docs",previous:{title:"VTL Jackson",permalink:"/Trevas/modules/jackson"},next:{title:"VTL SDMX",permalink:"/Trevas/modules/sdmx"}},s={},i=[],u={toc:i};function p(e){let{components:t,...r}=e;return(0,o.kt)("wrapper",(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,(0,o.kt)("a",{parentName:"p",href:"https://maven-badges.herokuapp.com/maven-central/fr.insee.trevas/vtl-csv"},(0,o.kt)("img",{parentName:"a",src:"https://maven-badges.herokuapp.com/maven-central/fr.insee.trevas/vtl-csv/badge.svg",alt:"Maven - Vtl CSV"}))),(0,o.kt)("p",null,"Tools for the use of CSV data sources."))}p.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[8480],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>f});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var s=n.createContext({}),i=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},u=function(e){var t=i(e.components);return n.createElement(s.Provider,{value:t},e.children)},p="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,s=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),p=i(r),m=o,f=p["".concat(s,".").concat(m)]||p[m]||d[m]||a;return r?n.createElement(f,c(c({ref:t},u),{},{components:r})):n.createElement(f,c({ref:t},u))}));function f(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,c=new Array(a);c[0]=m;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[p]="string"==typeof e?e:o,c[1]=l;for(var i=2;i{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>c,default:()=>p,frontMatter:()=>a,metadata:()=>l,toc:()=>i});var n=r(87462),o=(r(67294),r(3905));const a={id:"csv",title:"VTL CSV",sidebar_label:"VTL CSV",slug:"/modules/csv",custom_edit_url:null},c=void 0,l={unversionedId:"introduction/modules/csv",id:"introduction/modules/csv",title:"VTL CSV",description:"Maven - Vtl CSV",source:"@site/docs/introduction/modules/csv.mdx",sourceDirName:"introduction/modules",slug:"/modules/csv",permalink:"/Trevas/modules/csv",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1720593860,formattedLastUpdatedAt:"Jul 10, 2024",frontMatter:{id:"csv",title:"VTL CSV",sidebar_label:"VTL CSV",slug:"/modules/csv",custom_edit_url:null},sidebar:"docs",previous:{title:"VTL Jackson",permalink:"/Trevas/modules/jackson"},next:{title:"VTL SDMX",permalink:"/Trevas/modules/sdmx"}},s={},i=[],u={toc:i};function p(e){let{components:t,...r}=e;return(0,o.kt)("wrapper",(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,(0,o.kt)("a",{parentName:"p",href:"https://maven-badges.herokuapp.com/maven-central/fr.insee.trevas/vtl-csv"},(0,o.kt)("img",{parentName:"a",src:"https://maven-badges.herokuapp.com/maven-central/fr.insee.trevas/vtl-csv/badge.svg",alt:"Maven - Vtl CSV"}))),(0,o.kt)("p",null,"Tools for the use of CSV data sources."))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/fbee1c08.f0b26214.js b/assets/js/fbee1c08.16b4cbf5.js similarity index 98% rename from assets/js/fbee1c08.f0b26214.js rename to assets/js/fbee1c08.16b4cbf5.js index 06236d466..f17ef00b0 100644 --- a/assets/js/fbee1c08.f0b26214.js +++ b/assets/js/fbee1c08.16b4cbf5.js @@ -1 +1 @@ -"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[1235],{3905:(e,t,r)=>{r.d(t,{Zo:()=>d,kt:()=>f});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function a(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var c=n.createContext({}),u=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},d=function(e){var t=u(e.components);return n.createElement(c.Provider,{value:t},e.children)},s="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,l=e.originalType,c=e.parentName,d=i(e,["components","mdxType","originalType","parentName"]),s=u(r),m=o,f=s["".concat(c,".").concat(m)]||s[m]||p[m]||l;return r?n.createElement(f,a(a({ref:t},d),{},{components:r})):n.createElement(f,a({ref:t},d))}));function f(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var l=r.length,a=new Array(l);a[0]=m;var i={};for(var c in t)hasOwnProperty.call(t,c)&&(i[c]=t[c]);i.originalType=e,i[s]="string"==typeof e?e:o,a[1]=i;for(var u=2;u{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>s,frontMatter:()=>l,metadata:()=>i,toc:()=>u});var n=r(87462),o=(r(67294),r(3905));const l={id:"model",title:"VTL Model",sidebar_label:"VTL Model",slug:"/modules/model",custom_edit_url:null},a=void 0,i={unversionedId:"introduction/modules/model",id:"introduction/modules/model",title:"VTL Model",description:"Maven - Vtl Model",source:"@site/docs/introduction/modules/model.mdx",sourceDirName:"introduction/modules",slug:"/modules/model",permalink:"/Trevas/modules/model",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1719441741,formattedLastUpdatedAt:"Jun 26, 2024",frontMatter:{id:"model",title:"VTL Model",sidebar_label:"VTL Model",slug:"/modules/model",custom_edit_url:null},sidebar:"docs",previous:{title:"VTL Spark",permalink:"/Trevas/modules/spark"},next:{title:"VTL JDBC",permalink:"/Trevas/modules/jdbc"}},c={},u=[],d={toc:u};function s(e){let{components:t,...r}=e;return(0,o.kt)("wrapper",(0,n.Z)({},d,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,(0,o.kt)("a",{parentName:"p",href:"https://maven-badges.herokuapp.com/maven-central/fr.insee.trevas/vtl-model"},(0,o.kt)("img",{parentName:"a",src:"https://maven-badges.herokuapp.com/maven-central/fr.insee.trevas/vtl-model/badge.svg",alt:"Maven - Vtl Model"}))),(0,o.kt)("p",null,"Model defining the objects used in the engine."))}s.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[1235],{3905:(e,t,r)=>{r.d(t,{Zo:()=>d,kt:()=>f});var n=r(67294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function a(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var c=n.createContext({}),u=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},d=function(e){var t=u(e.components);return n.createElement(c.Provider,{value:t},e.children)},s="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,l=e.originalType,c=e.parentName,d=i(e,["components","mdxType","originalType","parentName"]),s=u(r),m=o,f=s["".concat(c,".").concat(m)]||s[m]||p[m]||l;return r?n.createElement(f,a(a({ref:t},d),{},{components:r})):n.createElement(f,a({ref:t},d))}));function f(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var l=r.length,a=new Array(l);a[0]=m;var i={};for(var c in t)hasOwnProperty.call(t,c)&&(i[c]=t[c]);i.originalType=e,i[s]="string"==typeof e?e:o,a[1]=i;for(var u=2;u{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>s,frontMatter:()=>l,metadata:()=>i,toc:()=>u});var n=r(87462),o=(r(67294),r(3905));const l={id:"model",title:"VTL Model",sidebar_label:"VTL Model",slug:"/modules/model",custom_edit_url:null},a=void 0,i={unversionedId:"introduction/modules/model",id:"introduction/modules/model",title:"VTL Model",description:"Maven - Vtl Model",source:"@site/docs/introduction/modules/model.mdx",sourceDirName:"introduction/modules",slug:"/modules/model",permalink:"/Trevas/modules/model",draft:!1,editUrl:null,tags:[],version:"current",lastUpdatedAt:1720593860,formattedLastUpdatedAt:"Jul 10, 2024",frontMatter:{id:"model",title:"VTL Model",sidebar_label:"VTL Model",slug:"/modules/model",custom_edit_url:null},sidebar:"docs",previous:{title:"VTL Spark",permalink:"/Trevas/modules/spark"},next:{title:"VTL JDBC",permalink:"/Trevas/modules/jdbc"}},c={},u=[],d={toc:u};function s(e){let{components:t,...r}=e;return(0,o.kt)("wrapper",(0,n.Z)({},d,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,(0,o.kt)("a",{parentName:"p",href:"https://maven-badges.herokuapp.com/maven-central/fr.insee.trevas/vtl-model"},(0,o.kt)("img",{parentName:"a",src:"https://maven-badges.herokuapp.com/maven-central/fr.insee.trevas/vtl-model/badge.svg",alt:"Maven - Vtl Model"}))),(0,o.kt)("p",null,"Model defining the objects used in the engine."))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/main.ae884746.js b/assets/js/main.ae884746.js deleted file mode 100644 index 51de8fde8..000000000 --- a/assets/js/main.ae884746.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! For license information please see main.ae884746.js.LICENSE.txt */ -(self.webpackChunktrevas_documentation=self.webpackChunktrevas_documentation||[]).push([[179],{69282:(e,t,n)=>{"use strict";var r=n(34155),a=n(25108);function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}function i(e,t){for(var n=0;n1?n-1:0),a=1;a1?n-1:0),a=1;a1?n-1:0),a=1;a1?n-1:0),a=1;a{"use strict";var r=n(34155);function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function o(e){for(var t=1;te.length)&&(n=e.length),e.substring(n-t.length,n)===t}var w="",E="",k="",S="",T={deepStrictEqual:"Expected values to be strictly deep-equal:",strictEqual:"Expected values to be strictly equal:",strictEqualObject:'Expected "actual" to be reference-equal to "expected":',deepEqual:"Expected values to be loosely deep-equal:",equal:"Expected values to be loosely equal:",notDeepStrictEqual:'Expected "actual" not to be strictly deep-equal to:',notStrictEqual:'Expected "actual" to be strictly unequal to:',notStrictEqualObject:'Expected "actual" not to be reference-equal to "expected":',notDeepEqual:'Expected "actual" not to be loosely deep-equal to:',notEqual:'Expected "actual" to be loosely unequal to:',notIdentical:"Values identical but not reference-equal:"};function x(e){var t=Object.keys(e),n=Object.create(Object.getPrototypeOf(e));return t.forEach((function(t){n[t]=e[t]})),Object.defineProperty(n,"message",{value:e.message}),n}function _(e){return b(e,{compact:!1,customInspect:!1,depth:1e3,maxArrayLength:1/0,showHidden:!1,breakLength:1/0,showProxy:!1,sorted:!0,getters:!0})}function A(e,t,n){var a="",o="",i=0,s="",l=!1,u=_(e),c=u.split("\n"),d=_(t).split("\n"),f=0,p="";if("strictEqual"===n&&"object"===h(e)&&"object"===h(t)&&null!==e&&null!==t&&(n="strictEqualObject"),1===c.length&&1===d.length&&c[0]!==d[0]){var g=c[0].length+d[0].length;if(g<=10){if(!("object"===h(e)&&null!==e||"object"===h(t)&&null!==t||0===e&&0===t))return"".concat(T[n],"\n\n")+"".concat(c[0]," !== ").concat(d[0],"\n")}else if("strictEqualObject"!==n){if(g<(r.stderr&&r.stderr.isTTY?r.stderr.columns:80)){for(;c[0][f]===d[0][f];)f++;f>2&&(p="\n ".concat(function(e,t){if(t=Math.floor(t),0==e.length||0==t)return"";var n=e.length*t;for(t=Math.floor(Math.log(t)/Math.log(2));t;)e+=e,t--;return e+e.substring(0,n-e.length)}(" ",f),"^"),f=0)}}}for(var m=c[c.length-1],b=d[d.length-1];m===b&&(f++<2?s="\n ".concat(m).concat(s):a=m,c.pop(),d.pop(),0!==c.length&&0!==d.length);)m=c[c.length-1],b=d[d.length-1];var v=Math.max(c.length,d.length);if(0===v){var x=u.split("\n");if(x.length>30)for(x[26]="".concat(w,"...").concat(S);x.length>27;)x.pop();return"".concat(T.notIdentical,"\n\n").concat(x.join("\n"),"\n")}f>3&&(s="\n".concat(w,"...").concat(S).concat(s),l=!0),""!==a&&(s="\n ".concat(a).concat(s),a="");var A=0,O=T[n]+"\n".concat(E,"+ actual").concat(S," ").concat(k,"- expected").concat(S),C=" ".concat(w,"...").concat(S," Lines skipped");for(f=0;f1&&f>2&&(N>4?(o+="\n".concat(w,"...").concat(S),l=!0):N>3&&(o+="\n ".concat(d[f-2]),A++),o+="\n ".concat(d[f-1]),A++),i=f,a+="\n".concat(k,"-").concat(S," ").concat(d[f]),A++;else if(d.length1&&f>2&&(N>4?(o+="\n".concat(w,"...").concat(S),l=!0):N>3&&(o+="\n ".concat(c[f-2]),A++),o+="\n ".concat(c[f-1]),A++),i=f,o+="\n".concat(E,"+").concat(S," ").concat(c[f]),A++;else{var P=d[f],L=c[f],I=L!==P&&(!y(L,",")||L.slice(0,-1)!==P);I&&y(P,",")&&P.slice(0,-1)===L&&(I=!1,L+=","),I?(N>1&&f>2&&(N>4?(o+="\n".concat(w,"...").concat(S),l=!0):N>3&&(o+="\n ".concat(c[f-2]),A++),o+="\n ".concat(c[f-1]),A++),i=f,o+="\n".concat(E,"+").concat(S," ").concat(L),a+="\n".concat(k,"-").concat(S," ").concat(P),A+=2):(o+=a,a="",1!==N&&0!==f||(o+="\n ".concat(L),A++))}if(A>20&&f30)for(p[26]="".concat(w,"...").concat(S);p.length>27;)p.pop();t=1===p.length?f.call(this,"".concat(d," ").concat(p[0])):f.call(this,"".concat(d,"\n\n").concat(p.join("\n"),"\n"))}else{var g=_(i),m="",b=T[a];"notDeepEqual"===a||"notEqual"===a?(g="".concat(T[a],"\n\n").concat(g)).length>1024&&(g="".concat(g.slice(0,1021),"...")):(m="".concat(_(s)),g.length>512&&(g="".concat(g.slice(0,509),"...")),m.length>512&&(m="".concat(m.slice(0,509),"...")),"deepEqual"===a||"equal"===a?g="".concat(b,"\n\n").concat(g,"\n\nshould equal\n\n"):m=" ".concat(a," ").concat(m)),t=f.call(this,"".concat(g).concat(m))}return Error.stackTraceLimit=l,t.generatedMessage=!n,Object.defineProperty(c(t),"name",{value:"AssertionError [ERR_ASSERTION]",enumerable:!1,writable:!0,configurable:!0}),t.code="ERR_ASSERTION",t.actual=i,t.expected=s,t.operator=a,Error.captureStackTrace&&Error.captureStackTrace(c(t),o),t.stack,t.name="AssertionError",u(t)}return i=y,(l=[{key:"toString",value:function(){return"".concat(this.name," [").concat(this.code,"]: ").concat(this.message)}},{key:t,value:function(e,t){return b(this,o(o({},t),{},{customInspect:!1,depth:0}))}}])&&s(i.prototype,l),d&&s(i,d),Object.defineProperty(i,"prototype",{writable:!1}),y}(d(Error),b.custom);e.exports=O},62136:(e,t,n)=>{"use strict";function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function a(e,t){for(var n=0;n2?"one of ".concat(t," ").concat(e.slice(0,n-1).join(", "),", or ")+e[n-1]:2===n?"one of ".concat(t," ").concat(e[0]," or ").concat(e[1]):"of ".concat(t," ").concat(e[0])}return"of ".concat(t," ").concat(String(e))}f("ERR_AMBIGUOUS_ARGUMENT",'The "%s" argument is ambiguous. %s',TypeError),f("ERR_INVALID_ARG_TYPE",(function(e,t,a){var o,i,s,l;if(void 0===u&&(u=n(69282)),u("string"==typeof e,"'name' must be a string"),"string"==typeof t&&(i="not ",t.substr(!s||s<0?0:+s,i.length)===i)?(o="must not be",t=t.replace(/^not /,"")):o="must be",function(e,t,n){return(void 0===n||n>e.length)&&(n=e.length),e.substring(n-t.length,n)===t}(e," argument"))l="The ".concat(e," ").concat(o," ").concat(p(t,"type"));else{var c=function(e,t,n){return"number"!=typeof n&&(n=0),!(n+t.length>e.length)&&-1!==e.indexOf(t,n)}(e,".")?"property":"argument";l='The "'.concat(e,'" ').concat(c," ").concat(o," ").concat(p(t,"type"))}return l+=". Received type ".concat(r(a))}),TypeError),f("ERR_INVALID_ARG_VALUE",(function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"is invalid";void 0===c&&(c=n(89539));var a=c.inspect(t);return a.length>128&&(a="".concat(a.slice(0,128),"...")),"The argument '".concat(e,"' ").concat(r,". Received ").concat(a)}),TypeError,RangeError),f("ERR_INVALID_RETURN_VALUE",(function(e,t,n){var a;return a=n&&n.constructor&&n.constructor.name?"instance of ".concat(n.constructor.name):"type ".concat(r(n)),"Expected ".concat(e,' to be returned from the "').concat(t,'"')+" function but got ".concat(a,".")}),TypeError),f("ERR_MISSING_ARGS",(function(){for(var e=arguments.length,t=new Array(e),r=0;r0,"At least one arg needs to be specified");var a="The ",o=t.length;switch(t=t.map((function(e){return'"'.concat(e,'"')})),o){case 1:a+="".concat(t[0]," argument");break;case 2:a+="".concat(t[0]," and ").concat(t[1]," arguments");break;default:a+=t.slice(0,o-1).join(", "),a+=", and ".concat(t[o-1]," arguments")}return"".concat(a," must be specified")}),TypeError),e.exports.codes=d},19158:(e,t,n)=>{"use strict";function r(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,o,i,s=[],l=!0,u=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=o.call(n)).done)&&(s.push(r.value),s.length!==t);l=!0);}catch(e){u=!0,a=e}finally{try{if(!l&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(u)throw a}}return s}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return a(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return a(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n10)return!0;for(var t=0;t57)return!0}return 10===e.length&&e>=Math.pow(2,32)}function I(e){return Object.keys(e).filter(L).concat(c(e).filter(Object.prototype.propertyIsEnumerable.bind(e)))}function R(e,t){if(e===t)return 0;for(var n=e.length,r=t.length,a=0,o=Math.min(n,r);a{"use strict";n.d(t,{Z:()=>p});var r=n(67294),a=n(87462),o=n(68356),i=n.n(o),s=n(16887);const l={"01a85c17":[()=>Promise.all([n.e(532),n.e(4013)]).then(n.bind(n,91223)),"@theme/BlogTagsListPage",91223],"02535a17":[()=>n.e(151).then(n.bind(n,44638)),"@site/docs/developer-guide/basic-mode/data-sources/json.mdx",44638],"0cf64eed":[()=>n.e(1407).then(n.bind(n,78447)),"@site/docs/introduction/modules/parser.mdx",78447],"14fde6e1":[()=>n.e(6371).then(n.bind(n,15561)),"@site/docs/user-guide/coverage/comparison-operators.mdx",15561],17896441:[()=>Promise.all([n.e(532),n.e(7821),n.e(7918)]).then(n.bind(n,78945)),"@theme/DocItem",78945],"1819517c":[()=>n.e(2132).then(n.bind(n,897)),"@site/docs/user-guide/coverage/time-operators.mdx",897],"19c89a5b":[()=>n.e(620).then(n.t.bind(n,87458,19)),"~blog/default/trevas-blog-tags-sdmx-034-list.json",87458],"1a0068d9":[()=>n.e(3612).then(n.bind(n,54128)),"@site/docs/developer-guide/spark-mode/index-spark-mode.mdx",54128],"1a147715":[()=>n.e(5448).then(n.t.bind(n,83769,19)),"/home/runner/work/Trevas/Trevas/docs/.docusaurus/docusaurus-plugin-content-docs/default/plugin-route-context-module-100.json",83769],"1be78505":[()=>Promise.all([n.e(532),n.e(9514)]).then(n.bind(n,19963)),"@theme/DocPage",19963],"1cce9cf2":[()=>n.e(5289).then(n.bind(n,46972)),"@site/blog/2023-07-01-v1-trevas-lab-0.3.3.mdx",46972],"1d02d4bc":[()=>n.e(1758).then(n.bind(n,70945)),"@site/blog/2024-06-25-trevas-sdmx.mdx",70945],"1df93b7f":[()=>n.e(3237).then(n.bind(n,76473)),"@site/src/pages/index.tsx",76473],"1e1a8812":[()=>Promise.all([n.e(532),n.e(7821),n.e(5134)]).then(n.bind(n,56612)),"@site/docs/user-guide/vtl/client-apps/index-client-apps.mdx",56612],"1e2984e9":[()=>n.e(3590).then(n.bind(n,52367)),"@site/blog/2024-06-25-trevas-sdmx.mdx?truncated=true",52367],"220e2888":[()=>n.e(4479).then(n.bind(n,57780)),"@site/blog/2024-06-21-temporal-operators.mdx",57780],"23c71902":[()=>n.e(200).then(n.bind(n,37255)),"@site/docs/administrator-guide/grammar/index-grammar.mdx",37255],"2f09a0f7":[()=>n.e(9966).then(n.bind(n,53447)),"@site/blog/2023-11-22-trevas-java-17.mdx?truncated=true",53447],"354b54d5":[()=>Promise.all([n.e(532),n.e(7821),n.e(9355)]).then(n.bind(n,98542)),"@site/docs/developer-guide/spark-mode/data-sources/index-data-sources.mdx",98542],"35e3f942":[()=>Promise.all([n.e(9701),n.e(1440)]).then(n.bind(n,14226)),"@site/docs/introduction/index-introduction.mdx",14226],"368c9ba6":[()=>n.e(294).then(n.bind(n,90974)),"@site/blog/2023-11-22-trevas-persistent-assignment.mdx?truncated=true",90974],"3b877833":[()=>n.e(6275).then(n.bind(n,32571)),"@site/docs/introduction/modules/jdbc.mdx",32571],"3cc20334":[()=>n.e(2046).then(n.t.bind(n,84643,19)),"~blog/default/trevas-blog-archive-bd0.json",84643],"3e2612b7":[()=>n.e(2391).then(n.bind(n,45696)),"@site/docs/user-guide/coverage/data-validation-operators.mdx",45696],"46e283ff":[()=>Promise.all([n.e(532),n.e(7821),n.e(672)]).then(n.bind(n,21721)),"@site/docs/developer-guide/basic-mode/data-sources/index-data-sources.mdx",21721],"48d580b4":[()=>n.e(5791).then(n.bind(n,40972)),"@site/blog/2024-06-21-temporal-operators.mdx?truncated=true",40972],"503f63c3":[()=>n.e(2342).then(n.bind(n,97484)),"@site/docs/user-guide/coverage/numeric-operators.mdx",97484],"554dbc72":[()=>n.e(6011).then(n.bind(n,16357)),"@site/docs/user-guide/coverage/clause-operators.mdx",16357],"570a00ca":[()=>n.e(1282).then(n.t.bind(n,29959,19)),"~blog/default/trevas-blog-e97.json",29959],"5de07297":[()=>Promise.all([n.e(532),n.e(7821),n.e(346)]).then(n.bind(n,51741)),"@site/docs/introduction/modules/index-modules.mdx",51741],"5e9f5e1a":[()=>Promise.resolve().then(n.bind(n,36809)),"@generated/docusaurus.config",36809],"62c15c37":[()=>n.e(8823).then(n.bind(n,90246)),"@site/docs/user-guide/coverage/hierarchical-aggregation.mdx",90246],"64f61d32":[()=>n.e(4587).then(n.t.bind(n,80439,19)),"~blog/default/trevas-blog-tags-trevas-jupyter-d7d-list.json",80439],"6875c492":[()=>Promise.all([n.e(532),n.e(7821),n.e(2529),n.e(8610)]).then(n.bind(n,41714)),"@theme/BlogTagsPostsPage",41714],"6f92c26f":[()=>n.e(6862).then(n.t.bind(n,12940,19)),"~blog/default/trevas-blog-tags-trevas-lab-90f-list.json",12940],"7684ca26":[()=>n.e(4674).then(n.bind(n,51045)),"@site/docs/introduction/modules/engine.mdx",51045],"791a1ca3":[()=>n.e(1213).then(n.bind(n,2494)),"@site/blog/2023-09-01-trevas-check_hierarchy.mdx?truncated=true",2494],"814f3328":[()=>n.e(2535).then(n.t.bind(n,45641,19)),"~blog/default/blog-post-list-prop-default.json",45641],"8150d321":[()=>n.e(1449).then(n.bind(n,4188)),"@site/docs/user-guide/coverage/general-operators.mdx",4188],"86576c4a":[()=>n.e(5571).then(n.bind(n,38209)),"@site/blog/2023-07-01-v1-trevas-jupyter-0.3.2.mdx",38209],"872dffe5":[()=>n.e(5733).then(n.bind(n,13677)),"@site/docs/user-guide/coverage/conditional-operators.mdx",13677],"8ba232b3":[()=>n.e(9686).then(n.t.bind(n,15745,19)),"/home/runner/work/Trevas/Trevas/docs/.docusaurus/docusaurus-plugin-content-pages/default/plugin-route-context-module-100.json",15745],"8fd96d3a":[()=>n.e(7872).then(n.bind(n,25964)),"@site/docs/user-guide/vtl/index-vtl.mdx",25964],"90a36847":[()=>n.e(2949).then(n.bind(n,24334)),"@site/blog/2023-09-01-trevas-check_hierarchy.mdx",24334],"935f2afb":[()=>n.e(53).then(n.t.bind(n,1109,19)),"~docs/default/version-current-metadata-prop-751.json",1109],"94122fc7":[()=>n.e(6658).then(n.bind(n,16341)),"@site/docs/user-guide/coverage/aggregate-operators.mdx",16341],"96ee6e4d":[()=>n.e(4898).then(n.bind(n,61058)),"@site/docs/developer-guide/basic-mode/data-sources/jdbc.mdx",61058],"9866fcdb":[()=>n.e(99).then(n.bind(n,57158)),"@site/blog/2023-11-22-trevas-persistent-assignment.mdx",57158],"99190bf7":[()=>n.e(2493).then(n.t.bind(n,45543,19)),"~blog/default/trevas-blog-tags-trevas-lab-90f.json",45543],"99f288bd":[()=>n.e(7289).then(n.bind(n,76386)),"@site/blog/2023-07-02-trevas-batch-0.1.1.mdx",76386],"9ab17b88":[()=>n.e(3682).then(n.bind(n,23936)),"@site/blog/2023-11-22-trevas-java-17.mdx",23936],"9beb3b0d":[()=>n.e(4875).then(n.bind(n,52272)),"@site/docs/user-guide/coverage/join-operators.mdx",52272],"9e4087bc":[()=>n.e(3608).then(n.bind(n,63169)),"@theme/BlogArchivePage",63169],a1fdcfaa:[()=>n.e(8336).then(n.bind(n,89531)),"@site/docs/user-guide/coverage/analytic-operators.mdx",89531],a2e0904c:[()=>n.e(7318).then(n.bind(n,85174)),"@site/docs/user-guide/vtl/client-apps/lab/index-lab.mdx",85174],a35ba3f2:[()=>Promise.all([n.e(532),n.e(2670),n.e(471)]).then(n.bind(n,40959)),"@site/docs/user-guide/vtl/sas-vtl/rename.mdx",40959],a6aa9e1f:[()=>Promise.all([n.e(532),n.e(7821),n.e(2529),n.e(3089)]).then(n.bind(n,80046)),"@theme/BlogListPage",80046],aa19e7f2:[()=>Promise.all([n.e(532),n.e(7821),n.e(9661)]).then(n.bind(n,17451)),"@site/docs/user-guide/coverage/index-coverage.mdx",17451],ad8ad629:[()=>n.e(5919).then(n.bind(n,12719)),"@site/docs/introduction/releases/1.x.x.mdx",12719],ae1c251f:[()=>n.e(1818).then(n.bind(n,38890)),"@site/docs/developer-guide/basic-mode/data-sources/others.mdx",38890],b0fc953b:[()=>n.e(4430).then(n.bind(n,20273)),"@site/blog/2023-07-01-v1-trevas-jupyter-0.3.2.mdx?truncated=true",20273],b2c48e10:[()=>n.e(7501).then(n.bind(n,80229)),"@site/docs/user-guide/coverage/boolean-operators.mdx",80229],b4bea578:[()=>n.e(9310).then(n.t.bind(n,24469,19)),"/home/runner/work/Trevas/Trevas/docs/.docusaurus/docusaurus-plugin-content-blog/default/plugin-route-context-module-100.json",24469],b720a178:[()=>n.e(3205).then(n.bind(n,23715)),"@site/docs/developer-guide/spark-mode/data-sources/jdbc.mdx",23715],ba73db49:[()=>n.e(7603).then(n.t.bind(n,56875,19)),"~blog/default/trevas-blog-tags-trevas-batch-d30-list.json",56875],bb123c67:[()=>n.e(1448).then(n.bind(n,84426)),"@site/docs/developer-guide/spark-mode/data-sources/csv.mdx",84426],bd189211:[()=>n.e(178).then(n.bind(n,96428)),"@site/docs/introduction/modules/sdmx.mdx",96428],bf7f84bd:[()=>n.e(7797).then(n.bind(n,62231)),"@site/docs/developer-guide/basic-mode/index-basic-mode.mdx",62231],c40373c7:[()=>n.e(3269).then(n.bind(n,63781)),"@site/docs/user-guide/vtl/client-apps/jupyter/index-jupyter.mdx",63781],c56a3d8b:[()=>n.e(6475).then(n.bind(n,47045)),"@site/blog/2023-07-01-v1-trevas-lab-0.3.3.mdx?truncated=true",47045],c5f4dbae:[()=>n.e(8875).then(n.t.bind(n,27332,19)),"~blog/default/trevas-blog-tags-sdmx-034.json",27332],c747d197:[()=>n.e(5148).then(n.bind(n,30320)),"@site/docs/developer-guide/spark-mode/data-sources/parquet.mdx",30320],cae36d5a:[()=>Promise.all([n.e(532),n.e(7821),n.e(7641)]).then(n.bind(n,48742)),"@site/docs/introduction/releases/index-releases.mdx",48742],ccc49370:[()=>Promise.all([n.e(532),n.e(7821),n.e(2529),n.e(6103)]).then(n.bind(n,65203)),"@theme/BlogPostPage",65203],cd8150f4:[()=>n.e(6454).then(n.bind(n,40986)),"@site/docs/introduction/modules/jackson.mdx",40986],d36c949f:[()=>n.e(5865).then(n.bind(n,22785)),"@site/blog/2023-07-02-trevas-batch-0.1.1.mdx?truncated=true",22785],d391f8f6:[()=>n.e(8969).then(n.bind(n,69152)),"@site/docs/user-guide/coverage/string-operators.mdx",69152],d49f6109:[()=>n.e(6577).then(n.bind(n,37935)),"@site/docs/developer-guide/spark-mode/data-sources/others.mdx",37935],d6a95060:[()=>n.e(2991).then(n.t.bind(n,50453,19)),"~blog/default/trevas-blog-tags-trevas-7a7-list.json",50453],d91481b0:[()=>n.e(953).then(n.bind(n,79410)),"@site/docs/introduction/modules/spark.mdx",79410],da252290:[()=>n.e(2896).then(n.t.bind(n,67079,19)),"~blog/default/trevas-blog-tags-trevas-7a7.json",67079],dc49e957:[()=>Promise.all([n.e(532),n.e(2670),n.e(7947)]).then(n.bind(n,59866)),"@site/docs/user-guide/vtl/sas-vtl/drop.mdx",59866],dd7c4970:[()=>Promise.all([n.e(532),n.e(2670),n.e(7214)]).then(n.bind(n,92670)),"@site/docs/user-guide/vtl/sas-vtl/keep.mdx",92670],df326e44:[()=>n.e(611).then(n.t.bind(n,73345,19)),"~blog/default/trevas-blog-tags-trevas-jupyter-d7d.json",73345],e39b44de:[()=>Promise.all([n.e(532),n.e(7821),n.e(7655)]).then(n.bind(n,19275)),"@site/docs/user-guide/vtl/sas-vtl/index-sas-vtl.mdx",19275],e98a9f0e:[()=>Promise.all([n.e(532),n.e(7821),n.e(1814)]).then(n.bind(n,66637)),"@site/docs/developer-guide/index-developer-guide.mdx",66637],ece2eec8:[()=>n.e(573).then(n.bind(n,46962)),"@site/docs/user-guide/coverage/set-operators.mdx",46962],f8579484:[()=>n.e(8342).then(n.t.bind(n,20209,19)),"~blog/default/trevas-blog-tags-tags-157.json",20209],f8b399a8:[()=>n.e(8480).then(n.bind(n,53213)),"@site/docs/introduction/modules/csv.mdx",53213],fb716277:[()=>n.e(3662).then(n.t.bind(n,16673,19)),"~blog/default/trevas-blog-tags-trevas-batch-d30.json",16673],fbee1c08:[()=>n.e(1235).then(n.bind(n,71427)),"@site/docs/introduction/modules/model.mdx",71427]};function u(e){let{error:t,retry:n,pastDelay:a}=e;return t?r.createElement("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"}},r.createElement("p",null,String(t)),r.createElement("div",null,r.createElement("button",{type:"button",onClick:n},"Retry"))):a?r.createElement("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"}},r.createElement("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb"},r.createElement("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2"},r.createElement("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0"},r.createElement("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})),r.createElement("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0"},r.createElement("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})),r.createElement("circle",{cx:"22",cy:"22",r:"8"},r.createElement("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"}))))):null}var c=n(99670),d=n(30226);function f(e,t){if("*"===e)return i()({loading:u,loader:()=>n.e(5393).then(n.bind(n,85393)),modules:["@theme/NotFound"],webpack:()=>[85393],render(e,t){const n=e.default;return r.createElement(d.z,{value:{plugin:{name:"native",id:"default"}}},r.createElement(n,t))}});const o=s[`${e}-${t}`],f={},p=[],g=[],m=(0,c.Z)(o);return Object.entries(m).forEach((e=>{let[t,n]=e;const r=l[n];r&&(f[t]=r[0],p.push(r[1]),g.push(r[2]))})),i().Map({loading:u,loader:f,modules:p,webpack:()=>g,render(t,n){const i=JSON.parse(JSON.stringify(o));Object.entries(t).forEach((t=>{let[n,r]=t;const a=r.default;if(!a)throw new Error(`The page component at ${e} doesn't have a default export. This makes it impossible to render anything. Consider default-exporting a React component.`);"object"!=typeof a&&"function"!=typeof a||Object.keys(r).filter((e=>"default"!==e)).forEach((e=>{a[e]=r[e]}));let o=i;const s=n.split(".");s.slice(0,-1).forEach((e=>{o=o[e]})),o[s[s.length-1]]=a}));const s=i.__comp;delete i.__comp;const l=i.__context;return delete i.__context,r.createElement(d.z,{value:l},r.createElement(s,(0,a.Z)({},i,n)))}})}const p=[{path:"/Trevas/blog",component:f("/Trevas/blog","7bd"),exact:!0},{path:"/Trevas/blog/archive",component:f("/Trevas/blog/archive","b78"),exact:!0},{path:"/Trevas/blog/tags",component:f("/Trevas/blog/tags","cd4"),exact:!0},{path:"/Trevas/blog/tags/sdmx",component:f("/Trevas/blog/tags/sdmx","2ee"),exact:!0},{path:"/Trevas/blog/tags/trevas",component:f("/Trevas/blog/tags/trevas","e2b"),exact:!0},{path:"/Trevas/blog/tags/trevas-batch",component:f("/Trevas/blog/tags/trevas-batch","683"),exact:!0},{path:"/Trevas/blog/tags/trevas-jupyter",component:f("/Trevas/blog/tags/trevas-jupyter","786"),exact:!0},{path:"/Trevas/blog/tags/trevas-lab",component:f("/Trevas/blog/tags/trevas-lab","e0d"),exact:!0},{path:"/Trevas/blog/trevas-batch-0.1.1",component:f("/Trevas/blog/trevas-batch-0.1.1","d53"),exact:!0},{path:"/Trevas/blog/trevas-check_hierarchy",component:f("/Trevas/blog/trevas-check_hierarchy","b58"),exact:!0},{path:"/Trevas/blog/trevas-java-17",component:f("/Trevas/blog/trevas-java-17","b0a"),exact:!0},{path:"/Trevas/blog/trevas-jupyter-0.3.2",component:f("/Trevas/blog/trevas-jupyter-0.3.2","846"),exact:!0},{path:"/Trevas/blog/trevas-lab-0.3.3",component:f("/Trevas/blog/trevas-lab-0.3.3","fd1"),exact:!0},{path:"/Trevas/blog/trevas-persistent-assignments",component:f("/Trevas/blog/trevas-persistent-assignments","7e3"),exact:!0},{path:"/Trevas/blog/trevas-sdmx",component:f("/Trevas/blog/trevas-sdmx","f0e"),exact:!0},{path:"/Trevas/blog/trevas-temporal-operators",component:f("/Trevas/blog/trevas-temporal-operators","d71"),exact:!0},{path:"/Trevas/",component:f("/Trevas/","174"),exact:!0},{path:"/Trevas/",component:f("/Trevas/","d36"),routes:[{path:"/Trevas/administrator-guide/grammar",component:f("/Trevas/administrator-guide/grammar","11c"),exact:!0,sidebar:"docs"},{path:"/Trevas/developer-guide",component:f("/Trevas/developer-guide","e89"),exact:!0,sidebar:"docs"},{path:"/Trevas/developer-guide/basic-mode",component:f("/Trevas/developer-guide/basic-mode","673"),exact:!0,sidebar:"docs"},{path:"/Trevas/developer-guide/basic-mode/data-sources",component:f("/Trevas/developer-guide/basic-mode/data-sources","dba"),exact:!0,sidebar:"docs"},{path:"/Trevas/developer-guide/basic-mode/data-sources/jdbc",component:f("/Trevas/developer-guide/basic-mode/data-sources/jdbc","73d"),exact:!0,sidebar:"docs"},{path:"/Trevas/developer-guide/basic-mode/data-sources/json",component:f("/Trevas/developer-guide/basic-mode/data-sources/json","f6f"),exact:!0,sidebar:"docs"},{path:"/Trevas/developer-guide/basic-mode/data-sources/others",component:f("/Trevas/developer-guide/basic-mode/data-sources/others","1af"),exact:!0,sidebar:"docs"},{path:"/Trevas/developer-guide/spark-mode",component:f("/Trevas/developer-guide/spark-mode","968"),exact:!0,sidebar:"docs"},{path:"/Trevas/developer-guide/spark-mode/data-sources",component:f("/Trevas/developer-guide/spark-mode/data-sources","fbf"),exact:!0,sidebar:"docs"},{path:"/Trevas/developer-guide/spark-mode/data-sources/csv",component:f("/Trevas/developer-guide/spark-mode/data-sources/csv","cea"),exact:!0,sidebar:"docs"},{path:"/Trevas/developer-guide/spark-mode/data-sources/jdbc",component:f("/Trevas/developer-guide/spark-mode/data-sources/jdbc","2d2"),exact:!0,sidebar:"docs"},{path:"/Trevas/developer-guide/spark-mode/data-sources/others",component:f("/Trevas/developer-guide/spark-mode/data-sources/others","241"),exact:!0,sidebar:"docs"},{path:"/Trevas/developer-guide/spark-mode/data-sources/parquet",component:f("/Trevas/developer-guide/spark-mode/data-sources/parquet","2d9"),exact:!0,sidebar:"docs"},{path:"/Trevas/introduction",component:f("/Trevas/introduction","cf6"),exact:!0,sidebar:"docs"},{path:"/Trevas/modules",component:f("/Trevas/modules","3dc"),exact:!0,sidebar:"docs"},{path:"/Trevas/modules/csv",component:f("/Trevas/modules/csv","61d"),exact:!0,sidebar:"docs"},{path:"/Trevas/modules/engine",component:f("/Trevas/modules/engine","408"),exact:!0,sidebar:"docs"},{path:"/Trevas/modules/jackson",component:f("/Trevas/modules/jackson","028"),exact:!0,sidebar:"docs"},{path:"/Trevas/modules/jdbc",component:f("/Trevas/modules/jdbc","a59"),exact:!0,sidebar:"docs"},{path:"/Trevas/modules/model",component:f("/Trevas/modules/model","662"),exact:!0,sidebar:"docs"},{path:"/Trevas/modules/parser",component:f("/Trevas/modules/parser","7b8"),exact:!0,sidebar:"docs"},{path:"/Trevas/modules/sdmx",component:f("/Trevas/modules/sdmx","158"),exact:!0,sidebar:"docs"},{path:"/Trevas/modules/spark",component:f("/Trevas/modules/spark","71d"),exact:!0,sidebar:"docs"},{path:"/Trevas/releases",component:f("/Trevas/releases","8aa"),exact:!0,sidebar:"docs"},{path:"/Trevas/releases/1.x.x",component:f("/Trevas/releases/1.x.x","840"),exact:!0,sidebar:"docs"},{path:"/Trevas/user-guide/coverage",component:f("/Trevas/user-guide/coverage","d0d"),exact:!0,sidebar:"docs"},{path:"/Trevas/user-guide/coverage/aggregate-operators",component:f("/Trevas/user-guide/coverage/aggregate-operators","b45"),exact:!0,sidebar:"docs"},{path:"/Trevas/user-guide/coverage/analytic-operators",component:f("/Trevas/user-guide/coverage/analytic-operators","221"),exact:!0,sidebar:"docs"},{path:"/Trevas/user-guide/coverage/boolean-operators",component:f("/Trevas/user-guide/coverage/boolean-operators","0da"),exact:!0,sidebar:"docs"},{path:"/Trevas/user-guide/coverage/clause-operators",component:f("/Trevas/user-guide/coverage/clause-operators","cbb"),exact:!0,sidebar:"docs"},{path:"/Trevas/user-guide/coverage/comparison-operators",component:f("/Trevas/user-guide/coverage/comparison-operators","ce4"),exact:!0,sidebar:"docs"},{path:"/Trevas/user-guide/coverage/conditional-operators",component:f("/Trevas/user-guide/coverage/conditional-operators","be7"),exact:!0,sidebar:"docs"},{path:"/Trevas/user-guide/coverage/data-validation-operators",component:f("/Trevas/user-guide/coverage/data-validation-operators","661"),exact:!0,sidebar:"docs"},{path:"/Trevas/user-guide/coverage/general-operators",component:f("/Trevas/user-guide/coverage/general-operators","de0"),exact:!0,sidebar:"docs"},{path:"/Trevas/user-guide/coverage/hierarchical-aggregation",component:f("/Trevas/user-guide/coverage/hierarchical-aggregation","85f"),exact:!0,sidebar:"docs"},{path:"/Trevas/user-guide/coverage/join-operators",component:f("/Trevas/user-guide/coverage/join-operators","bb5"),exact:!0,sidebar:"docs"},{path:"/Trevas/user-guide/coverage/numeric-operators",component:f("/Trevas/user-guide/coverage/numeric-operators","e76"),exact:!0,sidebar:"docs"},{path:"/Trevas/user-guide/coverage/set-operators",component:f("/Trevas/user-guide/coverage/set-operators","9d9"),exact:!0,sidebar:"docs"},{path:"/Trevas/user-guide/coverage/string-operators",component:f("/Trevas/user-guide/coverage/string-operators","704"),exact:!0,sidebar:"docs"},{path:"/Trevas/user-guide/coverage/time-operators",component:f("/Trevas/user-guide/coverage/time-operators","0d8"),exact:!0,sidebar:"docs"},{path:"/Trevas/user-guide/vtl",component:f("/Trevas/user-guide/vtl","1d4"),exact:!0,sidebar:"docs"},{path:"/Trevas/user-guide/vtl/client-apps",component:f("/Trevas/user-guide/vtl/client-apps","45d"),exact:!0,sidebar:"docs"},{path:"/Trevas/user-guide/vtl/client-apps/jupyter",component:f("/Trevas/user-guide/vtl/client-apps/jupyter","638"),exact:!0,sidebar:"docs"},{path:"/Trevas/user-guide/vtl/client-apps/lab",component:f("/Trevas/user-guide/vtl/client-apps/lab","f64"),exact:!0,sidebar:"docs"},{path:"/Trevas/user-guide/vtl/sas-vtl",component:f("/Trevas/user-guide/vtl/sas-vtl","dc0"),exact:!0,sidebar:"docs"},{path:"/Trevas/user-guide/vtl/sas-vtl/drop",component:f("/Trevas/user-guide/vtl/sas-vtl/drop","5d1"),exact:!0,sidebar:"docs"},{path:"/Trevas/user-guide/vtl/sas-vtl/keep",component:f("/Trevas/user-guide/vtl/sas-vtl/keep","3c0"),exact:!0,sidebar:"docs"},{path:"/Trevas/user-guide/vtl/sas-vtl/rename",component:f("/Trevas/user-guide/vtl/sas-vtl/rename","2b3"),exact:!0,sidebar:"docs"}]},{path:"*",component:f("*")}]},98934:(e,t,n)=>{"use strict";n.d(t,{_:()=>a,t:()=>o});var r=n(67294);const a=r.createContext(!1);function o(e){let{children:t}=e;const[n,o]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{o(!0)}),[]),r.createElement(a.Provider,{value:n},t)}},49383:(e,t,n)=>{"use strict";var r=n(67294),a=n(73935),o=n(73727),i=n(70405),s=n(10412);const l=[n(32497),n(3310),n(18320),n(93878)];var u=n(723),c=n(16550),d=n(18790);function f(e){let{children:t}=e;return r.createElement(r.Fragment,null,t)}var p=n(87462),g=n(35742),m=n(52263),h=n(44996),b=n(86668),v=n(1944),y=n(94711),w=n(19727),E=n(43320),k=n(90197);function S(){const{i18n:{defaultLocale:e,localeConfigs:t}}=(0,m.Z)(),n=(0,y.l)();return r.createElement(g.Z,null,Object.entries(t).map((e=>{let[t,{htmlLang:a}]=e;return r.createElement("link",{key:t,rel:"alternate",href:n.createUrl({locale:t,fullyQualified:!0}),hrefLang:a})})),r.createElement("link",{rel:"alternate",href:n.createUrl({locale:e,fullyQualified:!0}),hrefLang:"x-default"}))}function T(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,m.Z)(),a=function(){const{siteConfig:{url:e}}=(0,m.Z)(),{pathname:t}=(0,c.TH)();return e+(0,h.Z)(t)}(),o=t?`${n}${t}`:a;return r.createElement(g.Z,null,r.createElement("meta",{property:"og:url",content:o}),r.createElement("link",{rel:"canonical",href:o}))}function x(){const{i18n:{currentLocale:e}}=(0,m.Z)(),{metadata:t,image:n}=(0,b.L)();return r.createElement(r.Fragment,null,r.createElement(g.Z,null,r.createElement("meta",{name:"twitter:card",content:"summary_large_image"}),r.createElement("body",{className:w.h})),n&&r.createElement(v.d,{image:n}),r.createElement(T,null),r.createElement(S,null),r.createElement(k.Z,{tag:E.HX,locale:e}),r.createElement(g.Z,null,t.map(((e,t)=>r.createElement("meta",(0,p.Z)({key:t},e))))))}const _=new Map;function A(e){if(_.has(e.pathname))return{...e,pathname:_.get(e.pathname)};if((0,d.f)(u.Z,e.pathname).some((e=>{let{route:t}=e;return!0===t.exact})))return _.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return _.set(e.pathname,t),{...e,pathname:t}}var O=n(98934),C=n(58940);function N(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r{var r;const a=(null==(r=t.default)?void 0:r[e])??t[e];return null==a?void 0:a(...n)}));return()=>a.forEach((e=>null==e?void 0:e()))}const P=function(e){let{children:t,location:n,previousLocation:a}=e;return(0,r.useLayoutEffect)((()=>{a!==n&&(!function(e){let{location:t,previousLocation:n}=e;if(!n)return;const r=t.pathname===n.pathname,a=t.hash===n.hash,o=t.search===n.search;if(r&&a&&!o)return;const{hash:i}=t;if(i){const e=decodeURIComponent(i.substring(1)),t=document.getElementById(e);null==t||t.scrollIntoView()}else window.scrollTo(0,0)}({location:n,previousLocation:a}),N("onRouteDidUpdate",{previousLocation:a,location:n}))}),[a,n]),t};function L(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,d.f)(u.Z,e))).flat();return Promise.all(t.map((e=>null==e.route.component.preload?void 0:e.route.component.preload())))}var I=n(25108);class R extends r.Component{previousLocation;routeUpdateCleanupCb;constructor(e){super(e),this.previousLocation=null,this.routeUpdateCleanupCb=s.Z.canUseDOM?N("onRouteUpdate",{previousLocation:null,location:this.props.location}):()=>{},this.state={nextRouteHasLoaded:!0}}shouldComponentUpdate(e,t){if(e.location===this.props.location)return t.nextRouteHasLoaded;const n=e.location;return this.previousLocation=this.props.location,this.setState({nextRouteHasLoaded:!1}),this.routeUpdateCleanupCb=N("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),L(n.pathname).then((()=>{this.routeUpdateCleanupCb(),this.setState({nextRouteHasLoaded:!0})})).catch((e=>{I.warn(e),window.location.reload()})),!1}render(){const{children:e,location:t}=this.props;return r.createElement(P,{previousLocation:this.previousLocation,location:t},r.createElement(c.AW,{location:t,render:()=>e}))}}const j=R,D="__docusaurus-base-url-issue-banner-container",M="__docusaurus-base-url-issue-banner-suggestion-container",F="__DOCUSAURUS_INSERT_BASEURL_BANNER";function B(e){return`\nwindow['${F}'] = true;\n\ndocument.addEventListener('DOMContentLoaded', maybeInsertBanner);\n\nfunction maybeInsertBanner() {\n var shouldInsert = window['${F}'];\n shouldInsert && insertBanner();\n}\n\nfunction insertBanner() {\n var bannerContainer = document.getElementById('${D}');\n if (!bannerContainer) {\n return;\n }\n var bannerHtml = ${JSON.stringify(function(e){return`\n
\n

Your Docusaurus site did not load properly.

\n

A very common reason is a wrong site baseUrl configuration.

\n

Current configured baseUrl = ${e} ${"/"===e?" (default value)":""}

\n

We suggest trying baseUrl =

\n
\n`}(e)).replace(/{window[F]=!1}),[]),r.createElement(r.Fragment,null,!s.Z.canUseDOM&&r.createElement(g.Z,null,r.createElement("script",null,B(e))),r.createElement("div",{id:D}))}function $(){const{siteConfig:{baseUrl:e,baseUrlIssueBanner:t}}=(0,m.Z)(),{pathname:n}=(0,c.TH)();return t&&n===e?r.createElement(U,null):null}function z(){const{siteConfig:{favicon:e,title:t,noIndex:n},i18n:{currentLocale:a,localeConfigs:o}}=(0,m.Z)(),i=(0,h.Z)(e),{htmlLang:s,direction:l}=o[a];return r.createElement(g.Z,null,r.createElement("html",{lang:s,dir:l}),r.createElement("title",null,t),r.createElement("meta",{property:"og:title",content:t}),r.createElement("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),n&&r.createElement("meta",{name:"robots",content:"noindex, nofollow"}),e&&r.createElement("link",{rel:"icon",href:i}))}var H=n(44763);function Z(){const e=(0,d.H)(u.Z),t=(0,c.TH)();return r.createElement(H.Z,null,r.createElement(C.M,null,r.createElement(O.t,null,r.createElement(f,null,r.createElement(z,null),r.createElement(x,null),r.createElement($,null),r.createElement(j,{location:A(t)},e)))))}var V=n(16887);const G=function(e){try{return document.createElement("link").relList.supports(e)}catch{return!1}}("prefetch")?function(e){return new Promise(((t,n)=>{var r;if("undefined"==typeof document)return void n();const a=document.createElement("link");a.setAttribute("rel","prefetch"),a.setAttribute("href",e),a.onload=()=>t(),a.onerror=()=>n();const o=document.getElementsByTagName("head")[0]??(null==(r=document.getElementsByName("script")[0])?void 0:r.parentNode);null==o||o.appendChild(a)}))}:function(e){return new Promise(((t,n)=>{const r=new XMLHttpRequest;r.open("GET",e,!0),r.withCredentials=!0,r.onload=()=>{200===r.status?t():n()},r.send(null)}))};var q=n(99670);const W=new Set,Y=new Set,K=()=>{var e,t;return(null==(e=navigator.connection)?void 0:e.effectiveType.includes("2g"))||(null==(t=navigator.connection)?void 0:t.saveData)},X={prefetch(e){if(!(e=>!K()&&!Y.has(e)&&!W.has(e))(e))return!1;W.add(e);const t=(0,d.f)(u.Z,e).flatMap((e=>{return t=e.route.path,Object.entries(V).filter((e=>{let[n]=e;return n.replace(/-[^-]+$/,"")===t})).flatMap((e=>{let[,t]=e;return Object.values((0,q.Z)(t))}));var t}));return Promise.all(t.map((e=>{const t=n.gca(e);return t&&!t.includes("undefined")?G(t).catch((()=>{})):Promise.resolve()})))},preload:e=>!!(e=>!K()&&!Y.has(e))(e)&&(Y.add(e),L(e))},Q=Object.freeze(X);if(s.Z.canUseDOM){window.docusaurus=Q;const e=a.hydrate;L(window.location.pathname).then((()=>{e(r.createElement(i.B6,null,r.createElement(o.VK,null,r.createElement(Z,null))),document.getElementById("__docusaurus"))}))}},58940:(e,t,n)=>{"use strict";n.d(t,{_:()=>c,M:()=>d});var r=n(67294),a=n(36809);const o=JSON.parse('{"docusaurus-lunr-search":{"default":{"fileNames":{"searchDoc":"search-doc-1719441791053.json","lunrIndex":"lunr-index-1719441791053.json"}}},"docusaurus-plugin-content-docs":{"default":{"path":"/Trevas/","versions":[{"name":"current","label":"Next","isLast":true,"path":"/Trevas/","mainDocId":"introduction/index-introduction","docs":[{"id":"administrator-guide/grammar/index-grammar","path":"/Trevas/administrator-guide/grammar","sidebar":"docs"},{"id":"developer-guide/basic-mode/data-sources/index-data-sources","path":"/Trevas/developer-guide/basic-mode/data-sources","sidebar":"docs"},{"id":"developer-guide/basic-mode/data-sources/jdbc","path":"/Trevas/developer-guide/basic-mode/data-sources/jdbc","sidebar":"docs"},{"id":"developer-guide/basic-mode/data-sources/json","path":"/Trevas/developer-guide/basic-mode/data-sources/json","sidebar":"docs"},{"id":"developer-guide/basic-mode/data-sources/others","path":"/Trevas/developer-guide/basic-mode/data-sources/others","sidebar":"docs"},{"id":"developer-guide/basic-mode/index-basic-mode","path":"/Trevas/developer-guide/basic-mode","sidebar":"docs"},{"id":"developer-guide/index-developer-guide","path":"/Trevas/developer-guide","sidebar":"docs"},{"id":"developer-guide/spark-mode/data-sources/csv","path":"/Trevas/developer-guide/spark-mode/data-sources/csv","sidebar":"docs"},{"id":"developer-guide/spark-mode/data-sources/index-data-sources","path":"/Trevas/developer-guide/spark-mode/data-sources","sidebar":"docs"},{"id":"developer-guide/spark-mode/data-sources/jdbc","path":"/Trevas/developer-guide/spark-mode/data-sources/jdbc","sidebar":"docs"},{"id":"developer-guide/spark-mode/data-sources/others","path":"/Trevas/developer-guide/spark-mode/data-sources/others","sidebar":"docs"},{"id":"developer-guide/spark-mode/data-sources/parquet","path":"/Trevas/developer-guide/spark-mode/data-sources/parquet","sidebar":"docs"},{"id":"developer-guide/spark-mode/index-spark-mode","path":"/Trevas/developer-guide/spark-mode","sidebar":"docs"},{"id":"introduction/index-introduction","path":"/Trevas/introduction","sidebar":"docs"},{"id":"introduction/modules/csv","path":"/Trevas/modules/csv","sidebar":"docs"},{"id":"introduction/modules/engine","path":"/Trevas/modules/engine","sidebar":"docs"},{"id":"introduction/modules/index-modules","path":"/Trevas/modules","sidebar":"docs"},{"id":"introduction/modules/jackson","path":"/Trevas/modules/jackson","sidebar":"docs"},{"id":"introduction/modules/jdbc","path":"/Trevas/modules/jdbc","sidebar":"docs"},{"id":"introduction/modules/model","path":"/Trevas/modules/model","sidebar":"docs"},{"id":"introduction/modules/parser","path":"/Trevas/modules/parser","sidebar":"docs"},{"id":"introduction/modules/sdmx","path":"/Trevas/modules/sdmx","sidebar":"docs"},{"id":"introduction/modules/spark","path":"/Trevas/modules/spark","sidebar":"docs"},{"id":"introduction/releases/1.x.x","path":"/Trevas/releases/1.x.x","sidebar":"docs"},{"id":"introduction/releases/index-releases","path":"/Trevas/releases","sidebar":"docs"},{"id":"user-guide/coverage/aggregate-operators","path":"/Trevas/user-guide/coverage/aggregate-operators","sidebar":"docs"},{"id":"user-guide/coverage/analytic-operators","path":"/Trevas/user-guide/coverage/analytic-operators","sidebar":"docs"},{"id":"user-guide/coverage/boolean-operators","path":"/Trevas/user-guide/coverage/boolean-operators","sidebar":"docs"},{"id":"user-guide/coverage/clause-operators","path":"/Trevas/user-guide/coverage/clause-operators","sidebar":"docs"},{"id":"user-guide/coverage/comparison-operators","path":"/Trevas/user-guide/coverage/comparison-operators","sidebar":"docs"},{"id":"user-guide/coverage/conditional-operators","path":"/Trevas/user-guide/coverage/conditional-operators","sidebar":"docs"},{"id":"user-guide/coverage/data-validation-operators","path":"/Trevas/user-guide/coverage/data-validation-operators","sidebar":"docs"},{"id":"user-guide/coverage/general-operators","path":"/Trevas/user-guide/coverage/general-operators","sidebar":"docs"},{"id":"user-guide/coverage/hierarchical-aggregation","path":"/Trevas/user-guide/coverage/hierarchical-aggregation","sidebar":"docs"},{"id":"user-guide/coverage/index-coverage","path":"/Trevas/user-guide/coverage","sidebar":"docs"},{"id":"user-guide/coverage/join-operators","path":"/Trevas/user-guide/coverage/join-operators","sidebar":"docs"},{"id":"user-guide/coverage/numeric-operators","path":"/Trevas/user-guide/coverage/numeric-operators","sidebar":"docs"},{"id":"user-guide/coverage/set-operators","path":"/Trevas/user-guide/coverage/set-operators","sidebar":"docs"},{"id":"user-guide/coverage/string-operators","path":"/Trevas/user-guide/coverage/string-operators","sidebar":"docs"},{"id":"user-guide/coverage/time-operators","path":"/Trevas/user-guide/coverage/time-operators","sidebar":"docs"},{"id":"user-guide/vtl/client-apps/index-client-apps","path":"/Trevas/user-guide/vtl/client-apps","sidebar":"docs"},{"id":"user-guide/vtl/client-apps/jupyter/index-jupyter","path":"/Trevas/user-guide/vtl/client-apps/jupyter","sidebar":"docs"},{"id":"user-guide/vtl/client-apps/lab/index-lab","path":"/Trevas/user-guide/vtl/client-apps/lab","sidebar":"docs"},{"id":"user-guide/vtl/index-vtl","path":"/Trevas/user-guide/vtl","sidebar":"docs"},{"id":"user-guide/vtl/sas-vtl/drop","path":"/Trevas/user-guide/vtl/sas-vtl/drop","sidebar":"docs"},{"id":"user-guide/vtl/sas-vtl/index-sas-vtl","path":"/Trevas/user-guide/vtl/sas-vtl","sidebar":"docs"},{"id":"user-guide/vtl/sas-vtl/keep","path":"/Trevas/user-guide/vtl/sas-vtl/keep","sidebar":"docs"},{"id":"user-guide/vtl/sas-vtl/rename","path":"/Trevas/user-guide/vtl/sas-vtl/rename","sidebar":"docs"}],"draftIds":[],"sidebars":{"docs":{"link":{"path":"/Trevas/introduction","label":"introduction/index-introduction"}}}}],"breadcrumbs":true}}}'),i=JSON.parse('{"defaultLocale":"en","locales":["en","fr","zh-CN","no"],"path":"i18n","currentLocale":"en","localeConfigs":{"en":{"label":"English","direction":"ltr","htmlLang":"en","calendar":"gregory","path":"en"},"fr":{"label":"Fran\xe7ais","direction":"ltr","htmlLang":"fr","calendar":"gregory","path":"fr"},"zh-CN":{"label":"\u4e2d\u6587\uff08\u4e2d\u56fd\uff09","direction":"ltr","htmlLang":"zh-CN","calendar":"gregory","path":"zh-CN"},"no":{"label":"Norsk","direction":"ltr","htmlLang":"no","calendar":"gregory","path":"no"}}}');var s=n(57529);const l=JSON.parse('{"docusaurusVersion":"2.4.1","siteVersion":"0.0.1","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"2.4.1"},"docusaurus-plugin-content-blog":{"type":"package","name":"@docusaurus/plugin-content-blog","version":"2.4.1"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"2.4.1"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"2.4.1"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"2.4.1"},"docusaurus-plugin-sass":{"type":"package","name":"docusaurus-plugin-sass","version":"0.2.5"},"docusaurus-plugin-gtm":{"type":"project"},"docusaurus-lunr-search":{"type":"package","name":"docusaurus-lunr-search","version":"2.4.2"},"docusaurus-node-polyfills":{"type":"package","name":"docusaurus-node-polyfills","version":"1.0.0"}}}'),u={siteConfig:a.default,siteMetadata:l,globalData:o,i18n:i,codeTranslations:s},c=r.createContext(u);function d(e){let{children:t}=e;return r.createElement(c.Provider,{value:u},t)}},44763:(e,t,n)=>{"use strict";n.d(t,{Z:()=>f});var r=n(67294),a=n(10412),o=n(35742),i=n(18780),s=n(9279);function l(e){let{error:t,tryAgain:n}=e;return r.createElement("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"}},r.createElement("h1",{style:{fontSize:"3rem"}},"This page crashed"),r.createElement("button",{type:"button",onClick:n,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"}},"Try again"),r.createElement(u,{error:t}))}function u(e){let{error:t}=e;const n=(0,i.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return r.createElement("p",{style:{whiteSpace:"pre-wrap"}},n)}function c(e){let{error:t,tryAgain:n}=e;return r.createElement(f,{fallback:()=>r.createElement(l,{error:t,tryAgain:n})},r.createElement(o.Z,null,r.createElement("title",null,"Page Error")),r.createElement(s.Z,null,r.createElement(l,{error:t,tryAgain:n})))}const d=e=>r.createElement(c,e);class f extends r.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){a.Z.canUseDOM&&this.setState({error:e})}render(){const{children:e}=this.props,{error:t}=this.state;if(t){const e={error:t,tryAgain:()=>this.setState({error:null})};return(this.props.fallback??d)(e)}return e??null}}},10412:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});const r="undefined"!=typeof window&&"document"in window&&"createElement"in window.document,a={canUseDOM:r,canUseEventListeners:r&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:r&&"IntersectionObserver"in window,canUseViewport:r&&"screen"in window}},35742:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(67294),a=n(70405);function o(e){return r.createElement(a.ql,e)}},39960:(e,t,n)=>{"use strict";n.d(t,{Z:()=>p});var r=n(87462),a=n(67294),o=n(73727),i=n(18780),s=n(52263),l=n(13919),u=n(10412);const c=a.createContext({collectLink:()=>{}});var d=n(44996);function f(e,t){var n;let{isNavLink:f,to:p,href:g,activeClassName:m,isActive:h,"data-noBrokenLinkCheck":b,autoAddBaseUrl:v=!0,...y}=e;const{siteConfig:{trailingSlash:w,baseUrl:E}}=(0,s.Z)(),{withBaseUrl:k}=(0,d.C)(),S=(0,a.useContext)(c),T=(0,a.useRef)(null);(0,a.useImperativeHandle)(t,(()=>T.current));const x=p||g;const _=(0,l.Z)(x),A=null==x?void 0:x.replace("pathname://","");let O=void 0!==A?(C=A,v&&(e=>e.startsWith("/"))(C)?k(C):C):void 0;var C;O&&_&&(O=(0,i.applyTrailingSlash)(O,{trailingSlash:w,baseUrl:E}));const N=(0,a.useRef)(!1),P=f?o.OL:o.rU,L=u.Z.canUseIntersectionObserver,I=(0,a.useRef)(),R=()=>{N.current||null==O||(window.docusaurus.preload(O),N.current=!0)};(0,a.useEffect)((()=>(!L&&_&&null!=O&&window.docusaurus.prefetch(O),()=>{L&&I.current&&I.current.disconnect()})),[I,O,L,_]);const j=(null==(n=O)?void 0:n.startsWith("#"))??!1,D=!O||!_||j;return D||b||S.collectLink(O),D?a.createElement("a",(0,r.Z)({ref:T,href:O},x&&!_&&{target:"_blank",rel:"noopener noreferrer"},y)):a.createElement(P,(0,r.Z)({},y,{onMouseEnter:R,onTouchStart:R,innerRef:e=>{T.current=e,L&&e&&_&&(I.current=new window.IntersectionObserver((t=>{t.forEach((t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(I.current.unobserve(e),I.current.disconnect(),null!=O&&window.docusaurus.prefetch(O))}))})),I.current.observe(e))},to:O},f&&{isActive:h,activeClassName:m}))}const p=a.forwardRef(f)},95999:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u,I:()=>l});var r=n(67294);function a(e,t){const n=e.split(/(\{\w+\})/).map(((e,n)=>{if(n%2==1){const n=null==t?void 0:t[e.slice(1,-1)];if(void 0!==n)return n}return e}));return n.some((e=>(0,r.isValidElement)(e)))?n.map(((e,t)=>(0,r.isValidElement)(e)?r.cloneElement(e,{key:t}):e)).filter((e=>""!==e)):n.join("")}var o=n(57529),i=n(25108);function s(e){let{id:t,message:n}=e;if(void 0===t&&void 0===n)throw new Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return o[t??n]??n??t}function l(e,t){let{message:n,id:r}=e;return a(s({message:n,id:r}),t)}function u(e){let{children:t,id:n,values:o}=e;if(t&&"string"!=typeof t)throw i.warn("Illegal children",t),new Error("The Docusaurus component only accept simple string values");const l=s({message:t,id:n});return r.createElement(r.Fragment,null,a(l,o))}},29935:(e,t,n)=>{"use strict";n.d(t,{m:()=>r});const r="default"},13919:(e,t,n)=>{"use strict";function r(e){return/^(?:\w*:|\/\/)/.test(e)}function a(e){return void 0!==e&&!r(e)}n.d(t,{Z:()=>a,b:()=>r})},44996:(e,t,n)=>{"use strict";n.d(t,{C:()=>i,Z:()=>s});var r=n(67294),a=n(52263),o=n(13919);function i(){const{siteConfig:{baseUrl:e,url:t}}=(0,a.Z)(),n=(0,r.useCallback)(((n,r)=>function(e,t,n,r){let{forcePrependBaseUrl:a=!1,absolute:i=!1}=void 0===r?{}:r;if(!n||n.startsWith("#")||(0,o.b)(n))return n;if(a)return t+n.replace(/^\//,"");if(n===t.replace(/\/$/,""))return t;const s=n.startsWith(t)?n:t+n.replace(/^\//,"");return i?e+s:s}(t,e,n,r)),[t,e]);return{withBaseUrl:n}}function s(e,t){void 0===t&&(t={});const{withBaseUrl:n}=i();return n(e,t)}},52263:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(67294),a=n(58940);function o(){return(0,r.useContext)(a._)}},28084:(e,t,n)=>{"use strict";n.d(t,{OD:()=>o,eZ:()=>i});var r=n(52263),a=n(29935);function o(e,t){void 0===t&&(t={});const n=function(){const{globalData:e}=(0,r.Z)();return e}()[e];if(!n&&t.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin.`);return n}function i(e,t,n){void 0===t&&(t=a.m),void 0===n&&(n={});const r=o(e),i=null==r?void 0:r[t];if(!i&&n.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return i}},72389:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(67294),a=n(98934);function o(){return(0,r.useContext)(a._)}},99670:(e,t,n)=>{"use strict";n.d(t,{Z:()=>r});function r(e){const t={};return function e(n,r){Object.entries(n).forEach((n=>{let[a,o]=n;const i=r?`${r}.${a}`:a;var s;"object"==typeof(s=o)&&s&&Object.keys(s).length>0?e(o,i):t[i]=o}))}(e),t}},30226:(e,t,n)=>{"use strict";n.d(t,{_:()=>a,z:()=>o});var r=n(67294);const a=r.createContext(null);function o(e){let{children:t,value:n}=e;const o=r.useContext(a),i=(0,r.useMemo)((()=>function(e){let{parent:t,value:n}=e;if(!t){if(!n)throw new Error("Unexpected: no Docusaurus route context found");if(!("plugin"in n))throw new Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute");return n}const r={...t.data,...null==n?void 0:n.data};return{plugin:t.plugin,data:r}}({parent:o,value:n})),[o,n]);return r.createElement(a.Provider,{value:i},t)}},94104:(e,t,n)=>{"use strict";n.d(t,{Iw:()=>p,gA:()=>c,_r:()=>l,Jo:()=>g,zh:()=>u,yW:()=>f,gB:()=>d});var r=n(16550),a=n(28084);const o=e=>e.versions.find((e=>e.isLast));function i(e,t){const n=function(e,t){const n=o(e);return[...e.versions.filter((e=>e!==n)),n].find((e=>!!(0,r.LX)(t,{path:e.path,exact:!1,strict:!1})))}(e,t),a=null==n?void 0:n.docs.find((e=>!!(0,r.LX)(t,{path:e.path,exact:!0,strict:!1})));return{activeVersion:n,activeDoc:a,alternateDocVersions:a?function(t){const n={};return e.versions.forEach((e=>{e.docs.forEach((r=>{r.id===t&&(n[e.name]=r)}))})),n}(a.id):{}}}const s={},l=()=>(0,a.OD)("docusaurus-plugin-content-docs")??s,u=e=>(0,a.eZ)("docusaurus-plugin-content-docs",e,{failfast:!0});function c(e){void 0===e&&(e={});const t=l(),{pathname:n}=(0,r.TH)();return function(e,t,n){void 0===n&&(n={});const a=Object.entries(e).sort(((e,t)=>t[1].path.localeCompare(e[1].path))).find((e=>{let[,n]=e;return!!(0,r.LX)(t,{path:n.path,exact:!1,strict:!1})})),o=a?{pluginId:a[0],pluginData:a[1]}:void 0;if(!o&&n.failfast)throw new Error(`Can't find active docs plugin for "${t}" pathname, while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: ${Object.values(e).map((e=>e.path)).join(", ")}`);return o}(t,n,e)}function d(e){return u(e).versions}function f(e){const t=u(e);return o(t)}function p(e){const t=u(e),{pathname:n}=(0,r.TH)();return i(t,n)}function g(e){const t=u(e),{pathname:n}=(0,r.TH)();return function(e,t){const n=o(e);return{latestDocSuggestion:i(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(t,n)}},18320:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>o});var r=n(74865),a=n.n(r);a().configure({showSpinner:!1});const o={onRouteUpdate(e){let{location:t,previousLocation:n}=e;if(n&&t.pathname!==n.pathname){const e=window.setTimeout((()=>{a().start()}),200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){a().done()}}},3310:(e,t,n)=>{"use strict";n.r(t);var r=n(87410),a=n(36809);!function(e){const{themeConfig:{prism:t}}=a.default,{additionalLanguages:r}=t;globalThis.Prism=e,r.forEach((e=>{n(46966)(`./prism-${e}`)})),delete globalThis.Prism}(r.Z)},39471:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(67294);const a="iconExternalLink_nPIU";function o(e){let{width:t=13.5,height:n=13.5}=e;return r.createElement("svg",{width:t,height:n,"aria-hidden":"true",viewBox:"0 0 24 24",className:a},r.createElement("path",{fill:"currentColor",d:"M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"}))}},9279:(e,t,n)=>{"use strict";n.d(t,{Z:()=>nt});var r=n(67294),a=n(86010),o=n(44763),i=n(1944),s=n(87462),l=n(16550),u=n(95999),c=n(85936);const d="__docusaurus_skipToContent_fallback";function f(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}function p(){const e=(0,r.useRef)(null),{action:t}=(0,l.k6)(),n=(0,r.useCallback)((e=>{e.preventDefault();const t=document.querySelector("main:first-of-type")??document.getElementById(d);t&&f(t)}),[]);return(0,c.S)((n=>{let{location:r}=n;e.current&&!r.hash&&"PUSH"===t&&f(e.current)})),{containerRef:e,onClick:n}}const g=(0,u.I)({id:"theme.common.skipToMainContent",description:"The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation",message:"Skip to main content"});function m(e){const t=e.children??g,{containerRef:n,onClick:a}=p();return r.createElement("div",{ref:n,role:"region","aria-label":g},r.createElement("a",(0,s.Z)({},e,{href:`#${d}`,onClick:a}),t))}var h=n(35281),b=n(19727);const v="skipToContent_fXgn";function y(){return r.createElement(m,{className:v})}var w=n(86668),E=n(59689);function k(e){let{width:t=21,height:n=21,color:a="currentColor",strokeWidth:o=1.2,className:i,...l}=e;return r.createElement("svg",(0,s.Z)({viewBox:"0 0 15 15",width:t,height:n},l),r.createElement("g",{stroke:a,strokeWidth:o},r.createElement("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})))}const S="closeButton_CVFx";function T(e){return r.createElement("button",(0,s.Z)({type:"button","aria-label":(0,u.I)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"})},e,{className:(0,a.Z)("clean-btn close",S,e.className)}),r.createElement(k,{width:14,height:14,strokeWidth:3.1}))}const x="content_knG7";function _(e){const{announcementBar:t}=(0,w.L)(),{content:n}=t;return r.createElement("div",(0,s.Z)({},e,{className:(0,a.Z)(x,e.className),dangerouslySetInnerHTML:{__html:n}}))}const A="announcementBar_mb4j",O="announcementBarPlaceholder_vyr4",C="announcementBarClose_gvF7",N="announcementBarContent_xLdY";function P(){const{announcementBar:e}=(0,w.L)(),{isActive:t,close:n}=(0,E.nT)();if(!t)return null;const{backgroundColor:a,textColor:o,isCloseable:i}=e;return r.createElement("div",{className:A,style:{backgroundColor:a,color:o},role:"banner"},i&&r.createElement("div",{className:O}),r.createElement(_,{className:N}),i&&r.createElement(T,{onClick:n,className:C}))}var L=n(72961),I=n(12466);var R=n(902),j=n(13102);const D=r.createContext(null);function M(e){let{children:t}=e;const n=function(){const e=(0,L.e)(),t=(0,j.HY)(),[n,a]=(0,r.useState)(!1),o=null!==t.component,i=(0,R.D9)(o);return(0,r.useEffect)((()=>{o&&!i&&a(!0)}),[o,i]),(0,r.useEffect)((()=>{o?e.shown||a(!0):a(!1)}),[e.shown,o]),(0,r.useMemo)((()=>[n,a]),[n])}();return r.createElement(D.Provider,{value:n},t)}function F(e){if(e.component){const t=e.component;return r.createElement(t,e.props)}}function B(){const e=(0,r.useContext)(D);if(!e)throw new R.i6("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,a=(0,r.useCallback)((()=>n(!1)),[n]),o=(0,j.HY)();return(0,r.useMemo)((()=>({shown:t,hide:a,content:F(o)})),[a,o,t])}function U(e){let{header:t,primaryMenu:n,secondaryMenu:o}=e;const{shown:i}=B();return r.createElement("div",{className:"navbar-sidebar"},t,r.createElement("div",{className:(0,a.Z)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":i})},r.createElement("div",{className:"navbar-sidebar__item menu"},n),r.createElement("div",{className:"navbar-sidebar__item menu"},o)))}var $=n(92949),z=n(72389);function H(e){return r.createElement("svg",(0,s.Z)({viewBox:"0 0 24 24",width:24,height:24},e),r.createElement("path",{fill:"currentColor",d:"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"}))}function Z(e){return r.createElement("svg",(0,s.Z)({viewBox:"0 0 24 24",width:24,height:24},e),r.createElement("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"}))}const V={toggle:"toggle_vylO",toggleButton:"toggleButton_gllP",darkToggleIcon:"darkToggleIcon_wfgR",lightToggleIcon:"lightToggleIcon_pyhR",toggleButtonDisabled:"toggleButtonDisabled_aARS"};function G(e){let{className:t,buttonClassName:n,value:o,onChange:i}=e;const s=(0,z.Z)(),l=(0,u.I)({message:"Switch between dark and light mode (currently {mode})",id:"theme.colorToggle.ariaLabel",description:"The ARIA label for the navbar color mode toggle"},{mode:"dark"===o?(0,u.I)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,u.I)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return r.createElement("div",{className:(0,a.Z)(V.toggle,t)},r.createElement("button",{className:(0,a.Z)("clean-btn",V.toggleButton,!s&&V.toggleButtonDisabled,n),type:"button",onClick:()=>i("dark"===o?"light":"dark"),disabled:!s,title:l,"aria-label":l,"aria-live":"polite"},r.createElement(H,{className:(0,a.Z)(V.toggleIcon,V.lightToggleIcon)}),r.createElement(Z,{className:(0,a.Z)(V.toggleIcon,V.darkToggleIcon)})))}const q=r.memo(G),W="darkNavbarColorModeToggle_X3D1";function Y(e){let{className:t}=e;const n=(0,w.L)().navbar.style,a=(0,w.L)().colorMode.disableSwitch,{colorMode:o,setColorMode:i}=(0,$.I)();return a?null:r.createElement(q,{className:t,buttonClassName:"dark"===n?W:void 0,value:o,onChange:i})}var K=n(21327);function X(){return r.createElement(K.Z,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function Q(){const e=(0,L.e)();return r.createElement("button",{type:"button","aria-label":(0,u.I)({id:"theme.docs.sidebar.closeSidebarButtonAriaLabel",message:"Close navigation bar",description:"The ARIA label for close button of mobile sidebar"}),className:"clean-btn navbar-sidebar__close",onClick:()=>e.toggle()},r.createElement(k,{color:"var(--ifm-color-emphasis-600)"}))}function J(){return r.createElement("div",{className:"navbar-sidebar__brand"},r.createElement(X,null),r.createElement(Y,{className:"margin-right--md"}),r.createElement(Q,null))}var ee=n(39960),te=n(44996),ne=n(13919);function re(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}var ae=n(39471);function oe(e){let{activeBasePath:t,activeBaseRegex:n,to:a,href:o,label:i,html:l,isDropdownLink:u,prependBaseUrlToHref:c,...d}=e;const f=(0,te.Z)(a),p=(0,te.Z)(t),g=(0,te.Z)(o,{forcePrependBaseUrl:!0}),m=i&&o&&!(0,ne.Z)(o),h=l?{dangerouslySetInnerHTML:{__html:l}}:{children:r.createElement(r.Fragment,null,i,m&&r.createElement(ae.Z,u&&{width:12,height:12}))};return o?r.createElement(ee.Z,(0,s.Z)({href:c?g:o},d,h)):r.createElement(ee.Z,(0,s.Z)({to:f,isNavLink:!0},(t||n)&&{isActive:(e,t)=>n?re(n,t.pathname):t.pathname.startsWith(p)},d,h))}function ie(e){let{className:t,isDropdownItem:n=!1,...o}=e;const i=r.createElement(oe,(0,s.Z)({className:(0,a.Z)(n?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:n},o));return n?r.createElement("li",null,i):i}function se(e){let{className:t,isDropdownItem:n,...o}=e;return r.createElement("li",{className:"menu__list-item"},r.createElement(oe,(0,s.Z)({className:(0,a.Z)("menu__link",t)},o)))}function le(e){let{mobile:t=!1,position:n,...a}=e;const o=t?se:ie;return r.createElement(o,(0,s.Z)({},a,{activeClassName:a.activeClassName??(t?"menu__link--active":"navbar__link--active")}))}var ue=n(86043),ce=n(48596),de=n(52263);function fe(e,t){return e.some((e=>function(e,t){return!!(0,ce.Mg)(e.to,t)||!!re(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)))}function pe(e){let{items:t,position:n,className:o,onClick:i,...l}=e;const u=(0,r.useRef)(null),[c,d]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{const e=e=>{u.current&&!u.current.contains(e.target)&&d(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),document.addEventListener("focusin",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e),document.removeEventListener("focusin",e)}}),[u]),r.createElement("div",{ref:u,className:(0,a.Z)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===n,"dropdown--show":c})},r.createElement(oe,(0,s.Z)({"aria-haspopup":"true","aria-expanded":c,role:"button",href:l.to?void 0:"#",className:(0,a.Z)("navbar__link",o)},l,{onClick:l.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),d(!c))}}),l.children??l.label),r.createElement("ul",{className:"dropdown__menu"},t.map(((e,t)=>r.createElement(Ne,(0,s.Z)({isDropdownItem:!0,activeClassName:"dropdown__link--active"},e,{key:t}))))))}function ge(e){let{items:t,className:n,position:o,onClick:i,...u}=e;const c=function(){const{siteConfig:{baseUrl:e}}=(0,de.Z)(),{pathname:t}=(0,l.TH)();return t.replace(e,"/")}(),d=fe(t,c),{collapsed:f,toggleCollapsed:p,setCollapsed:g}=(0,ue.u)({initialState:()=>!d});return(0,r.useEffect)((()=>{d&&g(!d)}),[c,d,g]),r.createElement("li",{className:(0,a.Z)("menu__list-item",{"menu__list-item--collapsed":f})},r.createElement(oe,(0,s.Z)({role:"button",className:(0,a.Z)("menu__link menu__link--sublist menu__link--sublist-caret",n)},u,{onClick:e=>{e.preventDefault(),p()}}),u.children??u.label),r.createElement(ue.z,{lazy:!0,as:"ul",className:"menu__list",collapsed:f},t.map(((e,t)=>r.createElement(Ne,(0,s.Z)({mobile:!0,isDropdownItem:!0,onClick:i,activeClassName:"menu__link--active"},e,{key:t}))))))}function me(e){let{mobile:t=!1,...n}=e;const a=t?ge:pe;return r.createElement(a,n)}var he=n(94711);function be(e){let{width:t=20,height:n=20,...a}=e;return r.createElement("svg",(0,s.Z)({viewBox:"0 0 24 24",width:t,height:n,"aria-hidden":!0},a),r.createElement("path",{fill:"currentColor",d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"}))}const ve="iconLanguage_nlXk";var ye=n(94184),we=n.n(ye),Ee=n(28084);const ke=e=>{const t=(0,r.useRef)(!1),a=(0,r.useRef)(null),[o,i]=(0,r.useState)(!1),s=(0,l.k6)(),{siteConfig:c={}}=(0,de.Z)(),d=(0,z.Z)(),{baseUrl:f}=c,p=(0,Ee.eZ)("docusaurus-lunr-search"),g=()=>{t.current||(Promise.all([fetch(`${f}${p.fileNames.searchDoc}`).then((e=>e.json())),fetch(`${f}${p.fileNames.lunrIndex}`).then((e=>e.json())),Promise.all([n.e(1275),n.e(3339)]).then(n.bind(n,30894))]).then((e=>{let[t,n,{default:r}]=e;0!==t.length&&(((e,t,n)=>{new n({searchDocs:e,searchIndex:t,baseUrl:f,inputSelector:"#search_input_react",handleSelected:(e,t,n)=>{const r=n.url||"/";document.createElement("a").href=r,s.push(r)}})})(t,n,r),i(!0))})),t.current=!0)},m=(0,r.useCallback)((t=>{a.current.contains(t.target)||a.current.focus(),e.handleSearchBarToggle&&e.handleSearchBarToggle(!e.isSearchBarExpanded)}),[e.isSearchBarExpanded]);return d&&g(),r.createElement("div",{className:"navbar__search",key:"search-box"},r.createElement("span",{"aria-label":"expand searchbar",role:"button",className:we()("search-icon",{"search-icon-hidden":e.isSearchBarExpanded}),onClick:m,onKeyDown:m,tabIndex:0}),r.createElement("input",{id:"search_input_react",type:"search",placeholder:o?(0,u.I)({message:"Search",description:"Search placeholder"}):(0,u.I)({message:"Loading...",description:"Loading placeholder"}),"aria-label":"Search",className:we()("navbar__search-input",{"search-bar-expanded":e.isSearchBarExpanded},{"search-bar":!e.isSearchBarExpanded}),onClick:g,onMouseOver:g,onFocus:m,onBlur:m,ref:a,disabled:!o}))},Se="searchBox_ZlJk";function Te(e){let{children:t,className:n}=e;return r.createElement("div",{className:(0,a.Z)(n,Se)},t)}var xe=n(94104),_e=n(52802);var Ae=n(60373);const Oe=e=>e.docs.find((t=>t.id===e.mainDocId));const Ce={default:le,localeDropdown:function(e){let{mobile:t,dropdownItemsBefore:n,dropdownItemsAfter:a,...o}=e;const{i18n:{currentLocale:i,locales:c,localeConfigs:d}}=(0,de.Z)(),f=(0,he.l)(),{search:p,hash:g}=(0,l.TH)(),m=[...n,...c.map((e=>{const n=`${`pathname://${f.createUrl({locale:e,fullyQualified:!1})}`}${p}${g}`;return{label:d[e].label,lang:d[e].htmlLang,to:n,target:"_self",autoAddBaseUrl:!1,className:e===i?t?"menu__link--active":"dropdown__link--active":""}})),...a],h=t?(0,u.I)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):d[i].label;return r.createElement(me,(0,s.Z)({},o,{mobile:t,label:r.createElement(r.Fragment,null,r.createElement(be,{className:ve}),h),items:m}))},search:function(e){let{mobile:t,className:n}=e;return t?null:r.createElement(Te,{className:n},r.createElement(ke,null))},dropdown:me,html:function(e){let{value:t,className:n,mobile:o=!1,isDropdownItem:i=!1}=e;const s=i?"li":"div";return r.createElement(s,{className:(0,a.Z)({navbar__item:!o&&!i,"menu__list-item":o},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){let{docId:t,label:n,docsPluginId:a,...o}=e;const{activeDoc:i}=(0,xe.Iw)(a),l=(0,_e.vY)(t,a);return null===l?null:r.createElement(le,(0,s.Z)({exact:!0},o,{isActive:()=>(null==i?void 0:i.path)===l.path||!(null==i||!i.sidebar)&&i.sidebar===l.sidebar,label:n??l.id,to:l.path}))},docSidebar:function(e){let{sidebarId:t,label:n,docsPluginId:a,...o}=e;const{activeDoc:i}=(0,xe.Iw)(a),l=(0,_e.oz)(t,a).link;if(!l)throw new Error(`DocSidebarNavbarItem: Sidebar with ID "${t}" doesn't have anything to be linked to.`);return r.createElement(le,(0,s.Z)({exact:!0},o,{isActive:()=>(null==i?void 0:i.sidebar)===t,label:n??l.label,to:l.path}))},docsVersion:function(e){let{label:t,to:n,docsPluginId:a,...o}=e;const i=(0,_e.lO)(a)[0],l=t??i.label,u=n??(e=>e.docs.find((t=>t.id===e.mainDocId)))(i).path;return r.createElement(le,(0,s.Z)({},o,{label:l,to:u}))},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:n,dropdownActiveClassDisabled:a,dropdownItemsBefore:o,dropdownItemsAfter:i,...c}=e;const{search:d,hash:f}=(0,l.TH)(),p=(0,xe.Iw)(n),g=(0,xe.gB)(n),{savePreferredVersionName:m}=(0,Ae.J)(n),h=[...o,...g.map((e=>{const t=p.alternateDocVersions[e.name]??Oe(e);return{label:e.label,to:`${t.path}${d}${f}`,isActive:()=>e===p.activeVersion,onClick:()=>m(e.name)}})),...i],b=(0,_e.lO)(n)[0],v=t&&h.length>1?(0,u.I)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):b.label,y=t&&h.length>1?void 0:Oe(b).path;return h.length<=1?r.createElement(le,(0,s.Z)({},c,{mobile:t,label:v,to:y,isActive:a?()=>!1:void 0})):r.createElement(me,(0,s.Z)({},c,{mobile:t,label:v,to:y,items:h,isActive:a?()=>!1:void 0}))}};function Ne(e){let{type:t,...n}=e;const a=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),o=Ce[a];if(!o)throw new Error(`No NavbarItem component found for type "${t}".`);return r.createElement(o,n)}function Pe(){const e=(0,L.e)(),t=(0,w.L)().navbar.items;return r.createElement("ul",{className:"menu__list"},t.map(((t,n)=>r.createElement(Ne,(0,s.Z)({mobile:!0},t,{onClick:()=>e.toggle(),key:n})))))}function Le(e){return r.createElement("button",(0,s.Z)({},e,{type:"button",className:"clean-btn navbar-sidebar__back"}),r.createElement(u.Z,{id:"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel",description:"The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)"},"\u2190 Back to main menu"))}function Ie(){const e=0===(0,w.L)().navbar.items.length,t=B();return r.createElement(r.Fragment,null,!e&&r.createElement(Le,{onClick:()=>t.hide()}),t.content)}function Re(){const e=(0,L.e)();var t;return void 0===(t=e.shown)&&(t=!0),(0,r.useEffect)((()=>(document.body.style.overflow=t?"hidden":"visible",()=>{document.body.style.overflow="visible"})),[t]),e.shouldRender?r.createElement(U,{header:r.createElement(J,null),primaryMenu:r.createElement(Pe,null),secondaryMenu:r.createElement(Ie,null)}):null}const je="navbarHideable_m1mJ",De="navbarHidden_jGov";function Me(e){return r.createElement("div",(0,s.Z)({role:"presentation"},e,{className:(0,a.Z)("navbar-sidebar__backdrop",e.className)}))}function Fe(e){let{children:t}=e;const{navbar:{hideOnScroll:n,style:o}}=(0,w.L)(),i=(0,L.e)(),{navbarRef:s,isNavbarVisible:l}=function(e){const[t,n]=(0,r.useState)(e),a=(0,r.useRef)(!1),o=(0,r.useRef)(0),i=(0,r.useCallback)((e=>{null!==e&&(o.current=e.getBoundingClientRect().height)}),[]);return(0,I.RF)(((t,r)=>{let{scrollY:i}=t;if(!e)return;if(i=s?n(!1):i+u{if(!e)return;const r=t.location.hash;if(r?document.getElementById(r.substring(1)):void 0)return a.current=!0,void n(!1);n(!0)})),{navbarRef:i,isNavbarVisible:t}}(n);return r.createElement("nav",{ref:s,"aria-label":(0,u.I)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,a.Z)("navbar","navbar--fixed-top",n&&[je,!l&&De],{"navbar--dark":"dark"===o,"navbar--primary":"primary"===o,"navbar-sidebar--show":i.shown})},t,r.createElement(Me,{onClick:i.toggle}),r.createElement(Re,null))}var Be=n(18780);const Ue="errorBoundaryError_a6uf";function $e(e){return r.createElement("button",(0,s.Z)({type:"button"},e),r.createElement(u.Z,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again rendering when the React error boundary captures an error"},"Try again"))}function ze(e){let{error:t}=e;const n=(0,Be.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return r.createElement("p",{className:Ue},n)}class He extends r.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}function Ze(e){let{width:t=30,height:n=30,className:a,...o}=e;return r.createElement("svg",(0,s.Z)({className:a,width:t,height:n,viewBox:"0 0 30 30","aria-hidden":"true"},o),r.createElement("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"}))}function Ve(){const{toggle:e,shown:t}=(0,L.e)();return r.createElement("button",{onClick:e,"aria-label":(0,u.I)({id:"theme.docs.sidebar.toggleSidebarButtonAriaLabel",message:"Toggle navigation bar",description:"The ARIA label for hamburger menu button of mobile navigation"}),"aria-expanded":t,className:"navbar__toggle clean-btn",type:"button"},r.createElement(Ze,null))}const Ge="colorModeToggle_DEke";function qe(e){let{items:t}=e;return r.createElement(r.Fragment,null,t.map(((e,t)=>r.createElement(He,{key:t,onError:t=>new Error(`A theme navbar item failed to render.\nPlease double-check the following navbar item (themeConfig.navbar.items) of your Docusaurus config:\n${JSON.stringify(e,null,2)}`,{cause:t})},r.createElement(Ne,e)))))}function We(e){let{left:t,right:n}=e;return r.createElement("div",{className:"navbar__inner"},r.createElement("div",{className:"navbar__items"},t),r.createElement("div",{className:"navbar__items navbar__items--right"},n))}function Ye(){const e=(0,L.e)(),t=(0,w.L)().navbar.items,[n,a]=function(e){function t(e){return"left"===(e.position??"right")}return[e.filter(t),e.filter((e=>!t(e)))]}(t),o=t.find((e=>"search"===e.type));return r.createElement(We,{left:r.createElement(r.Fragment,null,!e.disabled&&r.createElement(Ve,null),r.createElement(X,null),r.createElement(qe,{items:n})),right:r.createElement(r.Fragment,null,r.createElement(qe,{items:a}),r.createElement(Y,{className:Ge}),!o&&r.createElement(Te,null,r.createElement(ke,null)))})}function Ke(){return r.createElement(Fe,null,r.createElement(Ye,null))}const Xe=function(){const{footer:e}=(0,w.L)();return e?r.createElement("footer",{className:(0,a.Z)("footer",{"footer--dark":"dark"===e.style})},r.createElement("div",{className:"container"},r.createElement("div",{className:"row"},r.createElement("div",{className:"col col--12 centered-content"},r.createElement("div",{className:"sponsors"},r.createElement("a",{href:"https://ec.europa.eu/eurostat/web/main/home",target:"_blank",rel:"noreferrer noopener"},r.createElement("img",{src:(0,te.Z)("/img/logo_eurostat.svg"),alt:"Logo Eurostat",width:"120px",className:"sponsor"})),r.createElement("a",{href:"https://www.insee.fr",target:"_blank",rel:"noreferrer noopener"},r.createElement("img",{src:(0,te.Z)("/img/logo_insee.png"),alt:"Logo Insee",width:"38px",className:"sponsor"})),r.createElement("a",{href:"https://www.casd.eu/",target:"_blank",rel:"noreferrer noopener"},r.createElement("img",{src:(0,te.Z)("/img/logo_casd.svg"),alt:"Logo CASD",width:"120px",height:"auto",className:"sponsor"})),r.createElement("a",{href:"http://making-sense.info/",target:"_blank",rel:"noreferrer noopener"},r.createElement("img",{src:(0,te.Z)("/img/logo_ms.svg"),alt:"Logo Making Sense",width:"64px",className:"sponsor"}))))))):null},Qe=(0,R.Qc)([$.S,E.pl,I.OC,Ae.L5,i.VC,function(e){let{children:t}=e;return r.createElement(j.n2,null,r.createElement(L.M,null,r.createElement(M,null,t)))}]);function Je(e){let{children:t}=e;return r.createElement(Qe,null,t)}function et(e){let{error:t,tryAgain:n}=e;return r.createElement("main",{className:"container margin-vert--xl"},r.createElement("div",{className:"row"},r.createElement("div",{className:"col col--6 col--offset-3"},r.createElement("h1",{className:"hero__title"},r.createElement(u.Z,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed"},"This page crashed.")),r.createElement("div",{className:"margin-vert--lg"},r.createElement($e,{onClick:n,className:"button button--primary shadow--lw"})),r.createElement("hr",null),r.createElement("div",{className:"margin-vert--md"},r.createElement(ze,{error:t})))))}const tt="mainWrapper_z2l0";function nt(e){const{children:t,noFooter:n,wrapperClassName:s,title:l,description:u}=e;return(0,b.t)(),r.createElement(Je,null,r.createElement(i.d,{title:l,description:u}),r.createElement(y,null),r.createElement(P,null),r.createElement(Ke,null),r.createElement("div",{id:d,className:(0,a.Z)(h.k.wrapper.main,tt,s)},r.createElement(o.Z,{fallback:e=>r.createElement(et,e)},t)),!n&&r.createElement(Xe,null))}},21327:(e,t,n)=>{"use strict";n.d(t,{Z:()=>d});var r=n(87462),a=n(67294),o=n(39960),i=n(44996),s=n(52263),l=n(86668),u=n(50941);function c(e){let{logo:t,alt:n,imageClassName:r}=e;const o={light:(0,i.Z)(t.src),dark:(0,i.Z)(t.srcDark||t.src)},s=a.createElement(u.Z,{className:t.className,sources:o,height:t.height,width:t.width,alt:n,style:t.style});return r?a.createElement("div",{className:r},s):s}function d(e){const{siteConfig:{title:t}}=(0,s.Z)(),{navbar:{title:n,logo:u}}=(0,l.L)(),{imageClassName:d,titleClassName:f,...p}=e,g=(0,i.Z)((null==u?void 0:u.href)||"/"),m=n?"":t,h=(null==u?void 0:u.alt)??m;return a.createElement(o.Z,(0,r.Z)({to:g},p,(null==u?void 0:u.target)&&{target:u.target}),u&&a.createElement(c,{logo:u,alt:h,imageClassName:d}),null!=n&&a.createElement("b",{className:f},n))}},90197:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(67294),a=n(35742);function o(e){let{locale:t,version:n,tag:o}=e;const i=t;return r.createElement(a.Z,null,t&&r.createElement("meta",{name:"docusaurus_locale",content:t}),n&&r.createElement("meta",{name:"docusaurus_version",content:n}),o&&r.createElement("meta",{name:"docusaurus_tag",content:o}),i&&r.createElement("meta",{name:"docsearch:language",content:i}),n&&r.createElement("meta",{name:"docsearch:version",content:n}),o&&r.createElement("meta",{name:"docsearch:docusaurus_tag",content:o}))}},50941:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u});var r=n(87462),a=n(67294),o=n(86010),i=n(72389),s=n(92949);const l={themedImage:"themedImage_ToTc","themedImage--light":"themedImage--light_HNdA","themedImage--dark":"themedImage--dark_i4oU"};function u(e){const t=(0,i.Z)(),{colorMode:n}=(0,s.I)(),{sources:u,className:c,alt:d,...f}=e,p=t?"dark"===n?["dark"]:["light"]:["light","dark"];return a.createElement(a.Fragment,null,p.map((e=>a.createElement("img",(0,r.Z)({key:e,src:u[e],alt:d,className:(0,o.Z)(l.themedImage,l[`themedImage--${e}`],c)},f)))))}},86043:(e,t,n)=>{"use strict";n.d(t,{u:()=>s,z:()=>m});var r=n(87462),a=n(67294),o=n(10412),i=n(91442);function s(e){let{initialState:t}=e;const[n,r]=(0,a.useState)(t??!1),o=(0,a.useCallback)((()=>{r((e=>!e))}),[]);return{collapsed:n,setCollapsed:r,toggleCollapsed:o}}const l={display:"none",overflow:"hidden",height:"0px"},u={display:"block",overflow:"visible",height:"auto"};function c(e,t){const n=t?l:u;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function d(e){let{collapsibleRef:t,collapsed:n,animation:r}=e;const o=(0,a.useRef)(!1);(0,a.useEffect)((()=>{const e=t.current;function a(){const t=e.scrollHeight,n=(null==r?void 0:r.duration)??function(e){if((0,i.n)())return 1;const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}(t);return{transition:`height ${n}ms ${(null==r?void 0:r.easing)??"ease-in-out"}`,height:`${t}px`}}function s(){const t=a();e.style.transition=t.transition,e.style.height=t.height}if(!o.current)return c(e,n),void(o.current=!0);return e.style.willChange="height",function(){const t=requestAnimationFrame((()=>{n?(s(),requestAnimationFrame((()=>{e.style.height=l.height,e.style.overflow=l.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{s()})))}));return()=>cancelAnimationFrame(t)}()}),[t,n,r])}function f(e){if(!o.Z.canUseDOM)return e?l:u}function p(e){let{as:t="div",collapsed:n,children:r,animation:o,onCollapseTransitionEnd:i,className:s,disableSSRStyle:l}=e;const u=(0,a.useRef)(null);return d({collapsibleRef:u,collapsed:n,animation:o}),a.createElement(t,{ref:u,style:l?void 0:f(n),onTransitionEnd:e=>{"height"===e.propertyName&&(c(u.current,n),null==i||i(n))},className:s},r)}function g(e){let{collapsed:t,...n}=e;const[o,i]=(0,a.useState)(!t),[s,l]=(0,a.useState)(t);return(0,a.useLayoutEffect)((()=>{t||i(!0)}),[t]),(0,a.useLayoutEffect)((()=>{o&&l(t)}),[o,t]),o?a.createElement(p,(0,r.Z)({},n,{collapsed:s})):null}function m(e){let{lazy:t,...n}=e;const r=t?g:p;return a.createElement(r,n)}},59689:(e,t,n)=>{"use strict";n.d(t,{nT:()=>g,pl:()=>p});var r=n(67294),a=n(72389),o=n(50012),i=n(902),s=n(86668);const l=(0,o.WA)("docusaurus.announcement.dismiss"),u=(0,o.WA)("docusaurus.announcement.id"),c=()=>"true"===l.get(),d=e=>l.set(String(e)),f=r.createContext(null);function p(e){let{children:t}=e;const n=function(){const{announcementBar:e}=(0,s.L)(),t=(0,a.Z)(),[n,o]=(0,r.useState)((()=>!!t&&c()));(0,r.useEffect)((()=>{o(c())}),[]);const i=(0,r.useCallback)((()=>{d(!0),o(!0)}),[]);return(0,r.useEffect)((()=>{if(!e)return;const{id:t}=e;let n=u.get();"annoucement-bar"===n&&(n="announcement-bar");const r=t!==n;u.set(t),r&&d(!1),!r&&c()||o(!1)}),[e]),(0,r.useMemo)((()=>({isActive:!!e&&!n,close:i})),[e,n,i])}();return r.createElement(f.Provider,{value:n},t)}function g(){const e=(0,r.useContext)(f);if(!e)throw new i.i6("AnnouncementBarProvider");return e}},92949:(e,t,n)=>{"use strict";n.d(t,{I:()=>h,S:()=>m});var r=n(67294),a=n(10412),o=n(902),i=n(50012),s=n(86668);const l=r.createContext(void 0),u="theme",c=(0,i.WA)(u),d="light",f="dark",p=e=>e===f?f:d;function g(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,s.L)(),[o,i]=(0,r.useState)((e=>a.Z.canUseDOM?p(document.documentElement.getAttribute("data-theme")):p(e))(e));(0,r.useEffect)((()=>{t&&c.del()}),[t]);const l=(0,r.useCallback)((function(t,r){void 0===r&&(r={});const{persist:a=!0}=r;t?(i(t),a&&(e=>{c.set(p(e))})(t)):(i(n?window.matchMedia("(prefers-color-scheme: dark)").matches?f:d:e),c.del())}),[n,e]);(0,r.useEffect)((()=>{document.documentElement.setAttribute("data-theme",p(o))}),[o]),(0,r.useEffect)((()=>{if(t)return;const e=e=>{if(e.key!==u)return;const t=c.get();null!==t&&l(p(t))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)}),[t,l]);const g=(0,r.useRef)(!1);return(0,r.useEffect)((()=>{if(t&&!n)return;const e=window.matchMedia("(prefers-color-scheme: dark)"),r=()=>{window.matchMedia("print").matches||g.current?g.current=window.matchMedia("print").matches:l(null)};return e.addListener(r),()=>e.removeListener(r)}),[l,t,n]),(0,r.useMemo)((()=>({colorMode:o,setColorMode:l,get isDarkTheme(){return o===f},setLightTheme(){l(d)},setDarkTheme(){l(f)}})),[o,l])}function m(e){let{children:t}=e;const n=g();return r.createElement(l.Provider,{value:n},t)}function h(){const e=(0,r.useContext)(l);if(null==e)throw new o.i6("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},60373:(e,t,n)=>{"use strict";n.d(t,{J:()=>y,L5:()=>b});var r=n(67294),a=n(94104),o=n(29935),i=n(86668),s=n(52802),l=n(902),u=n(50012);const c=e=>`docs-preferred-version-${e}`,d=(e,t,n)=>{(0,u.WA)(c(e),{persistence:t}).set(n)},f=(e,t)=>(0,u.WA)(c(e),{persistence:t}).get(),p=(e,t)=>{(0,u.WA)(c(e),{persistence:t}).del()};const g=r.createContext(null);function m(){const e=(0,a._r)(),t=(0,i.L)().docs.versionPersistence,n=(0,r.useMemo)((()=>Object.keys(e)),[e]),[o,s]=(0,r.useState)((()=>(e=>Object.fromEntries(e.map((e=>[e,{preferredVersionName:null}]))))(n)));(0,r.useEffect)((()=>{s(function(e){let{pluginIds:t,versionPersistence:n,allDocsData:r}=e;function a(e){const t=f(e,n);return r[e].versions.some((e=>e.name===t))?{preferredVersionName:t}:(p(e,n),{preferredVersionName:null})}return Object.fromEntries(t.map((e=>[e,a(e)])))}({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]);return[o,(0,r.useMemo)((()=>({savePreferredVersion:function(e,n){d(e,t,n),s((t=>({...t,[e]:{preferredVersionName:n}})))}})),[t])]}function h(e){let{children:t}=e;const n=m();return r.createElement(g.Provider,{value:n},t)}function b(e){let{children:t}=e;return s.cE?r.createElement(h,null,t):r.createElement(r.Fragment,null,t)}function v(){const e=(0,r.useContext)(g);if(!e)throw new l.i6("DocsPreferredVersionContextProvider");return e}function y(e){void 0===e&&(e=o.m);const t=(0,a.zh)(e),[n,i]=v(),{preferredVersionName:s}=n[e];return{preferredVersion:t.versions.find((e=>e.name===s))??null,savePreferredVersionName:(0,r.useCallback)((t=>{i.savePreferredVersion(e,t)}),[i,e])}}},1116:(e,t,n)=>{"use strict";n.d(t,{V:()=>l,b:()=>s});var r=n(67294),a=n(902);const o=Symbol("EmptyContext"),i=r.createContext(o);function s(e){let{children:t,name:n,items:a}=e;const o=(0,r.useMemo)((()=>n&&a?{name:n,items:a}:null),[n,a]);return r.createElement(i.Provider,{value:o},t)}function l(){const e=(0,r.useContext)(i);if(e===o)throw new a.i6("DocsSidebarProvider");return e}},72961:(e,t,n)=>{"use strict";n.d(t,{M:()=>f,e:()=>p});var r=n(67294),a=n(13102),o=n(87524),i=n(16550),s=(n(61688),n(902));function l(e){!function(e){const t=(0,i.k6)(),n=(0,s.zX)(e);(0,r.useEffect)((()=>t.block(((e,t)=>n(e,t)))),[t,n])}(((t,n)=>{if("POP"===n)return e(t,n)}))}var u=n(86668);const c=r.createContext(void 0);function d(){const e=function(){const e=(0,a.HY)(),{items:t}=(0,u.L)().navbar;return 0===t.length&&!e.component}(),t=(0,o.i)(),n=!e&&"mobile"===t,[i,s]=(0,r.useState)(!1);l((()=>{if(i)return s(!1),!1}));const c=(0,r.useCallback)((()=>{s((e=>!e))}),[]);return(0,r.useEffect)((()=>{"desktop"===t&&s(!1)}),[t]),(0,r.useMemo)((()=>({disabled:e,shouldRender:n,toggle:c,shown:i})),[e,n,c,i])}function f(e){let{children:t}=e;const n=d();return r.createElement(c.Provider,{value:n},t)}function p(){const e=r.useContext(c);if(void 0===e)throw new s.i6("NavbarMobileSidebarProvider");return e}},13102:(e,t,n)=>{"use strict";n.d(t,{HY:()=>s,Zo:()=>l,n2:()=>i});var r=n(67294),a=n(902);const o=r.createContext(null);function i(e){let{children:t}=e;const n=(0,r.useState)({component:null,props:null});return r.createElement(o.Provider,{value:n},t)}function s(){const e=(0,r.useContext)(o);if(!e)throw new a.i6("NavbarSecondaryMenuContentProvider");return e[0]}function l(e){let{component:t,props:n}=e;const i=(0,r.useContext)(o);if(!i)throw new a.i6("NavbarSecondaryMenuContentProvider");const[,s]=i,l=(0,a.Ql)(n);return(0,r.useEffect)((()=>{s({component:t,props:l})}),[s,t,l]),(0,r.useEffect)((()=>()=>s({component:null,props:null})),[s]),null}},19727:(e,t,n)=>{"use strict";n.d(t,{h:()=>a,t:()=>o});var r=n(67294);const a="navigation-with-keyboard";function o(){(0,r.useEffect)((()=>{function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(a),"mousedown"===e.type&&document.body.classList.remove(a)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),()=>{document.body.classList.remove(a),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},87524:(e,t,n)=>{"use strict";n.d(t,{i:()=>u});var r=n(67294),a=n(10412);const o="desktop",i="mobile",s="ssr";function l(){return a.Z.canUseDOM?window.innerWidth>996?o:i:s}function u(){const[e,t]=(0,r.useState)((()=>l()));return(0,r.useEffect)((()=>{function e(){t(l())}return window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e),clearTimeout(undefined)}}),[]),e}},35281:(e,t,n)=>{"use strict";n.d(t,{k:()=>r});const r={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",admonitionType:e=>`theme-admonition-${e}`},layout:{},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:e=>`theme-doc-sidebar-item-category-level-${e}`,docSidebarItemLinkLevel:e=>`theme-doc-sidebar-item-link-level-${e}`},blog:{}}},91442:(e,t,n)=>{"use strict";function r(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}n.d(t,{n:()=>r})},52802:(e,t,n)=>{"use strict";n.d(t,{Wl:()=>f,_F:()=>g,cE:()=>d,hI:()=>w,lO:()=>b,vY:()=>y,oz:()=>v,s1:()=>h});var r=n(67294),a=n(16550),o=n(18790),i=n(94104),s=n(60373),l=n(1116);function u(e){return Array.from(new Set(e))}var c=n(48596);const d=!!i._r;function f(e){if(e.href)return e.href;for(const t of e.items){if("link"===t.type)return t.href;if("category"===t.type){const e=f(t);if(e)return e}}}const p=(e,t)=>void 0!==e&&(0,c.Mg)(e,t);function g(e,t){return"link"===e.type?p(e.href,t):"category"===e.type&&(p(e.href,t)||((e,t)=>e.some((e=>g(e,t))))(e.items,t))}function m(e){let{sidebarItems:t,pathname:n,onlyCategories:r=!1}=e;const a=[];return function e(t){for(const o of t)if("category"===o.type&&((0,c.Mg)(o.href,n)||e(o.items))||"link"===o.type&&(0,c.Mg)(o.href,n)){return r&&"category"!==o.type||a.unshift(o),!0}return!1}(t),a}function h(){var e;const t=(0,l.V)(),{pathname:n}=(0,a.TH)();return!1!==(null==(e=(0,i.gA)())?void 0:e.pluginData.breadcrumbs)&&t?m({sidebarItems:t.items,pathname:n}):null}function b(e){const{activeVersion:t}=(0,i.Iw)(e),{preferredVersion:n}=(0,s.J)(e),a=(0,i.yW)(e);return(0,r.useMemo)((()=>u([t,n,a].filter(Boolean))),[t,n,a])}function v(e,t){const n=b(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.sidebars?Object.entries(e.sidebars):[])),r=t.find((t=>t[0]===e));if(!r)throw new Error(`Can't find any sidebar with id "${e}" in version${n.length>1?"s":""} ${n.map((e=>e.name)).join(", ")}".\nAvailable sidebar ids are:\n- ${t.map((e=>e[0])).join("\n- ")}`);return r[1]}),[e,n])}function y(e,t){const n=b(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.docs)),r=t.find((t=>t.id===e));if(!r){if(n.flatMap((e=>e.draftIds)).includes(e))return null;throw new Error(`Couldn't find any doc with id "${e}" in version${n.length>1?"s":""} "${n.map((e=>e.name)).join(", ")}".\nAvailable doc ids are:\n- ${u(t.map((e=>e.id))).join("\n- ")}`)}return r}),[e,n])}function w(e){let{route:t,versionMetadata:n}=e;const r=(0,a.TH)(),i=t.routes,s=i.find((e=>(0,a.LX)(r.pathname,e)));if(!s)return null;const l=s.sidebar,u=l?n.docsSidebars[l]:void 0;return{docElement:(0,o.H)(i),sidebarName:l,sidebarItems:u}}},1944:(e,t,n)=>{"use strict";n.d(t,{FG:()=>f,d:()=>c,VC:()=>p});var r=n(67294),a=n(86010),o=n(35742),i=n(30226);function s(){const e=r.useContext(i._);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}var l=n(44996),u=n(52263);function c(e){let{title:t,description:n,keywords:a,image:i,children:s}=e;const c=function(e){const{siteConfig:t}=(0,u.Z)(),{title:n,titleDelimiter:r}=t;return null!=e&&e.trim().length?`${e.trim()} ${r} ${n}`:n}(t),{withBaseUrl:d}=(0,l.C)(),f=i?d(i,{absolute:!0}):void 0;return r.createElement(o.Z,null,t&&r.createElement("title",null,c),t&&r.createElement("meta",{property:"og:title",content:c}),n&&r.createElement("meta",{name:"description",content:n}),n&&r.createElement("meta",{property:"og:description",content:n}),a&&r.createElement("meta",{name:"keywords",content:Array.isArray(a)?a.join(","):a}),f&&r.createElement("meta",{property:"og:image",content:f}),f&&r.createElement("meta",{name:"twitter:image",content:f}),s)}const d=r.createContext(void 0);function f(e){let{className:t,children:n}=e;const i=r.useContext(d),s=(0,a.Z)(i,t);return r.createElement(d.Provider,{value:s},r.createElement(o.Z,null,r.createElement("html",{className:s})),n)}function p(e){let{children:t}=e;const n=s(),o=`plugin-${n.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`;const i=`plugin-id-${n.plugin.id}`;return r.createElement(f,{className:(0,a.Z)(o,i)},t)}},902:(e,t,n)=>{"use strict";n.d(t,{D9:()=>i,Qc:()=>u,Ql:()=>l,i6:()=>s,zX:()=>o});var r=n(67294);const a=n(10412).Z.canUseDOM?r.useLayoutEffect:r.useEffect;function o(e){const t=(0,r.useRef)(e);return a((()=>{t.current=e}),[e]),(0,r.useCallback)((function(){return t.current(...arguments)}),[])}function i(e){const t=(0,r.useRef)();return a((()=>{t.current=e})),t.current}class s extends Error{constructor(e,t){var n,r,a;super(),this.name="ReactContextError",this.message=`Hook ${(null==(n=this.stack)||null==(r=n.split("\n")[1])||null==(a=r.match(/at (?:\w+\.)?(?\w+)/))?void 0:a.groups.name)??""} is called outside the <${e}>. ${t??""}`}}function l(e){const t=Object.entries(e);return t.sort(((e,t)=>e[0].localeCompare(t[0]))),(0,r.useMemo)((()=>e),t.flat())}function u(e){return t=>{let{children:n}=t;return r.createElement(r.Fragment,null,e.reduceRight(((e,t)=>r.createElement(t,null,e)),n))}}},48596:(e,t,n)=>{"use strict";n.d(t,{Mg:()=>i,Ns:()=>s});var r=n(67294),a=n(723),o=n(52263);function i(e,t){const n=e=>{var t;return null==(t=!e||e.endsWith("/")?e:`${e}/`)?void 0:t.toLowerCase()};return n(e)===n(t)}function s(){const{baseUrl:e}=(0,o.Z)().siteConfig;return(0,r.useMemo)((()=>function(e){let{baseUrl:t,routes:n}=e;function r(e){return e.path===t&&!0===e.exact}function a(e){return e.path===t&&!e.exact}return function e(t){if(0===t.length)return;return t.find(r)||e(t.filter(a).flatMap((e=>e.routes??[])))}(n)}({routes:a.Z,baseUrl:e})),[e])}},12466:(e,t,n)=>{"use strict";n.d(t,{Ct:()=>f,OC:()=>l,RF:()=>d});var r=n(67294),a=n(10412),o=n(72389),i=n(902);const s=r.createContext(void 0);function l(e){let{children:t}=e;const n=function(){const e=(0,r.useRef)(!0);return(0,r.useMemo)((()=>({scrollEventsEnabledRef:e,enableScrollEvents:()=>{e.current=!0},disableScrollEvents:()=>{e.current=!1}})),[])}();return r.createElement(s.Provider,{value:n},t)}function u(){const e=(0,r.useContext)(s);if(null==e)throw new i.i6("ScrollControllerProvider");return e}const c=()=>a.Z.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function d(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:n}=u(),a=(0,r.useRef)(c()),o=(0,i.zX)(e);(0,r.useEffect)((()=>{const e=()=>{if(!n.current)return;const e=c();o(e,a.current),a.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)}),[o,n,...t])}function f(){const e=(0,r.useRef)(null),t=(0,o.Z)()&&"smooth"===getComputedStyle(document.documentElement).scrollBehavior;return{startScroll:n=>{e.current=t?function(e){return window.scrollTo({top:e,behavior:"smooth"}),()=>{}}(n):function(e){let t=null;const n=document.documentElement.scrollTop>e;return function r(){const a=document.documentElement.scrollTop;(n&&a>e||!n&&at&&cancelAnimationFrame(t)}(n)},cancelScroll:()=>null==e.current?void 0:e.current()}}},43320:(e,t,n)=>{"use strict";n.d(t,{HX:()=>r,os:()=>a});n(52263);const r="default";function a(e,t){return`docs-${e}-${t}`}},50012:(e,t,n)=>{"use strict";n.d(t,{WA:()=>u});n(67294),n(61688);var r=n(25108);const a="localStorage";function o(e){let{key:t,oldValue:n,newValue:r,storage:a}=e;if(n===r)return;const o=document.createEvent("StorageEvent");o.initStorageEvent("storage",!1,!1,t,n,r,window.location.href,a),window.dispatchEvent(o)}function i(e){if(void 0===e&&(e=a),"undefined"==typeof window)throw new Error("Browser storage is not available on Node.js/Docusaurus SSR process.");if("none"===e)return null;try{return window[e]}catch(n){return t=n,s||(r.warn("Docusaurus browser storage is not available.\nPossible reasons: running Docusaurus in an iframe, in an incognito browser session, or using too strict browser privacy settings.",t),s=!0),null}var t}let s=!1;const l={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};function u(e,t){if("undefined"==typeof window)return function(e){function t(){throw new Error(`Illegal storage API usage for storage key "${e}".\nDocusaurus storage APIs are not supposed to be called on the server-rendering process.\nPlease only call storage APIs in effects and event handlers.`)}return{get:t,set:t,del:t,listen:t}}(e);const n=i(null==t?void 0:t.persistence);return null===n?l:{get:()=>{try{return n.getItem(e)}catch(t){return r.error(`Docusaurus storage error, can't get key=${e}`,t),null}},set:t=>{try{const r=n.getItem(e);n.setItem(e,t),o({key:e,oldValue:r,newValue:t,storage:n})}catch(a){r.error(`Docusaurus storage error, can't set ${e}=${t}`,a)}},del:()=>{try{const t=n.getItem(e);n.removeItem(e),o({key:e,oldValue:t,newValue:null,storage:n})}catch(t){r.error(`Docusaurus storage error, can't delete key=${e}`,t)}},listen:t=>{try{const r=r=>{r.storageArea===n&&r.key===e&&t(r)};return window.addEventListener("storage",r),()=>window.removeEventListener("storage",r)}catch(a){return r.error(`Docusaurus storage error, can't listen for changes of key=${e}`,a),()=>{}}}}}},94711:(e,t,n)=>{"use strict";n.d(t,{l:()=>o});var r=n(52263),a=n(16550);function o(){const{siteConfig:{baseUrl:e,url:t},i18n:{defaultLocale:n,currentLocale:o}}=(0,r.Z)(),{pathname:i}=(0,a.TH)(),s=o===n?e:e.replace(`/${o}/`,"/"),l=i.replace(e,"");return{createUrl:function(e){let{locale:r,fullyQualified:a}=e;return`${a?t:""}${function(e){return e===n?`${s}`:`${s}${e}/`}(r)}${l}`}}}},85936:(e,t,n)=>{"use strict";n.d(t,{S:()=>i});var r=n(67294),a=n(16550),o=n(902);function i(e){const t=(0,a.TH)(),n=(0,o.D9)(t),i=(0,o.zX)(e);(0,r.useEffect)((()=>{n&&t!==n&&i({location:t,previousLocation:n})}),[i,t,n])}},86668:(e,t,n)=>{"use strict";n.d(t,{L:()=>a});var r=n(52263);function a(){return(0,r.Z)().siteConfig.themeConfig}},8802:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){const{trailingSlash:n,baseUrl:r}=t;if(e.startsWith("#"))return e;if(void 0===n)return e;const[a]=e.split(/[#?]/),o="/"===a||a===r?a:(i=a,n?function(e){return e.endsWith("/")?e:`${e}/`}(i):function(e){return e.endsWith("/")?e.slice(0,-1):e}(i));var i;return e.replace(a,o)}},54143:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=void 0,t.getErrorCausalChain=function e(t){return t.cause?[t,...e(t.cause)]:[t]}},18780:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=t.applyTrailingSlash=t.blogPostContainerID=void 0,t.blogPostContainerID="__blog-post-container";var a=n(8802);Object.defineProperty(t,"applyTrailingSlash",{enumerable:!0,get:function(){return r(a).default}});var o=n(54143);Object.defineProperty(t,"getErrorCausalChain",{enumerable:!0,get:function(){return o.getErrorCausalChain}})},21924:(e,t,n)=>{"use strict";var r=n(40210),a=n(55559),o=a(r("String.prototype.indexOf"));e.exports=function(e,t){var n=r(e,!!t);return"function"==typeof n&&o(e,".prototype.")>-1?a(n):n}},55559:(e,t,n)=>{"use strict";var r=n(58612),a=n(40210),o=n(67771),i=a("%TypeError%"),s=a("%Function.prototype.apply%"),l=a("%Function.prototype.call%"),u=a("%Reflect.apply%",!0)||r.call(l,s),c=a("%Object.defineProperty%",!0),d=a("%Math.max%");if(c)try{c({},"a",{value:1})}catch(p){c=null}e.exports=function(e){if("function"!=typeof e)throw new i("a function is required");var t=u(r,l,arguments);return o(t,1+d(0,e.length-(arguments.length-1)),!0)};var f=function(){return u(r,s,arguments)};c?c(e.exports,"apply",{value:f}):e.exports.apply=f},94184:(e,t)=>{var n;!function(){"use strict";var r={}.hasOwnProperty;function a(){for(var e=[],t=0;t{"use strict";function r(e){var t,n,a="";if("string"==typeof e||"number"==typeof e)a+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;ta});const a=function(){for(var e,t,n=0,a="";n{var r=n(89539),a=n(69282);function o(){return(new Date).getTime()}var i,s=Array.prototype.slice,l={};i=void 0!==n.g&&n.g.console?n.g.console:"undefined"!=typeof window&&window.console?window.console:{};for(var u=[[function(){},"log"],[function(){i.log.apply(i,arguments)},"info"],[function(){i.log.apply(i,arguments)},"warn"],[function(){i.warn.apply(i,arguments)},"error"],[function(e){l[e]=o()},"time"],[function(e){var t=l[e];if(!t)throw new Error("No such label: "+e);delete l[e];var n=o()-t;i.log(e+": "+n+"ms")},"timeEnd"],[function(){var e=new Error;e.name="Trace",e.message=r.format.apply(null,arguments),i.error(e.stack)},"trace"],[function(e){i.log(r.inspect(e)+"\n")},"dir"],[function(e){if(!e){var t=s.call(arguments,1);a.ok(!1,r.format.apply(null,t))}},"assert"]],c=0;c{"use strict";var r=n(31044)(),a=n(40210),o=r&&a("%Object.defineProperty%",!0);if(o)try{o({},"a",{value:1})}catch(u){o=!1}var i=a("%SyntaxError%"),s=a("%TypeError%"),l=n(27296);e.exports=function(e,t,n){if(!e||"object"!=typeof e&&"function"!=typeof e)throw new s("`obj` must be an object or a function`");if("string"!=typeof t&&"symbol"!=typeof t)throw new s("`property` must be a string or a symbol`");if(arguments.length>3&&"boolean"!=typeof arguments[3]&&null!==arguments[3])throw new s("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&"boolean"!=typeof arguments[4]&&null!==arguments[4])throw new s("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&"boolean"!=typeof arguments[5]&&null!==arguments[5])throw new s("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&"boolean"!=typeof arguments[6])throw new s("`loose`, if provided, must be a boolean");var r=arguments.length>3?arguments[3]:null,a=arguments.length>4?arguments[4]:null,u=arguments.length>5?arguments[5]:null,c=arguments.length>6&&arguments[6],d=!!l&&l(e,t);if(o)o(e,t,{configurable:null===u&&d?d.configurable:!u,enumerable:null===r&&d?d.enumerable:!r,value:n,writable:null===a&&d?d.writable:!a});else{if(!c&&(r||a||u))throw new i("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.");e[t]=n}}},4289:(e,t,n)=>{"use strict";var r=n(82215),a="function"==typeof Symbol&&"symbol"==typeof Symbol("foo"),o=Object.prototype.toString,i=Array.prototype.concat,s=n(12296),l=n(31044)(),u=function(e,t,n,r){if(t in e)if(!0===r){if(e[t]===n)return}else if("function"!=typeof(a=r)||"[object Function]"!==o.call(a)||!r())return;var a;l?s(e,t,n,!0):s(e,t,n)},c=function(e,t){var n=arguments.length>2?arguments[2]:{},o=r(t);a&&(o=i.call(o,Object.getOwnPropertySymbols(t)));for(var s=0;s{"use strict";var r=n(95320),a=Object.prototype.toString,o=Object.prototype.hasOwnProperty,i=function(e,t,n){for(var r=0,a=e.length;r=3&&(o=n),"[object Array]"===a.call(e)?i(e,t,o):"string"==typeof e?s(e,t,o):l(e,t,o)}},17648:e=>{"use strict";var t="Function.prototype.bind called on incompatible ",n=Object.prototype.toString,r=Math.max,a="[object Function]",o=function(e,t){for(var n=[],r=0;r{"use strict";var r=n(17648);e.exports=Function.prototype.bind||r},40210:(e,t,n)=>{"use strict";var r,a=SyntaxError,o=Function,i=TypeError,s=function(e){try{return o('"use strict"; return ('+e+").constructor;")()}catch(t){}},l=Object.getOwnPropertyDescriptor;if(l)try{l({},"")}catch(P){l=null}var u=function(){throw new i},c=l?function(){try{return u}catch(e){try{return l(arguments,"callee").get}catch(t){return u}}}():u,d=n(41405)(),f=n(28185)(),p=Object.getPrototypeOf||(f?function(e){return e.__proto__}:null),g={},m="undefined"!=typeof Uint8Array&&p?p(Uint8Array):r,h={"%AggregateError%":"undefined"==typeof AggregateError?r:AggregateError,"%Array%":Array,"%ArrayBuffer%":"undefined"==typeof ArrayBuffer?r:ArrayBuffer,"%ArrayIteratorPrototype%":d&&p?p([][Symbol.iterator]()):r,"%AsyncFromSyncIteratorPrototype%":r,"%AsyncFunction%":g,"%AsyncGenerator%":g,"%AsyncGeneratorFunction%":g,"%AsyncIteratorPrototype%":g,"%Atomics%":"undefined"==typeof Atomics?r:Atomics,"%BigInt%":"undefined"==typeof BigInt?r:BigInt,"%BigInt64Array%":"undefined"==typeof BigInt64Array?r:BigInt64Array,"%BigUint64Array%":"undefined"==typeof BigUint64Array?r:BigUint64Array,"%Boolean%":Boolean,"%DataView%":"undefined"==typeof DataView?r:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":"undefined"==typeof Float32Array?r:Float32Array,"%Float64Array%":"undefined"==typeof Float64Array?r:Float64Array,"%FinalizationRegistry%":"undefined"==typeof FinalizationRegistry?r:FinalizationRegistry,"%Function%":o,"%GeneratorFunction%":g,"%Int8Array%":"undefined"==typeof Int8Array?r:Int8Array,"%Int16Array%":"undefined"==typeof Int16Array?r:Int16Array,"%Int32Array%":"undefined"==typeof Int32Array?r:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":d&&p?p(p([][Symbol.iterator]())):r,"%JSON%":"object"==typeof JSON?JSON:r,"%Map%":"undefined"==typeof Map?r:Map,"%MapIteratorPrototype%":"undefined"!=typeof Map&&d&&p?p((new Map)[Symbol.iterator]()):r,"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":"undefined"==typeof Promise?r:Promise,"%Proxy%":"undefined"==typeof Proxy?r:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":"undefined"==typeof Reflect?r:Reflect,"%RegExp%":RegExp,"%Set%":"undefined"==typeof Set?r:Set,"%SetIteratorPrototype%":"undefined"!=typeof Set&&d&&p?p((new Set)[Symbol.iterator]()):r,"%SharedArrayBuffer%":"undefined"==typeof SharedArrayBuffer?r:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":d&&p?p(""[Symbol.iterator]()):r,"%Symbol%":d?Symbol:r,"%SyntaxError%":a,"%ThrowTypeError%":c,"%TypedArray%":m,"%TypeError%":i,"%Uint8Array%":"undefined"==typeof Uint8Array?r:Uint8Array,"%Uint8ClampedArray%":"undefined"==typeof Uint8ClampedArray?r:Uint8ClampedArray,"%Uint16Array%":"undefined"==typeof Uint16Array?r:Uint16Array,"%Uint32Array%":"undefined"==typeof Uint32Array?r:Uint32Array,"%URIError%":URIError,"%WeakMap%":"undefined"==typeof WeakMap?r:WeakMap,"%WeakRef%":"undefined"==typeof WeakRef?r:WeakRef,"%WeakSet%":"undefined"==typeof WeakSet?r:WeakSet};if(p)try{null.error}catch(P){var b=p(p(P));h["%Error.prototype%"]=b}var v=function e(t){var n;if("%AsyncFunction%"===t)n=s("async function () {}");else if("%GeneratorFunction%"===t)n=s("function* () {}");else if("%AsyncGeneratorFunction%"===t)n=s("async function* () {}");else if("%AsyncGenerator%"===t){var r=e("%AsyncGeneratorFunction%");r&&(n=r.prototype)}else if("%AsyncIteratorPrototype%"===t){var a=e("%AsyncGenerator%");a&&p&&(n=p(a.prototype))}return h[t]=n,n},y={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},w=n(58612),E=n(48824),k=w.call(Function.call,Array.prototype.concat),S=w.call(Function.apply,Array.prototype.splice),T=w.call(Function.call,String.prototype.replace),x=w.call(Function.call,String.prototype.slice),_=w.call(Function.call,RegExp.prototype.exec),A=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,O=/\\(\\)?/g,C=function(e){var t=x(e,0,1),n=x(e,-1);if("%"===t&&"%"!==n)throw new a("invalid intrinsic syntax, expected closing `%`");if("%"===n&&"%"!==t)throw new a("invalid intrinsic syntax, expected opening `%`");var r=[];return T(e,A,(function(e,t,n,a){r[r.length]=n?T(a,O,"$1"):t||e})),r},N=function(e,t){var n,r=e;if(E(y,r)&&(r="%"+(n=y[r])[0]+"%"),E(h,r)){var o=h[r];if(o===g&&(o=v(r)),void 0===o&&!t)throw new i("intrinsic "+e+" exists, but is not available. Please file an issue!");return{alias:n,name:r,value:o}}throw new a("intrinsic "+e+" does not exist!")};e.exports=function(e,t){if("string"!=typeof e||0===e.length)throw new i("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!=typeof t)throw new i('"allowMissing" argument must be a boolean');if(null===_(/^%?[^%]*%?$/,e))throw new a("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var n=C(e),r=n.length>0?n[0]:"",o=N("%"+r+"%",t),s=o.name,u=o.value,c=!1,d=o.alias;d&&(r=d[0],S(n,k([0,1],d)));for(var f=1,p=!0;f=n.length){var v=l(u,g);u=(p=!!v)&&"get"in v&&!("originalValue"in v.get)?v.get:u[g]}else p=E(u,g),u=u[g];p&&!c&&(h[s]=u)}}return u}},27296:(e,t,n)=>{"use strict";var r=n(40210)("%Object.getOwnPropertyDescriptor%",!0);if(r)try{r([],"length")}catch(a){r=null}e.exports=r},31044:(e,t,n)=>{"use strict";var r=n(40210)("%Object.defineProperty%",!0),a=function(){if(r)try{return r({},"a",{value:1}),!0}catch(e){return!1}return!1};a.hasArrayLengthDefineBug=function(){if(!a())return null;try{return 1!==r([],"length",{value:1}).length}catch(e){return!0}},e.exports=a},28185:e=>{"use strict";var t={foo:{}},n=Object;e.exports=function(){return{__proto__:t}.foo===t.foo&&!({__proto__:null}instanceof n)}},41405:(e,t,n)=>{"use strict";var r="undefined"!=typeof Symbol&&Symbol,a=n(55419);e.exports=function(){return"function"==typeof r&&("function"==typeof Symbol&&("symbol"==typeof r("foo")&&("symbol"==typeof Symbol("bar")&&a())))}},55419:e=>{"use strict";e.exports=function(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"==typeof Symbol.iterator)return!0;var e={},t=Symbol("test"),n=Object(t);if("string"==typeof t)return!1;if("[object Symbol]"!==Object.prototype.toString.call(t))return!1;if("[object Symbol]"!==Object.prototype.toString.call(n))return!1;for(t in e[t]=42,e)return!1;if("function"==typeof Object.keys&&0!==Object.keys(e).length)return!1;if("function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(e).length)return!1;var r=Object.getOwnPropertySymbols(e);if(1!==r.length||r[0]!==t)return!1;if(!Object.prototype.propertyIsEnumerable.call(e,t))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var a=Object.getOwnPropertyDescriptor(e,t);if(42!==a.value||!0!==a.enumerable)return!1}return!0}},96410:(e,t,n)=>{"use strict";var r=n(55419);e.exports=function(){return r()&&!!Symbol.toStringTag}},48824:(e,t,n)=>{"use strict";var r=Function.prototype.call,a=Object.prototype.hasOwnProperty,o=n(58612);e.exports=o.call(r,a)},99318:(e,t,n)=>{"use strict";n.d(t,{lX:()=>w,q_:()=>_,ob:()=>p,PP:()=>O,Ep:()=>f});var r=n(87462);function a(e){return"/"===e.charAt(0)}function o(e,t){for(var n=t,r=n+1,a=e.length;r=0;f--){var p=i[f];"."===p?o(i,f):".."===p?(o(i,f),d++):d&&(o(i,f),d--)}if(!u)for(;d--;d)i.unshift("..");!u||""===i[0]||i[0]&&a(i[0])||i.unshift("");var g=i.join("/");return n&&"/"!==g.substr(-1)&&(g+="/"),g};var s=n(38776);function l(e){return"/"===e.charAt(0)?e:"/"+e}function u(e){return"/"===e.charAt(0)?e.substr(1):e}function c(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function d(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function f(e){var t=e.pathname,n=e.search,r=e.hash,a=t||"/";return n&&"?"!==n&&(a+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(a+="#"===r.charAt(0)?r:"#"+r),a}function p(e,t,n,a){var o;"string"==typeof e?(o=function(e){var t=e||"/",n="",r="",a=t.indexOf("#");-1!==a&&(r=t.substr(a),t=t.substr(0,a));var o=t.indexOf("?");return-1!==o&&(n=t.substr(o),t=t.substr(0,o)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e),o.state=t):(void 0===(o=(0,r.Z)({},e)).pathname&&(o.pathname=""),o.search?"?"!==o.search.charAt(0)&&(o.search="?"+o.search):o.search="",o.hash?"#"!==o.hash.charAt(0)&&(o.hash="#"+o.hash):o.hash="",void 0!==t&&void 0===o.state&&(o.state=t));try{o.pathname=decodeURI(o.pathname)}catch(s){throw s instanceof URIError?new URIError('Pathname "'+o.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):s}return n&&(o.key=n),a?o.pathname?"/"!==o.pathname.charAt(0)&&(o.pathname=i(o.pathname,a.pathname)):o.pathname=a.pathname:o.pathname||(o.pathname="/"),o}function g(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,a){if(null!=e){var o="function"==typeof e?e(t,n):e;"string"==typeof o?"function"==typeof r?r(o,a):a(!0):a(!1!==o)}else a(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;rt?n.splice(t,n.length-t,a):n.push(a),d({action:r,location:a,index:t,entries:n})}}))},replace:function(e,t){var r="REPLACE",a=p(e,t,m(),w.location);c.confirmTransitionTo(a,r,n,(function(e){e&&(w.entries[w.index]=a,d({action:r,location:a}))}))},go:y,goBack:function(){y(-1)},goForward:function(){y(1)},canGo:function(e){var t=w.index+e;return t>=0&&t{"use strict";var r=n(59864),a={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},o={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},s={};function l(e){return r.isMemo(e)?i:s[e.$$typeof]||a}s[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},s[r.Memo]=i;var u=Object.defineProperty,c=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,f=Object.getOwnPropertyDescriptor,p=Object.getPrototypeOf,g=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(g){var a=p(n);a&&a!==g&&e(t,a,r)}var i=c(n);d&&(i=i.concat(d(n)));for(var s=l(t),m=l(n),h=0;h{"function"==typeof Object.create?e.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(e,t){if(t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}}},41143:e=>{"use strict";e.exports=function(e,t,n,r,a,o,i,s){if(!e){var l;if(void 0===t)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var u=[n,r,a,o,i,s],c=0;(l=new Error(t.replace(/%s/g,(function(){return u[c++]})))).name="Invariant Violation"}throw l.framesToPop=1,l}}},82584:(e,t,n)=>{"use strict";var r=n(96410)(),a=n(21924)("Object.prototype.toString"),o=function(e){return!(r&&e&&"object"==typeof e&&Symbol.toStringTag in e)&&"[object Arguments]"===a(e)},i=function(e){return!!o(e)||null!==e&&"object"==typeof e&&"number"==typeof e.length&&e.length>=0&&"[object Array]"!==a(e)&&"[object Function]"===a(e.callee)},s=function(){return o(arguments)}();o.isLegacyArguments=i,e.exports=s?o:i},95320:e=>{"use strict";var t,n,r=Function.prototype.toString,a="object"==typeof Reflect&&null!==Reflect&&Reflect.apply;if("function"==typeof a&&"function"==typeof Object.defineProperty)try{t=Object.defineProperty({},"length",{get:function(){throw n}}),n={},a((function(){throw 42}),null,t)}catch(p){p!==n&&(a=null)}else a=null;var o=/^\s*class\b/,i=function(e){try{var t=r.call(e);return o.test(t)}catch(n){return!1}},s=function(e){try{return!i(e)&&(r.call(e),!0)}catch(t){return!1}},l=Object.prototype.toString,u="function"==typeof Symbol&&!!Symbol.toStringTag,c=!(0 in[,]),d=function(){return!1};if("object"==typeof document){var f=document.all;l.call(f)===l.call(document.all)&&(d=function(e){if((c||!e)&&(void 0===e||"object"==typeof e))try{var t=l.call(e);return("[object HTMLAllCollection]"===t||"[object HTML document.all class]"===t||"[object HTMLCollection]"===t||"[object Object]"===t)&&null==e("")}catch(n){}return!1})}e.exports=a?function(e){if(d(e))return!0;if(!e)return!1;if("function"!=typeof e&&"object"!=typeof e)return!1;try{a(e,null,t)}catch(r){if(r!==n)return!1}return!i(e)&&s(e)}:function(e){if(d(e))return!0;if(!e)return!1;if("function"!=typeof e&&"object"!=typeof e)return!1;if(u)return s(e);if(i(e))return!1;var t=l.call(e);return!("[object Function]"!==t&&"[object GeneratorFunction]"!==t&&!/^\[object HTML/.test(t))&&s(e)}},48662:(e,t,n)=>{"use strict";var r,a=Object.prototype.toString,o=Function.prototype.toString,i=/^\s*(?:function)?\*/,s=n(96410)(),l=Object.getPrototypeOf;e.exports=function(e){if("function"!=typeof e)return!1;if(i.test(o.call(e)))return!0;if(!s)return"[object GeneratorFunction]"===a.call(e);if(!l)return!1;if(void 0===r){var t=function(){if(!s)return!1;try{return Function("return function*() {}")()}catch(e){}}();r=!!t&&l(t)}return l(e)===r}},98611:e=>{"use strict";e.exports=function(e){return e!=e}},20360:(e,t,n)=>{"use strict";var r=n(55559),a=n(4289),o=n(98611),i=n(29415),s=n(23194),l=r(i(),Number);a(l,{getPolyfill:i,implementation:o,shim:s}),e.exports=l},29415:(e,t,n)=>{"use strict";var r=n(98611);e.exports=function(){return Number.isNaN&&Number.isNaN(NaN)&&!Number.isNaN("a")?Number.isNaN:r}},23194:(e,t,n)=>{"use strict";var r=n(4289),a=n(29415);e.exports=function(){var e=a();return r(Number,{isNaN:e},{isNaN:function(){return Number.isNaN!==e}}),e}},85692:(e,t,n)=>{"use strict";var r=n(86430);e.exports=function(e){return!!r(e)}},5826:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},93878:(e,t,n)=>{"use strict";n.r(t)},32497:(e,t,n)=>{"use strict";n.r(t)},74865:function(e,t,n){var r,a;r=function(){var e,t,n={version:"0.2.0"},r=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'
'};function a(e,t,n){return en?n:e}function o(e){return 100*(-1+e)}function i(e,t,n){var a;return(a="translate3d"===r.positionUsing?{transform:"translate3d("+o(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+o(e)+"%,0)"}:{"margin-left":o(e)+"%"}).transition="all "+t+"ms "+n,a}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(r[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=a(e,r.minimum,1),n.status=1===e?null:e;var o=n.render(!t),u=o.querySelector(r.barSelector),c=r.speed,d=r.easing;return o.offsetWidth,s((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),l(u,i(e,c,d)),1===e?(l(o,{transition:"none",opacity:1}),o.offsetWidth,setTimeout((function(){l(o,{transition:"all "+c+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),c)}),c)):setTimeout(t,c)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),r.trickleSpeed)};return r.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*a(Math.random()*t,.1,.95)),t=a(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*r.trickleRate)},e=0,t=0,n.promise=function(r){return r&&"resolved"!==r.state()?(0===t&&n.start(),e++,t++,r.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");c(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=r.template;var a,i=t.querySelector(r.barSelector),s=e?"-100":o(n.status||0),u=document.querySelector(r.parent);return l(i,{transition:"all 0 linear",transform:"translate3d("+s+"%,0,0)"}),r.showSpinner||(a=t.querySelector(r.spinnerSelector))&&p(a),u!=document.body&&c(u,"nprogress-custom-parent"),u.appendChild(t),t},n.remove=function(){d(document.documentElement,"nprogress-busy"),d(document.querySelector(r.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&p(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var s=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),l=function(){var e=["Webkit","O","Moz","ms"],t={};function n(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function r(t){var n=document.body.style;if(t in n)return t;for(var r,a=e.length,o=t.charAt(0).toUpperCase()+t.slice(1);a--;)if((r=e[a]+o)in n)return r;return t}function a(e){return e=n(e),t[e]||(t[e]=r(e))}function o(e,t,n){t=a(t),e.style[t]=n}return function(e,t){var n,r,a=arguments;if(2==a.length)for(n in t)void 0!==(r=t[n])&&t.hasOwnProperty(n)&&o(e,n,r);else o(e,a[1],a[2])}}();function u(e,t){return("string"==typeof e?e:f(e)).indexOf(" "+t+" ")>=0}function c(e,t){var n=f(e),r=n+t;u(n,t)||(e.className=r.substring(1))}function d(e,t){var n,r=f(e);u(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function f(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function p(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n},void 0===(a="function"==typeof r?r.call(t,n,t,e):r)||(e.exports=a)},27418:e=>{"use strict";var t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;function a(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(a){return!1}}()?Object.assign:function(e,o){for(var i,s,l=a(e),u=1;u{"use strict";var t=function(e){return e!=e};e.exports=function(e,n){return 0===e&&0===n?1/e==1/n:e===n||!(!t(e)||!t(n))}},20609:(e,t,n)=>{"use strict";var r=n(4289),a=n(55559),o=n(24244),i=n(75624),s=n(52281),l=a(i(),Object);r(l,{getPolyfill:i,implementation:o,shim:s}),e.exports=l},75624:(e,t,n)=>{"use strict";var r=n(24244);e.exports=function(){return"function"==typeof Object.is?Object.is:r}},52281:(e,t,n)=>{"use strict";var r=n(75624),a=n(4289);e.exports=function(){var e=r();return a(Object,{is:e},{is:function(){return Object.is!==e}}),e}},18987:(e,t,n)=>{"use strict";var r;if(!Object.keys){var a=Object.prototype.hasOwnProperty,o=Object.prototype.toString,i=n(21414),s=Object.prototype.propertyIsEnumerable,l=!s.call({toString:null},"toString"),u=s.call((function(){}),"prototype"),c=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],d=function(e){var t=e.constructor;return t&&t.prototype===e},f={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},p=function(){if("undefined"==typeof window)return!1;for(var e in window)try{if(!f["$"+e]&&a.call(window,e)&&null!==window[e]&&"object"==typeof window[e])try{d(window[e])}catch(t){return!0}}catch(t){return!0}return!1}();r=function(e){var t=null!==e&&"object"==typeof e,n="[object Function]"===o.call(e),r=i(e),s=t&&"[object String]"===o.call(e),f=[];if(!t&&!n&&!r)throw new TypeError("Object.keys called on a non-object");var g=u&&n;if(s&&e.length>0&&!a.call(e,0))for(var m=0;m0)for(var h=0;h{"use strict";var r=Array.prototype.slice,a=n(21414),o=Object.keys,i=o?function(e){return o(e)}:n(18987),s=Object.keys;i.shim=function(){if(Object.keys){var e=function(){var e=Object.keys(arguments);return e&&e.length===arguments.length}(1,2);e||(Object.keys=function(e){return a(e)?s(r.call(e)):s(e)})}else Object.keys=i;return Object.keys||i},e.exports=i},21414:e=>{"use strict";var t=Object.prototype.toString;e.exports=function(e){var n=t.call(e),r="[object Arguments]"===n;return r||(r="[object Array]"!==n&&null!==e&&"object"==typeof e&&"number"==typeof e.length&&e.length>=0&&"[object Function]"===t.call(e.callee)),r}},92837:(e,t,n)=>{"use strict";var r=n(82215),a=n(55419)(),o=n(21924),i=Object,s=o("Array.prototype.push"),l=o("Object.prototype.propertyIsEnumerable"),u=a?Object.getOwnPropertySymbols:null;e.exports=function(e,t){if(null==e)throw new TypeError("target must be an object");var n=i(e);if(1===arguments.length)return n;for(var o=1;o{"use strict";var r=n(92837);e.exports=function(){return Object.assign?function(){if(!Object.assign)return!1;for(var e="abcdefghijklmnopqrst",t=e.split(""),n={},r=0;r{"use strict";n.d(t,{Z:()=>o});var r=function(){var e=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,t=0,n={},r={util:{encode:function e(t){return t instanceof a?new a(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&").replace(/=d.reach);S+=k.value.length,k=k.next){var T=k.value;if(t.length>e.length)return;if(!(T instanceof a)){var x,_=1;if(v){if(!(x=o(E,S,e,b))||x.index>=e.length)break;var A=x.index,O=x.index+x[0].length,C=S;for(C+=k.value.length;A>=C;)C+=(k=k.next).value.length;if(S=C-=k.value.length,k.value instanceof a)continue;for(var N=k;N!==t.tail&&(Cd.reach&&(d.reach=R);var j=k.prev;if(L&&(j=l(t,j,L),S+=L.length),u(t,j,_),k=l(t,j,new a(f,h?r.tokenize(P,h):P,y,P)),I&&l(t,k,I),_>1){var D={cause:f+","+g,reach:R};i(e,t,n,k.prev,S,D),d&&D.reach>d.reach&&(d.reach=D.reach)}}}}}}function s(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function l(e,t,n){var r=t.next,a={value:n,prev:t,next:r};return t.next=a,r.prev=a,e.length++,a}function u(e,t,n){for(var r=t.next,a=0;a"+o.content+""},r}(),a=r;r.default=r,a.languages.markup={comment:{pattern://,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern://i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},a.languages.markup.tag.inside["attr-value"].inside.entity=a.languages.markup.entity,a.languages.markup.doctype.inside["internal-subset"].inside=a.languages.markup,a.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))})),Object.defineProperty(a.languages.markup.tag,"addInlined",{value:function(e,t){var n={};n["language-"+t]={pattern:/(^$)/i,lookbehind:!0,inside:a.languages[t]},n.cdata=/^$/i;var r={"included-cdata":{pattern://i,inside:n}};r["language-"+t]={pattern:/[\s\S]+/,inside:a.languages[t]};var o={};o[e]={pattern:RegExp(/(<__[^>]*>)(?:))*\]\]>|(?!)/.source.replace(/__/g,(function(){return e})),"i"),lookbehind:!0,greedy:!0,inside:r},a.languages.insertBefore("markup","cdata",o)}}),Object.defineProperty(a.languages.markup.tag,"addAttribute",{value:function(e,t){a.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+e+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:a.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),a.languages.html=a.languages.markup,a.languages.mathml=a.languages.markup,a.languages.svg=a.languages.markup,a.languages.xml=a.languages.extend("markup",{}),a.languages.ssml=a.languages.xml,a.languages.atom=a.languages.xml,a.languages.rss=a.languages.xml,function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",n={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},r={bash:n,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:r},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:n}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:r},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:r.entity}}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:r.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},n.inside=e.languages.bash;for(var a=["comment","function-name","for-or-select","assign-left","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],o=r.variable[1].inside,i=0;i]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},a.languages.c=a.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),a.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),a.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},a.languages.c.string],char:a.languages.c.char,comment:a.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:a.languages.c}}}}),a.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete a.languages.c.boolean,function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,n=/\b(?!)\w+(?:\s*\.\s*\w+)*\b/.source.replace(//g,(function(){return t.source}));e.languages.cpp=e.languages.extend("c",{"class-name":[{pattern:RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!)\w+/.source.replace(//g,(function(){return t.source}))),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore("cpp","string",{module:{pattern:RegExp(/(\b(?:import|module)\s+)/.source+"(?:"+/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source+"|"+/(?:\s*:\s*)?|:\s*/.source.replace(//g,(function(){return n}))+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),e.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:e.languages.cpp}}}}),e.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),e.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend("cpp",{})}}),e.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp["base-clause"])}(a),function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-](?:[^;{\s]|\s+(?![\s{]))*(?:;|(?=\s*\{))/,inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var n=e.languages.markup;n&&(n.tag.addInlined("style","css"),n.tag.addAttribute("style","css"))}(a),function(e){var t,n=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;e.languages.css.selector={pattern:e.languages.css.selector.pattern,lookbehind:!0,inside:t={"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+/,class:/\.[-\w]+/,id:/#[-\w]+/,attribute:{pattern:RegExp("\\[(?:[^[\\]\"']|"+n.source+")*\\]"),greedy:!0,inside:{punctuation:/^\[|\]$/,"case-sensitivity":{pattern:/(\s)[si]$/i,lookbehind:!0,alias:"keyword"},namespace:{pattern:/^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,lookbehind:!0,inside:{punctuation:/\|$/}},"attr-name":{pattern:/^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,lookbehind:!0},"attr-value":[n,{pattern:/(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,lookbehind:!0}],operator:/[|~*^$]?=/}},"n-th":[{pattern:/(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,lookbehind:!0,inside:{number:/[\dn]+/,operator:/[+-]/}},{pattern:/(\(\s*)(?:even|odd)(?=\s*\))/i,lookbehind:!0}],combinator:/>|\+|~|\|\|/,punctuation:/[(),]/}},e.languages.css.atrule.inside["selector-function-argument"].inside=t,e.languages.insertBefore("css","property",{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,lookbehind:!0}});var r={pattern:/(\b\d+)(?:%|[a-z]+(?![\w-]))/,lookbehind:!0},a={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0};e.languages.insertBefore("css","function",{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:!0},hexcode:{pattern:/\B#[\da-f]{3,8}\b/i,alias:"color"},color:[{pattern:/(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i,lookbehind:!0},{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:r,number:a,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:r,number:a})}(a),a.languages.javascript=a.languages.extend("clike",{"class-name":[a.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),a.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,a.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:a.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:a.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:a.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:a.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:a.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),a.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:a.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),a.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),a.languages.markup&&(a.languages.markup.tag.addInlined("script","javascript"),a.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),a.languages.js=a.languages.javascript,function(e){var t=/#(?!\{).+/,n={pattern:/#\{[^}]+\}/,alias:"variable"};e.languages.coffeescript=e.languages.extend("javascript",{comment:t,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,inside:{interpolation:n}}],keyword:/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,"class-member":{pattern:/@(?!\d)\w+/,alias:"variable"}}),e.languages.insertBefore("coffeescript","comment",{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:"comment"},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:"regex",inside:{comment:t,interpolation:n}}}),e.languages.insertBefore("coffeescript","string",{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},script:{pattern:/[\s\S]+/,alias:"language-javascript",inside:e.languages.javascript}}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:!0,alias:"string"},{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string",inside:{interpolation:n}}]}),e.languages.insertBefore("coffeescript","keyword",{property:/(?!\d)\w+(?=\s*:(?!:))/}),delete e.languages.coffeescript["template-string"],e.languages.coffee=e.languages.coffeescript}(a),function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r="(?:"+n.source+"(?:[ \t]+"+t.source+")?|"+t.source+"(?:[ \t]+"+n.source+")?)",a=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-])(?:[ \t]*(?:(?![#:])|:))*/.source.replace(//g,(function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source})),o=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function i(e,t){t=(t||"").replace(/m/g,"")+"m";var n=/([:\-,[{]\s*(?:\s<>[ \t]+)?)(?:<>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<>/g,(function(){return r})).replace(/<>/g,(function(){return e}));return RegExp(n,t)}e.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<>/g,(function(){return r}))),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<>[ \t]+)?)<>(?=\s*:\s)/.source.replace(/<>/g,(function(){return r})).replace(/<>/g,(function(){return"(?:"+a+"|"+o+")"}))),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:i(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:i(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:i(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:i(o),lookbehind:!0,greedy:!0},number:{pattern:i(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(a),function(e){var t=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function n(e){return e=e.replace(//g,(function(){return t})),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+e+")")}var r=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,a=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,(function(){return r})),o=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source;e.languages.markdown=e.languages.extend("markup",{}),e.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+a+o+"(?:"+a+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+a+o+")(?:"+a+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(r),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+a+")"+o+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+a+"$"),inside:{"table-header":{pattern:RegExp(r),alias:"important",inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:n(/\b__(?:(?!_)|_(?:(?!_))+_)+__\b|\*\*(?:(?!\*)|\*(?:(?!\*))+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:n(/\b_(?:(?!_)|__(?:(?!_))+__)+_\b|\*(?:(?!\*)|\*\*(?:(?!\*))+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:n(/(~~?)(?:(?!~))+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:n(/!?\[(?:(?!\]))+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\]))+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach((function(t){["url","bold","italic","strike","code-snippet"].forEach((function(n){t!==n&&(e.languages.markdown[t].inside.content.inside[n]=e.languages.markdown[n])}))})),e.hooks.add("after-tokenize",(function(e){"markdown"!==e.language&&"md"!==e.language||function e(t){if(t&&"string"!=typeof t)for(var n=0,r=t.length;n",quot:'"'},l=String.fromCodePoint||String.fromCharCode;e.languages.md=e.languages.markdown}(a),a.languages.graphql={comment:/#.*/,description:{pattern:/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i,greedy:!0,alias:"string",inside:{"language-markdown":{pattern:/(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/,lookbehind:!0,inside:a.languages.markdown}}},string:{pattern:/"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},number:/(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,boolean:/\b(?:false|true)\b/,variable:/\$[a-z_]\w*/i,directive:{pattern:/@[a-z_]\w*/i,alias:"function"},"attr-name":{pattern:/\b[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i,greedy:!0},"atom-input":{pattern:/\b[A-Z]\w*Input\b/,alias:"class-name"},scalar:/\b(?:Boolean|Float|ID|Int|String)\b/,constant:/\b[A-Z][A-Z_\d]*\b/,"class-name":{pattern:/(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*|:\s*|\[)[A-Z_]\w*/,lookbehind:!0},fragment:{pattern:/(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-mutation":{pattern:/(\bmutation\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-query":{pattern:/(\bquery\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},keyword:/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/,operator:/[!=|&]|\.{3}/,"property-query":/\w+(?=\s*\()/,object:/\w+(?=\s*\{)/,punctuation:/[!(){}\[\]:=,]/,property:/\w+/},a.hooks.add("after-tokenize",(function(e){if("graphql"===e.language)for(var t=e.tokens.filter((function(e){return"string"!=typeof e&&"comment"!==e.type&&"scalar"!==e.type})),n=0;n0)){var s=f(/^\{$/,/^\}$/);if(-1===s)continue;for(var l=n;l=0&&p(u,"variable-input")}}}}function c(e){return t[n+e]}function d(e,t){t=t||0;for(var n=0;n?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/},function(e){var t=e.languages.javascript["template-string"],n=t.pattern.source,r=t.inside.interpolation,a=r.inside["interpolation-punctuation"],o=r.pattern.source;function i(t,r){if(e.languages[t])return{pattern:RegExp("((?:"+r+")\\s*)"+n),lookbehind:!0,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},"embedded-code":{pattern:/[\s\S]+/,alias:t}}}}function s(e,t){return"___"+t.toUpperCase()+"_"+e+"___"}function l(t,n,r){var a={code:t,grammar:n,language:r};return e.hooks.run("before-tokenize",a),a.tokens=e.tokenize(a.code,a.grammar),e.hooks.run("after-tokenize",a),a.tokens}function u(t){var n={};n["interpolation-punctuation"]=a;var o=e.tokenize(t,n);if(3===o.length){var i=[1,1];i.push.apply(i,l(o[1],e.languages.javascript,"javascript")),o.splice.apply(o,i)}return new e.Token("interpolation",o,r.alias,t)}function c(t,n,r){var a=e.tokenize(t,{interpolation:{pattern:RegExp(o),lookbehind:!0}}),i=0,c={},d=l(a.map((function(e){if("string"==typeof e)return e;for(var n,a=e.content;-1!==t.indexOf(n=s(i++,r)););return c[n]=a,n})).join(""),n,r),f=Object.keys(c);return i=0,function e(t){for(var n=0;n=f.length)return;var r=t[n];if("string"==typeof r||"string"==typeof r.content){var a=f[i],o="string"==typeof r?r:r.content,s=o.indexOf(a);if(-1!==s){++i;var l=o.substring(0,s),d=u(c[a]),p=o.substring(s+a.length),g=[];if(l&&g.push(l),g.push(d),p){var m=[p];e(m),g.push.apply(g,m)}"string"==typeof r?(t.splice.apply(t,[n,1].concat(g)),n+=g.length-1):r.content=g}}else{var h=r.content;Array.isArray(h)?e(h):e([h])}}}(d),new e.Token(r,d,"language-"+r,t)}e.languages.javascript["template-string"]=[i("css",/\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)/.source),i("html",/\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=/.source),i("svg",/\bsvg/.source),i("markdown",/\b(?:markdown|md)/.source),i("graphql",/\b(?:gql|graphql(?:\s*\.\s*experimental)?)/.source),i("sql",/\bsql/.source),t].filter(Boolean);var d={javascript:!0,js:!0,typescript:!0,ts:!0,jsx:!0,tsx:!0};function f(e){return"string"==typeof e?e:Array.isArray(e)?e.map(f).join(""):f(e.content)}e.hooks.add("after-tokenize",(function(t){t.language in d&&function t(n){for(var r=0,a=n.length;r]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript["literal-property"];var t=e.languages.extend("typescript",{});delete t["class-name"],e.languages.typescript["class-name"].inside=t,e.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:t}}}}),e.languages.ts=e.languages.typescript}(a),function(e){function t(e,t){return RegExp(e.replace(//g,(function(){return/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/.source})),t)}e.languages.insertBefore("javascript","function-variable",{"method-variable":{pattern:RegExp("(\\.\\s*)"+e.languages.javascript["function-variable"].pattern.source),lookbehind:!0,alias:["function-variable","method","function","property-access"]}}),e.languages.insertBefore("javascript","function",{method:{pattern:RegExp("(\\.\\s*)"+e.languages.javascript.function.source),lookbehind:!0,alias:["function","property-access"]}}),e.languages.insertBefore("javascript","constant",{"known-class-name":[{pattern:/\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\b/,alias:"class-name"},{pattern:/\b(?:[A-Z]\w*)Error\b/,alias:"class-name"}]}),e.languages.insertBefore("javascript","keyword",{imports:{pattern:t(/(\bimport\b\s*)(?:(?:\s*,\s*(?:\*\s*as\s+|\{[^{}]*\}))?|\*\s*as\s+|\{[^{}]*\})(?=\s*\bfrom\b)/.source),lookbehind:!0,inside:e.languages.javascript},exports:{pattern:t(/(\bexport\b\s*)(?:\*(?:\s*as\s+)?(?=\s*\bfrom\b)|\{[^{}]*\})/.source),lookbehind:!0,inside:e.languages.javascript}}),e.languages.javascript.keyword.unshift({pattern:/\b(?:as|default|export|from|import)\b/,alias:"module"},{pattern:/\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\b/,alias:"control-flow"},{pattern:/\bnull\b/,alias:["null","nil"]},{pattern:/\bundefined\b/,alias:"nil"}),e.languages.insertBefore("javascript","operator",{spread:{pattern:/\.{3}/,alias:"operator"},arrow:{pattern:/=>/,alias:"operator"}}),e.languages.insertBefore("javascript","punctuation",{"property-access":{pattern:t(/(\.\s*)#?/.source),lookbehind:!0},"maybe-class-name":{pattern:/(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/,lookbehind:!0},dom:{pattern:/\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\b/,alias:"variable"},console:{pattern:/\bconsole(?=\s*\.)/,alias:"class-name"}});for(var n=["function","function-variable","method","method-variable","property-access"],r=0;r*\.{3}(?:[^{}]|)*\})/.source;function o(e,t){return e=e.replace(//g,(function(){return n})).replace(//g,(function(){return r})).replace(//g,(function(){return a})),RegExp(e,t)}a=o(a).source,e.languages.jsx=e.languages.extend("markup",t),e.languages.jsx.tag.pattern=o(/<\/?(?:[\w.:-]+(?:+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|))?|))**\/?)?>/.source),e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,e.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,e.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.jsx.tag.inside.comment=t.comment,e.languages.insertBefore("inside","attr-name",{spread:{pattern:o(//.source),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore("inside","special-attr",{script:{pattern:o(/=/.source),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:e.languages.jsx}}},e.languages.jsx.tag);var i=function(e){return e?"string"==typeof e?e:"string"==typeof e.content?e.content:e.content.map(i).join(""):""},s=function(t){for(var n=[],r=0;r0&&n[n.length-1].tagName===i(a.content[0].content[1])&&n.pop():"/>"===a.content[a.content.length-1].content||n.push({tagName:i(a.content[0].content[1]),openedBraces:0}):n.length>0&&"punctuation"===a.type&&"{"===a.content?n[n.length-1].openedBraces++:n.length>0&&n[n.length-1].openedBraces>0&&"punctuation"===a.type&&"}"===a.content?n[n.length-1].openedBraces--:o=!0),(o||"string"==typeof a)&&n.length>0&&0===n[n.length-1].openedBraces){var l=i(a);r0&&("string"==typeof t[r-1]||"plain-text"===t[r-1].type)&&(l=i(t[r-1])+l,t.splice(r-1,1),r--),t[r]=new e.Token("plain-text",l,null,l)}a.content&&"string"!=typeof a.content&&s(a.content)}};e.hooks.add("after-tokenize",(function(e){"jsx"!==e.language&&"tsx"!==e.language||s(e.tokens)}))}(a),function(e){e.languages.diff={coord:[/^(?:\*{3}|-{3}|\+{3}).*$/m,/^@@.*@@$/m,/^\d.*$/m]};var t={"deleted-sign":"-","deleted-arrow":"<","inserted-sign":"+","inserted-arrow":">",unchanged:" ",diff:"!"};Object.keys(t).forEach((function(n){var r=t[n],a=[];/^\w+$/.test(n)||a.push(/\w+/.exec(n)[0]),"diff"===n&&a.push("bold"),e.languages.diff[n]={pattern:RegExp("^(?:["+r+"].*(?:\r\n?|\n|(?![\\s\\S])))+","m"),alias:a,inside:{line:{pattern:/(.)(?=[\s\S]).*(?:\r\n?|\n)?/,lookbehind:!0},prefix:{pattern:/[\s\S]/,alias:/\w+/.exec(n)[0]}}}})),Object.defineProperty(e.languages.diff,"PREFIXES",{value:t})}(a),a.languages.git={comment:/^#.*/m,deleted:/^[-\u2013].*/m,inserted:/^\+.*/m,string:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,command:{pattern:/^.*\$ git .*$/m,inside:{parameter:/\s--?\w+/}},coord:/^@@.*@@$/m,"commit-sha1":/^commit \w{40}$/m},a.languages.go=a.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),a.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete a.languages.go["class-name"],function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,a,o){if(n.language===r){var i=n.tokenStack=[];n.code=n.code.replace(a,(function(e){if("function"==typeof o&&!o(e))return e;for(var a,s=i.length;-1!==n.code.indexOf(a=t(r,s));)++s;return i[s]=e,a})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var a=0,o=Object.keys(n.tokenStack);!function i(s){for(var l=0;l=o.length);l++){var u=s[l];if("string"==typeof u||u.content&&"string"==typeof u.content){var c=o[a],d=n.tokenStack[c],f="string"==typeof u?u:u.content,p=t(r,c),g=f.indexOf(p);if(g>-1){++a;var m=f.substring(0,g),h=new e.Token(r,e.tokenize(d,n.grammar),"language-"+r,d),b=f.substring(g+p.length),v=[];m&&v.push.apply(v,i([m])),v.push(h),b&&v.push.apply(v,i([b])),"string"==typeof u?s.splice.apply(s,[l,1].concat(v)):u.content=v}}else u.content&&i(u.content)}return s}(n.tokens)}}}})}(a),function(e){e.languages.handlebars={comment:/\{\{![\s\S]*?\}\}/,delimiter:{pattern:/^\{\{\{?|\}\}\}?$/,alias:"punctuation"},string:/(["'])(?:\\.|(?!\1)[^\\\r\n])*\1/,number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][+-]?\d+)?/,boolean:/\b(?:false|true)\b/,block:{pattern:/^(\s*(?:~\s*)?)[#\/]\S+?(?=\s*(?:~\s*)?$|\s)/,lookbehind:!0,alias:"keyword"},brackets:{pattern:/\[[^\]]+\]/,inside:{punctuation:/\[|\]/,variable:/[\s\S]+/}},punctuation:/[!"#%&':()*+,.\/;<=>@\[\\\]^`{|}~]/,variable:/[^!"#%&'()*+,\/;<=>@\[\\\]^`{|}~\s]+/},e.hooks.add("before-tokenize",(function(t){e.languages["markup-templating"].buildPlaceholders(t,"handlebars",/\{\{\{[\s\S]+?\}\}\}|\{\{[\s\S]+?\}\}/g)})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"handlebars")})),e.languages.hbs=e.languages.handlebars}(a),a.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},a.languages.webmanifest=a.languages.json,a.languages.less=a.languages.extend("css",{comment:[/\/\*[\s\S]*?\*\//,{pattern:/(^|[^\\])\/\/.*/,lookbehind:!0}],atrule:{pattern:/@[\w-](?:\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{punctuation:/[:()]/}},selector:{pattern:/(?:@\{[\w-]+\}|[^{};\s@])(?:@\{[\w-]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};@\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{variable:/@+[\w-]+/}},property:/(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/,operator:/[+\-*\/]/}),a.languages.insertBefore("less","property",{variable:[{pattern:/@[\w-]+\s*:/,inside:{punctuation:/:/}},/@@?[\w-]+/],"mixin-usage":{pattern:/([{;]\s*)[.#](?!\d)[\w-].*?(?=[(;])/,lookbehind:!0,alias:"function"}}),a.languages.makefile={comment:{pattern:/(^|[^\\])#(?:\\(?:\r\n|[\s\S])|[^\\\r\n])*/,lookbehind:!0},string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"builtin-target":{pattern:/\.[A-Z][^:#=\s]+(?=\s*:(?!=))/,alias:"builtin"},target:{pattern:/^(?:[^:=\s]|[ \t]+(?![\s:]))+(?=\s*:(?!=))/m,alias:"symbol",inside:{variable:/\$+(?:(?!\$)[^(){}:#=\s]+|(?=[({]))/}},variable:/\$+(?:(?!\$)[^(){}:#=\s]+|\([@*%<^+?][DF]\)|(?=[({]))/,keyword:/-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/,function:{pattern:/(\()(?:abspath|addsuffix|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:list|s)?)(?=[ \t])/,lookbehind:!0},operator:/(?:::|[?:+!])?=|[|@]/,punctuation:/[:;(){}]/},a.languages.objectivec=a.languages.extend("c",{string:{pattern:/@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete a.languages.objectivec["class-name"],a.languages.objc=a.languages.objectivec,a.languages.ocaml={comment:{pattern:/\(\*[\s\S]*?\*\)/,greedy:!0},char:{pattern:/'(?:[^\\\r\n']|\\(?:.|[ox]?[0-9a-f]{1,3}))'/i,greedy:!0},string:[{pattern:/"(?:\\(?:[\s\S]|\r\n)|[^\\\r\n"])*"/,greedy:!0},{pattern:/\{([a-z_]*)\|[\s\S]*?\|\1\}/,greedy:!0}],number:[/\b(?:0b[01][01_]*|0o[0-7][0-7_]*)\b/i,/\b0x[a-f0-9][a-f0-9_]*(?:\.[a-f0-9_]*)?(?:p[+-]?\d[\d_]*)?(?!\w)/i,/\b\d[\d_]*(?:\.[\d_]*)?(?:e[+-]?\d[\d_]*)?(?!\w)/i],directive:{pattern:/\B#\w+/,alias:"property"},label:{pattern:/\B~\w+/,alias:"property"},"type-variable":{pattern:/\B'\w+/,alias:"function"},variant:{pattern:/`\w+/,alias:"symbol"},keyword:/\b(?:as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|nonrec|object|of|open|private|rec|sig|struct|then|to|try|type|val|value|virtual|when|where|while|with)\b/,boolean:/\b(?:false|true)\b/,"operator-like-punctuation":{pattern:/\[[<>|]|[>|]\]|\{<|>\}/,alias:"punctuation"},operator:/\.[.~]|:[=>]|[=<>@^|&+\-*\/$%!?~][!$%&*+\-.\/:<=>?@^|~]*|\b(?:and|asr|land|lor|lsl|lsr|lxor|mod|or)\b/,punctuation:/;;|::|[(){}\[\].,:;#]|\b_\b/},a.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},a.languages.python["string-interpolation"].inside.interpolation.inside.rest=a.languages.python,a.languages.py=a.languages.python,a.languages.reason=a.languages.extend("clike",{string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,greedy:!0},"class-name":/\b[A-Z]\w*/,keyword:/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/,operator:/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:asr|land|lor|lsl|lsr|lxor|mod)\b/}),a.languages.insertBefore("reason","class-name",{char:{pattern:/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,greedy:!0},constructor:/\b[A-Z]\w*\b(?!\s*\.)/,label:{pattern:/\b[a-z]\w*(?=::)/,alias:"symbol"}}),delete a.languages.reason.function,function(e){e.languages.sass=e.languages.extend("css",{comment:{pattern:/^([ \t]*)\/[\/*].*(?:(?:\r?\n|\r)\1[ \t].+)*/m,lookbehind:!0,greedy:!0}}),e.languages.insertBefore("sass","atrule",{"atrule-line":{pattern:/^(?:[ \t]*)[@+=].+/m,greedy:!0,inside:{atrule:/(?:@[\w-]+|[+=])/}}}),delete e.languages.sass.atrule;var t=/\$[-\w]+|#\{\$[-\w]+\}/,n=[/[+*\/%]|[=!]=|<=?|>=?|\b(?:and|not|or)\b/,{pattern:/(\s)-(?=\s)/,lookbehind:!0}];e.languages.insertBefore("sass","property",{"variable-line":{pattern:/^[ \t]*\$.+/m,greedy:!0,inside:{punctuation:/:/,variable:t,operator:n}},"property-line":{pattern:/^[ \t]*(?:[^:\s]+ *:.*|:[^:\s].*)/m,greedy:!0,inside:{property:[/[^:\s]+(?=\s*:)/,{pattern:/(:)[^:\s]+/,lookbehind:!0}],punctuation:/:/,variable:t,operator:n,important:e.languages.sass.important}}}),delete e.languages.sass.property,delete e.languages.sass.important,e.languages.insertBefore("sass","punctuation",{selector:{pattern:/^([ \t]*)\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*(?:,(?:\r?\n|\r)\1[ \t]+\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*)*/m,lookbehind:!0,greedy:!0}})}(a),a.languages.scss=a.languages.extend("css",{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},atrule:{pattern:/@[\w-](?:\([^()]+\)|[^()\s]|\s+(?!\s))*?(?=\s+[{;])/,inside:{rule:/@[\w-]+/}},url:/(?:[-a-z]+-)?url(?=\()/i,selector:{pattern:/(?=\S)[^@;{}()]?(?:[^@;{}()\s]|\s+(?!\s)|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}][^:{}]*[:{][^}]))/,inside:{parent:{pattern:/&/,alias:"important"},placeholder:/%[-\w]+/,variable:/\$[-\w]+|#\{\$[-\w]+\}/}},property:{pattern:/(?:[-\w]|\$[-\w]|#\{\$[-\w]+\})+(?=\s*:)/,inside:{variable:/\$[-\w]+|#\{\$[-\w]+\}/}}}),a.languages.insertBefore("scss","atrule",{keyword:[/@(?:content|debug|each|else(?: if)?|extend|for|forward|function|if|import|include|mixin|return|use|warn|while)\b/i,{pattern:/( )(?:from|through)(?= )/,lookbehind:!0}]}),a.languages.insertBefore("scss","important",{variable:/\$[-\w]+|#\{\$[-\w]+\}/}),a.languages.insertBefore("scss","function",{"module-modifier":{pattern:/\b(?:as|hide|show|with)\b/i,alias:"keyword"},placeholder:{pattern:/%[-\w]+/,alias:"selector"},statement:{pattern:/\B!(?:default|optional)\b/i,alias:"keyword"},boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"},operator:{pattern:/(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|not|or)(?=\s)/,lookbehind:!0}}),a.languages.scss.atrule.inside.rest=a.languages.scss,function(e){var t={pattern:/(\b\d+)(?:%|[a-z]+)/,lookbehind:!0},n={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0},r={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},url:{pattern:/\burl\((["']?).*?\1\)/i,greedy:!0},string:{pattern:/("|')(?:(?!\1)[^\\\r\n]|\\(?:\r\n|[\s\S]))*\1/,greedy:!0},interpolation:null,func:null,important:/\B!(?:important|optional)\b/i,keyword:{pattern:/(^|\s+)(?:(?:else|for|if|return|unless)(?=\s|$)|@[\w-]+)/,lookbehind:!0},hexcode:/#[\da-f]{3,6}/i,color:[/\b(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)\b/i,{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:t,number:n,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:t,boolean:/\b(?:false|true)\b/,operator:[/~|[+!\/%<>?=]=?|[-:]=|\*[*=]?|\.{2,3}|&&|\|\||\B-\B|\b(?:and|in|is(?: a| defined| not|nt)?|not|or)\b/],number:n,punctuation:/[{}()\[\];:,]/};r.interpolation={pattern:/\{[^\r\n}:]+\}/,alias:"variable",inside:{delimiter:{pattern:/^\{|\}$/,alias:"punctuation"},rest:r}},r.func={pattern:/[\w-]+\([^)]*\).*/,inside:{function:/^[^(]+/,rest:r}},e.languages.stylus={"atrule-declaration":{pattern:/(^[ \t]*)@.+/m,lookbehind:!0,inside:{atrule:/^@[\w-]+/,rest:r}},"variable-declaration":{pattern:/(^[ \t]*)[\w$-]+\s*.?=[ \t]*(?:\{[^{}]*\}|\S.*|$)/m,lookbehind:!0,inside:{variable:/^\S+/,rest:r}},statement:{pattern:/(^[ \t]*)(?:else|for|if|return|unless)[ \t].+/m,lookbehind:!0,inside:{keyword:/^\S+/,rest:r}},"property-declaration":{pattern:/((?:^|\{)([ \t]*))(?:[\w-]|\{[^}\r\n]+\})+(?:\s*:\s*|[ \t]+)(?!\s)[^{\r\n]*(?:;|[^{\r\n,]$(?!(?:\r?\n|\r)(?:\{|\2[ \t])))/m,lookbehind:!0,inside:{property:{pattern:/^[^\s:]+/,inside:{interpolation:r.interpolation}},rest:r}},selector:{pattern:/(^[ \t]*)(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)(?:(?:\r?\n|\r)(?:\1(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)))*(?:,$|\{|(?=(?:\r?\n|\r)(?:\{|\1[ \t])))/m,lookbehind:!0,inside:{interpolation:r.interpolation,comment:r.comment,punctuation:/[{},]/}},func:r.func,string:r.string,comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0,greedy:!0},interpolation:r.interpolation,punctuation:/[{}()\[\];:.]/}}(a),function(e){var t=e.util.clone(e.languages.typescript);e.languages.tsx=e.languages.extend("jsx",t),delete e.languages.tsx.parameter,delete e.languages.tsx["literal-property"];var n=e.languages.tsx.tag;n.pattern=RegExp(/(^|[^\w$]|(?=<\/))/.source+"(?:"+n.pattern.source+")",n.pattern.flags),n.lookbehind=!0}(a),a.languages.wasm={comment:[/\(;[\s\S]*?;\)/,{pattern:/;;.*/,greedy:!0}],string:{pattern:/"(?:\\[\s\S]|[^"\\])*"/,greedy:!0},keyword:[{pattern:/\b(?:align|offset)=/,inside:{operator:/=/}},{pattern:/\b(?:(?:f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|neg?|nearest|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|sqrt|store(?:8|16|32)?|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))?|memory\.(?:grow|size))\b/,inside:{punctuation:/\./}},/\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\b/],variable:/\$[\w!#$%&'*+\-./:<=>?@\\^`|~]+/,number:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/,punctuation:/[()]/};const o=a},79016:()=>{!function(e){function t(e,t){return e.replace(/<<(\d+)>>/g,(function(e,n){return"(?:"+t[+n]+")"}))}function n(e,n,r){return RegExp(t(e,n),r||"")}function r(e,t){for(var n=0;n>/g,(function(){return"(?:"+e+")"}));return e.replace(/<>/g,"[^\\s\\S]")}var a="bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void",o="class enum interface record struct",i="add alias and ascending async await by descending from(?=\\s*(?:\\w|$)) get global group into init(?=\\s*;) join let nameof not notnull on or orderby partial remove select set unmanaged value when where with(?=\\s*{)",s="abstract as base break case catch checked const continue default delegate do else event explicit extern finally fixed for foreach goto if implicit in internal is lock namespace new null operator out override params private protected public readonly ref return sealed sizeof stackalloc static switch this throw try typeof unchecked unsafe using virtual volatile while yield";function l(e){return"\\b(?:"+e.trim().replace(/ /g,"|")+")\\b"}var u=l(o),c=RegExp(l(a+" "+o+" "+i+" "+s)),d=l(o+" "+i+" "+s),f=l(a+" "+o+" "+s),p=r(/<(?:[^<>;=+\-*/%&|^]|<>)*>/.source,2),g=r(/\((?:[^()]|<>)*\)/.source,2),m=/@?\b[A-Za-z_]\w*\b/.source,h=t(/<<0>>(?:\s*<<1>>)?/.source,[m,p]),b=t(/(?!<<0>>)<<1>>(?:\s*\.\s*<<1>>)*/.source,[d,h]),v=/\[\s*(?:,\s*)*\]/.source,y=t(/<<0>>(?:\s*(?:\?\s*)?<<1>>)*(?:\s*\?)?/.source,[b,v]),w=t(/[^,()<>[\];=+\-*/%&|^]|<<0>>|<<1>>|<<2>>/.source,[p,g,v]),E=t(/\(<<0>>+(?:,<<0>>+)+\)/.source,[w]),k=t(/(?:<<0>>|<<1>>)(?:\s*(?:\?\s*)?<<2>>)*(?:\s*\?)?/.source,[E,b,v]),S={keyword:c,punctuation:/[<>()?,.:[\]]/},T=/'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'/.source,x=/"(?:\\.|[^\\"\r\n])*"/.source,_=/@"(?:""|\\[\s\S]|[^\\"])*"(?!")/.source;e.languages.csharp=e.languages.extend("clike",{string:[{pattern:n(/(^|[^$\\])<<0>>/.source,[_]),lookbehind:!0,greedy:!0},{pattern:n(/(^|[^@$\\])<<0>>/.source,[x]),lookbehind:!0,greedy:!0}],"class-name":[{pattern:n(/(\busing\s+static\s+)<<0>>(?=\s*;)/.source,[b]),lookbehind:!0,inside:S},{pattern:n(/(\busing\s+<<0>>\s*=\s*)<<1>>(?=\s*;)/.source,[m,k]),lookbehind:!0,inside:S},{pattern:n(/(\busing\s+)<<0>>(?=\s*=)/.source,[m]),lookbehind:!0},{pattern:n(/(\b<<0>>\s+)<<1>>/.source,[u,h]),lookbehind:!0,inside:S},{pattern:n(/(\bcatch\s*\(\s*)<<0>>/.source,[b]),lookbehind:!0,inside:S},{pattern:n(/(\bwhere\s+)<<0>>/.source,[m]),lookbehind:!0},{pattern:n(/(\b(?:is(?:\s+not)?|as)\s+)<<0>>/.source,[y]),lookbehind:!0,inside:S},{pattern:n(/\b<<0>>(?=\s+(?!<<1>>|with\s*\{)<<2>>(?:\s*[=,;:{)\]]|\s+(?:in|when)\b))/.source,[k,f,m]),inside:S}],keyword:c,number:/(?:\b0(?:x[\da-f_]*[\da-f]|b[01_]*[01])|(?:\B\.\d+(?:_+\d+)*|\b\d+(?:_+\d+)*(?:\.\d+(?:_+\d+)*)?)(?:e[-+]?\d+(?:_+\d+)*)?)(?:[dflmu]|lu|ul)?\b/i,operator:/>>=?|<<=?|[-=]>|([-+&|])\1|~|\?\?=?|[-+*/%&|^!=<>]=?/,punctuation:/\?\.?|::|[{}[\];(),.:]/}),e.languages.insertBefore("csharp","number",{range:{pattern:/\.\./,alias:"operator"}}),e.languages.insertBefore("csharp","punctuation",{"named-parameter":{pattern:n(/([(,]\s*)<<0>>(?=\s*:)/.source,[m]),lookbehind:!0,alias:"punctuation"}}),e.languages.insertBefore("csharp","class-name",{namespace:{pattern:n(/(\b(?:namespace|using)\s+)<<0>>(?:\s*\.\s*<<0>>)*(?=\s*[;{])/.source,[m]),lookbehind:!0,inside:{punctuation:/\./}},"type-expression":{pattern:n(/(\b(?:default|sizeof|typeof)\s*\(\s*(?!\s))(?:[^()\s]|\s(?!\s)|<<0>>)*(?=\s*\))/.source,[g]),lookbehind:!0,alias:"class-name",inside:S},"return-type":{pattern:n(/<<0>>(?=\s+(?:<<1>>\s*(?:=>|[({]|\.\s*this\s*\[)|this\s*\[))/.source,[k,b]),inside:S,alias:"class-name"},"constructor-invocation":{pattern:n(/(\bnew\s+)<<0>>(?=\s*[[({])/.source,[k]),lookbehind:!0,inside:S,alias:"class-name"},"generic-method":{pattern:n(/<<0>>\s*<<1>>(?=\s*\()/.source,[m,p]),inside:{function:n(/^<<0>>/.source,[m]),generic:{pattern:RegExp(p),alias:"class-name",inside:S}}},"type-list":{pattern:n(/\b((?:<<0>>\s+<<1>>|record\s+<<1>>\s*<<5>>|where\s+<<2>>)\s*:\s*)(?:<<3>>|<<4>>|<<1>>\s*<<5>>|<<6>>)(?:\s*,\s*(?:<<3>>|<<4>>|<<6>>))*(?=\s*(?:where|[{;]|=>|$))/.source,[u,h,m,k,c.source,g,/\bnew\s*\(\s*\)/.source]),lookbehind:!0,inside:{"record-arguments":{pattern:n(/(^(?!new\s*\()<<0>>\s*)<<1>>/.source,[h,g]),lookbehind:!0,greedy:!0,inside:e.languages.csharp},keyword:c,"class-name":{pattern:RegExp(k),greedy:!0,inside:S},punctuation:/[,()]/}},preprocessor:{pattern:/(^[\t ]*)#.*/m,lookbehind:!0,alias:"property",inside:{directive:{pattern:/(#)\b(?:define|elif|else|endif|endregion|error|if|line|nullable|pragma|region|undef|warning)\b/,lookbehind:!0,alias:"keyword"}}}});var A=x+"|"+T,O=t(/\/(?![*/])|\/\/[^\r\n]*[\r\n]|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>/.source,[A]),C=r(t(/[^"'/()]|<<0>>|\(<>*\)/.source,[O]),2),N=/\b(?:assembly|event|field|method|module|param|property|return|type)\b/.source,P=t(/<<0>>(?:\s*\(<<1>>*\))?/.source,[b,C]);e.languages.insertBefore("csharp","class-name",{attribute:{pattern:n(/((?:^|[^\s\w>)?])\s*\[\s*)(?:<<0>>\s*:\s*)?<<1>>(?:\s*,\s*<<1>>)*(?=\s*\])/.source,[N,P]),lookbehind:!0,greedy:!0,inside:{target:{pattern:n(/^<<0>>(?=\s*:)/.source,[N]),alias:"keyword"},"attribute-arguments":{pattern:n(/\(<<0>>*\)/.source,[C]),inside:e.languages.csharp},"class-name":{pattern:RegExp(b),inside:{punctuation:/\./}},punctuation:/[:,]/}}});var L=/:[^}\r\n]+/.source,I=r(t(/[^"'/()]|<<0>>|\(<>*\)/.source,[O]),2),R=t(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source,[I,L]),j=r(t(/[^"'/()]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>|\(<>*\)/.source,[A]),2),D=t(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source,[j,L]);function M(t,r){return{interpolation:{pattern:n(/((?:^|[^{])(?:\{\{)*)<<0>>/.source,[t]),lookbehind:!0,inside:{"format-string":{pattern:n(/(^\{(?:(?![}:])<<0>>)*)<<1>>(?=\}$)/.source,[r,L]),lookbehind:!0,inside:{punctuation:/^:/}},punctuation:/^\{|\}$/,expression:{pattern:/[\s\S]+/,alias:"language-csharp",inside:e.languages.csharp}}},string:/[\s\S]+/}}e.languages.insertBefore("csharp","string",{"interpolation-string":[{pattern:n(/(^|[^\\])(?:\$@|@\$)"(?:""|\\[\s\S]|\{\{|<<0>>|[^\\{"])*"/.source,[R]),lookbehind:!0,greedy:!0,inside:M(R,I)},{pattern:n(/(^|[^@\\])\$"(?:\\.|\{\{|<<0>>|[^\\"{])*"/.source,[D]),lookbehind:!0,greedy:!0,inside:M(D,j)}],char:{pattern:RegExp(T),greedy:!0}}),e.languages.dotnet=e.languages.cs=e.languages.csharp}(Prism)},68805:()=>{Prism.languages.elixir={doc:{pattern:/@(?:doc|moduledoc)\s+(?:("""|''')[\s\S]*?\1|("|')(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2)/,inside:{attribute:/^@\w+/,string:/['"][\s\S]+/}},comment:{pattern:/#.*/,greedy:!0},regex:{pattern:/~[rR](?:("""|''')(?:\\[\s\S]|(?!\1)[^\\])+\1|([\/|"'])(?:\\.|(?!\2)[^\\\r\n])+\2|\((?:\\.|[^\\)\r\n])+\)|\[(?:\\.|[^\\\]\r\n])+\]|\{(?:\\.|[^\\}\r\n])+\}|<(?:\\.|[^\\>\r\n])+>)[uismxfr]*/,greedy:!0},string:[{pattern:/~[cCsSwW](?:("""|''')(?:\\[\s\S]|(?!\1)[^\\])+\1|([\/|"'])(?:\\.|(?!\2)[^\\\r\n])+\2|\((?:\\.|[^\\)\r\n])+\)|\[(?:\\.|[^\\\]\r\n])+\]|\{(?:\\.|#\{[^}]+\}|#(?!\{)|[^#\\}\r\n])+\}|<(?:\\.|[^\\>\r\n])+>)[csa]?/,greedy:!0,inside:{}},{pattern:/("""|''')[\s\S]*?\1/,greedy:!0,inside:{}},{pattern:/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0,inside:{}}],atom:{pattern:/(^|[^:]):\w+/,lookbehind:!0,alias:"symbol"},module:{pattern:/\b[A-Z]\w*\b/,alias:"class-name"},"attr-name":/\b\w+\??:(?!:)/,argument:{pattern:/(^|[^&])&\d+/,lookbehind:!0,alias:"variable"},attribute:{pattern:/@\w+/,alias:"variable"},function:/\b[_a-zA-Z]\w*[?!]?(?:(?=\s*(?:\.\s*)?\()|(?=\/\d))/,number:/\b(?:0[box][a-f\d_]+|\d[\d_]*)(?:\.[\d_]+)?(?:e[+-]?[\d_]+)?\b/i,keyword:/\b(?:after|alias|and|case|catch|cond|def(?:callback|delegate|exception|impl|macro|module|n|np|p|protocol|struct)?|do|else|end|fn|for|if|import|not|or|quote|raise|require|rescue|try|unless|unquote|use|when)\b/,boolean:/\b(?:false|nil|true)\b/,operator:[/\bin\b|&&?|\|[|>]?|\\\\|::|\.\.\.?|\+\+?|-[->]?|<[-=>]|>=|!==?|\B!|=(?:==?|[>~])?|[*\/^]/,{pattern:/([^<])<(?!<)/,lookbehind:!0},{pattern:/([^>])>(?!>)/,lookbehind:!0}],punctuation:/<<|>>|[.,%\[\]{}()]/},Prism.languages.elixir.string.forEach((function(e){e.inside={interpolation:{pattern:/#\{[^}]+\}/,inside:{delimiter:{pattern:/^#\{|\}$/,alias:"punctuation"},rest:Prism.languages.elixir}}}}))},40485:()=>{!function(e){var t={pattern:/((?:^|[^\\$])(?:\\{2})*)\$(?:\w+|\{[^{}]*\})/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{?|\}$/,alias:"punctuation"},expression:{pattern:/[\s\S]+/,inside:null}}};e.languages.groovy=e.languages.extend("clike",{string:{pattern:/'''(?:[^\\]|\\[\s\S])*?'''|'(?:\\.|[^\\'\r\n])*'/,greedy:!0},keyword:/\b(?:abstract|as|assert|boolean|break|byte|case|catch|char|class|const|continue|def|default|do|double|else|enum|extends|final|finally|float|for|goto|if|implements|import|in|instanceof|int|interface|long|native|new|package|private|protected|public|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|trait|transient|try|void|volatile|while)\b/,number:/\b(?:0b[01_]+|0x[\da-f_]+(?:\.[\da-f_p\-]+)?|[\d_]+(?:\.[\d_]+)?(?:e[+-]?\d+)?)[glidf]?\b/i,operator:{pattern:/(^|[^.])(?:~|==?~?|\?[.:]?|\*(?:[.=]|\*=?)?|\.[@&]|\.\.<|\.\.(?!\.)|-[-=>]?|\+[+=]?|!=?|<(?:<=?|=>?)?|>(?:>>?=?|=)?|&[&=]?|\|[|=]?|\/=?|\^=?|%=?)/,lookbehind:!0},punctuation:/\.+|[{}[\];(),:$]/}),e.languages.insertBefore("groovy","string",{shebang:{pattern:/#!.+/,alias:"comment",greedy:!0},"interpolation-string":{pattern:/"""(?:[^\\]|\\[\s\S])*?"""|(["/])(?:\\.|(?!\1)[^\\\r\n])*\1|\$\/(?:[^/$]|\$(?:[/$]|(?![/$]))|\/(?!\$))*\/\$/,greedy:!0,inside:{interpolation:t,string:/[\s\S]+/}}}),e.languages.insertBefore("groovy","punctuation",{"spock-block":/\b(?:and|cleanup|expect|given|setup|then|when|where):/}),e.languages.insertBefore("groovy","function",{annotation:{pattern:/(^|[^.])@\w+/,lookbehind:!0,alias:"punctuation"}}),t.inside.expression.inside=e.languages.groovy}(Prism)},52503:()=>{!function(e){var t=/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record(?!\s*[(){}[\]<>=%~.:,;?+\-*/&|^])|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/,n=/(?:[a-z]\w*\s*\.\s*)*(?:[A-Z]\w*\s*\.\s*)*/.source,r={pattern:RegExp(/(^|[^\w.])/.source+n+/[A-Z](?:[\d_A-Z]*[a-z]\w*)?\b/.source),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}},punctuation:/\./}};e.languages.java=e.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"/,lookbehind:!0,greedy:!0},"class-name":[r,{pattern:RegExp(/(^|[^\w.])/.source+n+/[A-Z]\w*(?=\s+\w+\s*[;,=()]|\s*(?:\[[\s,]*\]\s*)?::\s*new\b)/.source),lookbehind:!0,inside:r.inside},{pattern:RegExp(/(\b(?:class|enum|extends|implements|instanceof|interface|new|record|throws)\s+)/.source+n+/[A-Z]\w*\b/.source),lookbehind:!0,inside:r.inside}],keyword:t,function:[e.languages.clike.function,{pattern:/(::\s*)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0},constant:/\b[A-Z][A-Z_\d]+\b/}),e.languages.insertBefore("java","string",{"triple-quoted-string":{pattern:/"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/,greedy:!0,alias:"string"},char:{pattern:/'(?:\\.|[^'\\\r\n]){1,6}'/,greedy:!0}}),e.languages.insertBefore("java","class-name",{annotation:{pattern:/(^|[^.])@\w+(?:\s*\.\s*\w+)*/,lookbehind:!0,alias:"punctuation"},generics:{pattern:/<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&))*>)*>)*>)*>/,inside:{"class-name":r,keyword:t,punctuation:/[<>(),.:]/,operator:/[?&|]/}},import:[{pattern:RegExp(/(\bimport\s+)/.source+n+/(?:[A-Z]\w*|\*)(?=\s*;)/.source),lookbehind:!0,inside:{namespace:r.inside.namespace,punctuation:/\./,operator:/\*/,"class-name":/\w+/}},{pattern:RegExp(/(\bimport\s+static\s+)/.source+n+/(?:\w+|\*)(?=\s*;)/.source),lookbehind:!0,alias:"static",inside:{namespace:r.inside.namespace,static:/\b\w+$/,punctuation:/\./,operator:/\*/,"class-name":/\w+/}}],namespace:{pattern:RegExp(/(\b(?:exports|import(?:\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\s+)(?!)[a-z]\w*(?:\.[a-z]\w*)*\.?/.source.replace(//g,(function(){return t.source}))),lookbehind:!0,inside:{punctuation:/\./}}})}(Prism)},99945:()=>{!function(e){var t=/\/\*[\s\S]*?\*\/|\/\/.*|#(?!\[).*/,n=[{pattern:/\b(?:false|true)\b/i,alias:"boolean"},{pattern:/(::\s*)\b[a-z_]\w*\b(?!\s*\()/i,greedy:!0,lookbehind:!0},{pattern:/(\b(?:case|const)\s+)\b[a-z_]\w*(?=\s*[;=])/i,greedy:!0,lookbehind:!0},/\b(?:null)\b/i,/\b[A-Z_][A-Z0-9_]*\b(?!\s*\()/],r=/\b0b[01]+(?:_[01]+)*\b|\b0o[0-7]+(?:_[0-7]+)*\b|\b0x[\da-f]+(?:_[\da-f]+)*\b|(?:\b\d+(?:_\d+)*\.?(?:\d+(?:_\d+)*)?|\B\.\d+)(?:e[+-]?\d+)?/i,a=/|\?\?=?|\.{3}|\??->|[!=]=?=?|::|\*\*=?|--|\+\+|&&|\|\||<<|>>|[?~]|[/^|%*&<>.+-]=?/,o=/[{}\[\](),:;]/;e.languages.php={delimiter:{pattern:/\?>$|^<\?(?:php(?=\s)|=)?/i,alias:"important"},comment:t,variable:/\$+(?:\w+\b|(?=\{))/,package:{pattern:/(namespace\s+|use\s+(?:function\s+)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,lookbehind:!0,inside:{punctuation:/\\/}},"class-name-definition":{pattern:/(\b(?:class|enum|interface|trait)\s+)\b[a-z_]\w*(?!\\)\b/i,lookbehind:!0,alias:"class-name"},"function-definition":{pattern:/(\bfunction\s+)[a-z_]\w*(?=\s*\()/i,lookbehind:!0,alias:"function"},keyword:[{pattern:/(\(\s*)\b(?:array|bool|boolean|float|int|integer|object|string)\b(?=\s*\))/i,alias:"type-casting",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|object|self|static|string)\b(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|never|object|self|static|string|void)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/\b(?:array(?!\s*\()|bool|float|int|iterable|mixed|object|string|void)\b/i,alias:"type-declaration",greedy:!0},{pattern:/(\|\s*)(?:false|null)\b|\b(?:false|null)(?=\s*\|)/i,alias:"type-declaration",greedy:!0,lookbehind:!0},{pattern:/\b(?:parent|self|static)(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(\byield\s+)from\b/i,lookbehind:!0},/\bclass\b/i,{pattern:/((?:^|[^\s>:]|(?:^|[^-])>|(?:^|[^:]):)\s*)\b(?:abstract|and|array|as|break|callable|case|catch|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|fn|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|match|namespace|never|new|or|parent|print|private|protected|public|readonly|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield|__halt_compiler)\b/i,lookbehind:!0}],"argument-name":{pattern:/([(,]\s*)\b[a-z_]\w*(?=\s*:(?!:))/i,lookbehind:!0},"class-name":[{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self|\s+static))\s+|\bcatch\s*\()\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/(\|\s*)\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/\b[a-z_]\w*(?!\\)\b(?=\s*\|)/i,greedy:!0},{pattern:/(\|\s*)(?:\\?\b[a-z_]\w*)+\b/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(?:\\?\b[a-z_]\w*)+\b(?=\s*\|)/i,alias:"class-name-fully-qualified",greedy:!0,inside:{punctuation:/\\/}},{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self\b|\s+static\b))\s+|\bcatch\s*\()(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*\$)/i,alias:"type-declaration",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-declaration"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*::)/i,alias:["class-name-fully-qualified","static-context"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/([(,?]\s*)[a-z_]\w*(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-hint"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b[a-z_]\w*(?!\\)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:["class-name-fully-qualified","return-type"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:n,function:{pattern:/(^|[^\\\w])\\?[a-z_](?:[\w\\]*\w)?(?=\s*\()/i,lookbehind:!0,inside:{punctuation:/\\/}},property:{pattern:/(->\s*)\w+/,lookbehind:!0},number:r,operator:a,punctuation:o};var i={pattern:/\{\$(?:\{(?:\{[^{}]+\}|[^{}]+)\}|[^{}])+\}|(^|[^\\{])\$+(?:\w+(?:\[[^\r\n\[\]]+\]|->\w+)?)/,lookbehind:!0,inside:e.languages.php},s=[{pattern:/<<<'([^']+)'[\r\n](?:.*[\r\n])*?\1;/,alias:"nowdoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<'[^']+'|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<'?|[';]$/}}}},{pattern:/<<<(?:"([^"]+)"[\r\n](?:.*[\r\n])*?\1;|([a-z_]\w*)[\r\n](?:.*[\r\n])*?\2;)/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<"?|[";]$/}},interpolation:i}},{pattern:/`(?:\\[\s\S]|[^\\`])*`/,alias:"backtick-quoted-string",greedy:!0},{pattern:/'(?:\\[\s\S]|[^\\'])*'/,alias:"single-quoted-string",greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,alias:"double-quoted-string",greedy:!0,inside:{interpolation:i}}];e.languages.insertBefore("php","variable",{string:s,attribute:{pattern:/#\[(?:[^"'\/#]|\/(?![*/])|\/\/.*$|#(?!\[).*$|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*')+\](?=\s*[a-z$#])/im,greedy:!0,inside:{"attribute-content":{pattern:/^(#\[)[\s\S]+(?=\]$)/,lookbehind:!0,inside:{comment:t,string:s,"attribute-class-name":[{pattern:/([^:]|^)\b[a-z_]\w*(?!\\)\b/i,alias:"class-name",greedy:!0,lookbehind:!0},{pattern:/([^:]|^)(?:\\?\b[a-z_]\w*)+/i,alias:["class-name","class-name-fully-qualified"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:n,number:r,operator:a,punctuation:o}},delimiter:{pattern:/^#\[|\]$/,alias:"punctuation"}}}}),e.hooks.add("before-tokenize",(function(t){if(/<\?/.test(t.code)){e.languages["markup-templating"].buildPlaceholders(t,"php",/<\?(?:[^"'/#]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|(?:\/\/|#(?!\[))(?:[^?\n\r]|\?(?!>))*(?=$|\?>|[\r\n])|#\[|\/\*(?:[^*]|\*(?!\/))*(?:\*\/|$))*?(?:\?>|$)/g)}})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"php")}))}(Prism)},59385:()=>{!function(e){e.languages.ruby=e.languages.extend("clike",{comment:{pattern:/#.*|^=begin\s[\s\S]*?^=end/m,greedy:!0},"class-name":{pattern:/(\b(?:class|module)\s+|\bcatch\s+\()[\w.\\]+|\b[A-Z_]\w*(?=\s*\.\s*new\b)/,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:BEGIN|END|alias|and|begin|break|case|class|def|define_method|defined|do|each|else|elsif|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|private|protected|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\b/,operator:/\.{2,3}|&\.|===||[!=]?~|(?:&&|\|\||<<|>>|\*\*|[+\-*/%<>!^&|=])=?|[?:]/,punctuation:/[(){}[\].,;]/}),e.languages.insertBefore("ruby","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}});var t={pattern:/((?:^|[^\\])(?:\\{2})*)#\{(?:[^{}]|\{[^{}]*\})*\}/,lookbehind:!0,inside:{content:{pattern:/^(#\{)[\s\S]+(?=\}$)/,lookbehind:!0,inside:e.languages.ruby},delimiter:{pattern:/^#\{|\}$/,alias:"punctuation"}}};delete e.languages.ruby.function;var n="(?:"+[/([^a-zA-Z0-9\s{(\[<=])(?:(?!\1)[^\\]|\\[\s\S])*\1/.source,/\((?:[^()\\]|\\[\s\S]|\((?:[^()\\]|\\[\s\S])*\))*\)/.source,/\{(?:[^{}\\]|\\[\s\S]|\{(?:[^{}\\]|\\[\s\S])*\})*\}/.source,/\[(?:[^\[\]\\]|\\[\s\S]|\[(?:[^\[\]\\]|\\[\s\S])*\])*\]/.source,/<(?:[^<>\\]|\\[\s\S]|<(?:[^<>\\]|\\[\s\S])*>)*>/.source].join("|")+")",r=/(?:"(?:\\.|[^"\\\r\n])*"|(?:\b[a-zA-Z_]\w*|[^\s\0-\x7F]+)[?!]?|\$.)/.source;e.languages.insertBefore("ruby","keyword",{"regex-literal":[{pattern:RegExp(/%r/.source+n+/[egimnosux]{0,6}/.source),greedy:!0,inside:{interpolation:t,regex:/[\s\S]+/}},{pattern:/(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[egimnosux]{0,6}(?=\s*(?:$|[\r\n,.;})#]))/,lookbehind:!0,greedy:!0,inside:{interpolation:t,regex:/[\s\S]+/}}],variable:/[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/,symbol:[{pattern:RegExp(/(^|[^:]):/.source+r),lookbehind:!0,greedy:!0},{pattern:RegExp(/([\r\n{(,][ \t]*)/.source+r+/(?=:(?!:))/.source),lookbehind:!0,greedy:!0}],"method-definition":{pattern:/(\bdef\s+)\w+(?:\s*\.\s*\w+)?/,lookbehind:!0,inside:{function:/\b\w+$/,keyword:/^self\b/,"class-name":/^\w+/,punctuation:/\./}}}),e.languages.insertBefore("ruby","string",{"string-literal":[{pattern:RegExp(/%[qQiIwWs]?/.source+n),greedy:!0,inside:{interpolation:t,string:/[\s\S]+/}},{pattern:/("|')(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|(?!\1)[^\\#\r\n])*\1/,greedy:!0,inside:{interpolation:t,string:/[\s\S]+/}},{pattern:/<<[-~]?([a-z_]\w*)[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?[a-z_]\w*|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?/}},interpolation:t,string:/[\s\S]+/}},{pattern:/<<[-~]?'([a-z_]\w*)'[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?'[a-z_]\w*'|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?'|'$/}},string:/[\s\S]+/}}],"command-literal":[{pattern:RegExp(/%x/.source+n),greedy:!0,inside:{interpolation:t,command:{pattern:/[\s\S]+/,alias:"string"}}},{pattern:/`(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|[^\\`#\r\n])*`/,greedy:!0,inside:{interpolation:t,command:{pattern:/[\s\S]+/,alias:"string"}}}]}),delete e.languages.ruby.string,e.languages.insertBefore("ruby","number",{builtin:/\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Fixnum|Float|Hash|IO|Integer|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|Stat|String|Struct|Symbol|TMS|Thread|ThreadGroup|Time|TrueClass)\b/,constant:/\b[A-Z][A-Z0-9_]*(?:[?!]|\b)/}),e.languages.rb=e.languages.ruby}(Prism)},70767:()=>{!function(e){for(var t=/\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|)*\*\//.source,n=0;n<2;n++)t=t.replace(//g,(function(){return t}));t=t.replace(//g,(function(){return/[^\s\S]/.source})),e.languages.rust={comment:[{pattern:RegExp(/(^|[^\\])/.source+t),lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/,greedy:!0},char:{pattern:/b?'(?:\\(?:x[0-7][\da-fA-F]|u\{(?:[\da-fA-F]_*){1,6}\}|.)|[^\\\r\n\t'])'/,greedy:!0},attribute:{pattern:/#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/,greedy:!0,alias:"attr-name",inside:{string:null}},"closure-params":{pattern:/([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/,lookbehind:!0,greedy:!0,inside:{"closure-punctuation":{pattern:/^\||\|$/,alias:"punctuation"},rest:null}},"lifetime-annotation":{pattern:/'\w+/,alias:"symbol"},"fragment-specifier":{pattern:/(\$\w+:)[a-z]+/,lookbehind:!0,alias:"punctuation"},variable:/\$\w+/,"function-definition":{pattern:/(\bfn\s+)\w+/,lookbehind:!0,alias:"function"},"type-definition":{pattern:/(\b(?:enum|struct|trait|type|union)\s+)\w+/,lookbehind:!0,alias:"class-name"},"module-declaration":[{pattern:/(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/,lookbehind:!0,alias:"namespace"},{pattern:/(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/,lookbehind:!0,alias:"namespace",inside:{punctuation:/::/}}],keyword:[/\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,/\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\b/],function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())/,macro:{pattern:/\b\w+!/,alias:"property"},constant:/\b[A-Z_][A-Z_\d]+\b/,"class-name":/\b[A-Z]\w*\b/,namespace:{pattern:/(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/,inside:{punctuation:/::/}},number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\b/,boolean:/\b(?:false|true)\b/,punctuation:/->|\.\.=|\.{1,3}|::|[{}[\];(),:]/,operator:/[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<>?=?|[@?]/},e.languages.rust["closure-params"].inside.rest=e.languages.rust,e.languages.rust.attribute.inside.string=e.languages.rust.string}(Prism)},35266:()=>{Prism.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/}},46966:(e,t,n)=>{var r={"./prism-csharp":79016,"./prism-elixir":68805,"./prism-groovy":40485,"./prism-java":52503,"./prism-php":99945,"./prism-ruby":59385,"./prism-rust":70767,"./prism-sql":35266};function a(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=o,e.exports=a,a.id=46966},34155:e=>{var t,n,r=e.exports={};function a(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function i(e){if(t===setTimeout)return setTimeout(e,0);if((t===a||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(n){try{return t.call(null,e,0)}catch(n){return t.call(this,e,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:a}catch(e){t=a}try{n="function"==typeof clearTimeout?clearTimeout:o}catch(e){n=o}}();var s,l=[],u=!1,c=-1;function d(){u&&s&&(u=!1,s.length?l=s.concat(l):c=-1,l.length&&f())}function f(){if(!u){var e=i(d);u=!0;for(var t=l.length;t;){for(s=l,l=[];++c1)for(var n=1;n{"use strict";var r=n(50414);function a(){}function o(){}o.resetWarningCache=a,e.exports=function(){function e(e,t,n,a,o,i){if(i!==r){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:a};return n.PropTypes=n,n}},45697:(e,t,n)=>{e.exports=n(92703)()},50414:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},64448:(e,t,n)=>{"use strict";var r=n(25108),a=n(67294),o=n(27418),i=n(63840);function s(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n