diff --git a/.nojekyll b/.nojekyll index b09b5ab7..e33e607c 100644 --- a/.nojekyll +++ b/.nojekyll @@ -1 +1 @@ -c90bc741 \ No newline at end of file +dffe0f65 \ No newline at end of file diff --git a/blog/index.html b/blog/index.html new file mode 100644 index 00000000..71935f1c --- /dev/null +++ b/blog/index.html @@ -0,0 +1,556 @@ + + + + + + + + + +Dapla-manualen - Dapla-bloggen + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+

Dapla-bloggen

+

Stedet der alle i SSB kan dele erfaringer og kunnskap om Dapla

+
+
+ + +
+ + + + +
+ + +
+ + + + + \ No newline at end of file diff --git a/blog/posts/2023-01-12-jupyter-cell-embedding/fame.png b/blog/posts/2023-01-12-jupyter-cell-embedding/fame.png new file mode 100644 index 00000000..b9c292fa Binary files /dev/null and b/blog/posts/2023-01-12-jupyter-cell-embedding/fame.png differ diff --git a/blog/posts/2023-01-12-jupyter-cell-embedding/index.html b/blog/posts/2023-01-12-jupyter-cell-embedding/index.html new file mode 100644 index 00000000..bd8f200d --- /dev/null +++ b/blog/posts/2023-01-12-jupyter-cell-embedding/index.html @@ -0,0 +1,655 @@ + + + + + + + + + + + +Dapla-manualen - Fra Fame til Python + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+ + + + +
+ +
+
+

Fra Fame til Python

+

Python-pakken fython lar deg hente ut data fra Fame-databaser for å jobbe med det i Python.

+
+
Fame
+
Python
+
Tidsserier
+
+
+ + +
+
Forfatter
+
Tilhører
+ +
+

Magnus Kvåle Helliesen

+
+
+

+ Seksjon for nasjonalregnskap (210) +

+
+
+ +
+ + +
+
Opprettet
+
+

January 12, 2024

+
+
+ +
+
Endret
+
+

January 13, 2024

+
+
+ +
+ + +
+ +

Mange i SSB har data lagret i Fame som de ønsker å bearbeide med Python og R. Dette er spesielt relevant når man skal flytte statistikkproduksjon til Dapla. fython er en Python-pakke som gjør dette på en enkel måte for deg. Den lar deg eksportere data fra Fame med en enkel funksjon, og kan returnere dataene som enten CSV eller Pandas DataFrame.

+
+

Installasjon

+

Pakken ligger på GitHub og kan installeres derfra. I et ssb-project installerer du ved å kjøre følgende kommando:

+
+
+
terminal
+
+
poetry add git+https://github.com/statisticsnorway/ssb-fame-to-python.git
+
+

Pakken er også ferdiginstallert på serveren der Fame installert: sl-fame-1.ssb.no. Dette kan være nyttig i flere sammenhenger som vi kommer inn på senere i innelegget.

+
+
+

Bruk av funksjonene

+

fython har to funksjoner: fame_to_csv og fame_to_df. Begge disse funksjonene tar inn de samme argumentene og de er listet opp i Tabell 1.

+
+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Tabell 1: Forklaring av argumentene i funksjonene til fython
ArgumentForklaring
databasesList of Fame databases to access (with full path).
frequencyFrequency of the data (‘a’, ‘q’, ‘m’).
date_fromStart date for the data in Fame syntax (e.g., ‘2023:1’ for quarterly, ‘2023’ for annual).
date_toEnd date for the data in Fame syntax (e.g., ‘2023:1’ for quarterly, ‘2023’ for annual).
search_stringQuery string for fetching specific data.  The search is not case sensitive, and “^” and “?” are wildcards (for exactly one and any number of characters, respectively)
decimalsNumber of decimal places in the fetched data (default is 10).
+
+

La se på noen eksempler.

+
+

Eksempler

+

Dersom vi ønsker å hente alt i database1.db og database2.db fra januar 2012 til desember 2022, og få det returnert i en DataFrame, kan vi skrive følgende kode:

+
+
+
python
+
+
from fython import fame_to_pandas
+
+df = fame_to_pandas(
+  ['sti/til/database1.db', 'sti/til/database2.db', 'm', '2012:1', '2022:12', '?']
+  )
+
+

Dersom vi i stedet ønsker å hente alle serier som begynner på abc, slutter på d etterfulgt av ett vilkårlig tegn, kan vi skrive følgende kode:

+
+
+
python
+
+
from fython import fame_to_pandas
+
+df = fame_to_pandas(
+  ['sti/til/database1.db', 'sti/til/database2.db', 'm', '2012:1', '2022:12', 'abc?d^']
+  )
+
+

? og ^ er altså jokertegn/wildcards som representerer henholdvis et vilkårlig antall tegn og nøyaktig ett tegn.

+

Dersom vi i stedet vil lagre dataene til en csv-fil kan vi skrive

+
+
+
python
+
+
from fython import fame_to_csv
+
+fame_to_csv(
+  ['sti/til/database1.db', 'sti/til/database2.db', 'm', '2012:1', '2022:12', 'abc?d^', 'sti/til/csv-fil.csv']
+  )
+
+
+
+
+

Kjøringer på serveren

+

Når du skal bruke fython så må du ta hensyn til hvilken server Fame er installert på, og hvilken server du har tenkt til å jobbe på. Fame er som sagt installert på sl-fame-1.ssb.no, mens Jupyterlab er installert på sl-jupyter-p.ssb.no. Dvs. at hvis du ønsker å bruke fython i en notebook i Jupyterlab, så må du bruke ssh til å koble deg til sl-fame-1.ssb.no, og så kjøre koden derfra. Koden din kan skrive en fil til ønsket stammeområdet, som du igjen kan lese inn direkte i Jupyterlab.

+
+
+

Automatiserte uttrekk

+

Hvis man ønsker at utrekk fra Fame skal skje automatisk på gitte tidspunkter eller intervaller, så kan man ta kontakt med Kundeservice. Fordelen med dette er at man ikke trenger å bruke ssh slik som beskrevet over. Man kan lese inn direkte fra stammeområdet.

+
+
+

Overføre data til Dapla

+

Hvis man ønsker å overføre data fra Fame til Dapla, så kan dette settes opp som en MoveIt-operasjon. For å sette opp en MoveIt-jobb må ma kontakte Kundeservice. Overføring til Dapla forutsetter at man har et Dapla-team, og at man setter opp en synkroniseringjobb med Transfer Service.

+ + +
+ +
+ +
+ + + + + \ No newline at end of file diff --git a/faq.html b/faq.html index 5127ade7..858fa759 100644 --- a/faq.html +++ b/faq.html @@ -104,6 +104,10 @@ + + + + + + + + + +
  • ",valueNames:["page","dotted"],searchClass:"pagination-search-that-is-not-supposed-to-exist",sortClass:"pagination-sort-that-is-not-supposed-to-exist"});s.bind(n.listContainer,"click",(function(e){var r=e.target||e.srcElement,n=t.utils.getAttribute(r,"data-page"),s=t.utils.getAttribute(r,"data-i");s&&t.show((s-1)*n+1,n)})),t.on("updated",(function(){r(n,e)})),r(n,e)}}},"./src/parse.js":function(t,e,r){t.exports=function(t){var e=r("./src/item.js")(t),n=function(r,n){for(var s=0,i=r.length;s0?setTimeout((function(){e(r,s)}),1):(t.update(),t.trigger("parseComplete"))};return t.handlers.parseComplete=t.handlers.parseComplete||[],function(){var e=function(t){for(var e=t.childNodes,r=[],n=0,s=e.length;n]/g.exec(t)){var e=document.createElement("tbody");return e.innerHTML=t,e.firstElementChild}if(-1!==t.indexOf("<")){var r=document.createElement("div");return r.innerHTML=t,r.firstElementChild}}},a=function(e,r,n){var s=void 0,i=function(e){for(var r=0,n=t.valueNames.length;r=1;)t.list.removeChild(t.list.firstChild)},function(){var r;if("function"!=typeof t.item){if(!(r="string"==typeof t.item?-1===t.item.indexOf("<")?document.getElementById(t.item):i(t.item):s()))throw new Error("The list needs to have at least one item on init otherwise you'll have to add a template.");r=n(r,t.valueNames),e=function(){return r.cloneNode(!0)}}else e=function(e){var r=t.item(e);return i(r)}}()};t.exports=function(t){return new e(t)}},"./src/utils/classes.js":function(t,e,r){var n=r("./src/utils/index-of.js"),s=/\s+/;Object.prototype.toString;function i(t){if(!t||!t.nodeType)throw new Error("A DOM element reference is required");this.el=t,this.list=t.classList}t.exports=function(t){return new i(t)},i.prototype.add=function(t){if(this.list)return this.list.add(t),this;var e=this.array();return~n(e,t)||e.push(t),this.el.className=e.join(" "),this},i.prototype.remove=function(t){if(this.list)return this.list.remove(t),this;var e=this.array(),r=n(e,t);return~r&&e.splice(r,1),this.el.className=e.join(" "),this},i.prototype.toggle=function(t,e){return this.list?(void 0!==e?e!==this.list.toggle(t,e)&&this.list.toggle(t):this.list.toggle(t),this):(void 0!==e?e?this.add(t):this.remove(t):this.has(t)?this.remove(t):this.add(t),this)},i.prototype.array=function(){var t=(this.el.getAttribute("class")||"").replace(/^\s+|\s+$/g,"").split(s);return""===t[0]&&t.shift(),t},i.prototype.has=i.prototype.contains=function(t){return this.list?this.list.contains(t):!!~n(this.array(),t)}},"./src/utils/events.js":function(t,e,r){var n=window.addEventListener?"addEventListener":"attachEvent",s=window.removeEventListener?"removeEventListener":"detachEvent",i="addEventListener"!==n?"on":"",a=r("./src/utils/to-array.js");e.bind=function(t,e,r,s){for(var o=0,l=(t=a(t)).length;o32)return!1;var a=n,o=function(){var t,r={};for(t=0;t=p;b--){var j=o[t.charAt(b-1)];if(C[b]=0===m?(C[b+1]<<1|1)&j:(C[b+1]<<1|1)&j|(v[b+1]|v[b])<<1|1|v[b+1],C[b]&d){var x=l(m,b-1);if(x<=u){if(u=x,!((c=b-1)>a))break;p=Math.max(1,2*a-c)}}}if(l(m+1,a)>u)break;v=C}return!(c<0)}},"./src/utils/get-attribute.js":function(t){t.exports=function(t,e){var r=t.getAttribute&&t.getAttribute(e)||null;if(!r)for(var n=t.attributes,s=n.length,i=0;i=48&&t<=57}function i(t,e){for(var i=(t+="").length,a=(e+="").length,o=0,l=0;o=i&&l=a?-1:l>=a&&o=i?1:i-a}i.caseInsensitive=i.i=function(t,e){return i((""+t).toLowerCase(),(""+e).toLowerCase())},Object.defineProperties(i,{alphabet:{get:function(){return e},set:function(t){r=[];var s=0;if(e=t)for(;s { + if (categoriesLoaded) { + activateCategory(category); + setCategoryHash(category); + } +}; + +window["quarto-listing-loaded"] = () => { + // Process any existing hash + const hash = getHash(); + + if (hash) { + // If there is a category, switch to that + if (hash.category) { + activateCategory(hash.category); + } + // Paginate a specific listing + const listingIds = Object.keys(window["quarto-listings"]); + for (const listingId of listingIds) { + const page = hash[getListingPageKey(listingId)]; + if (page) { + showPage(listingId, page); + } + } + } + + const listingIds = Object.keys(window["quarto-listings"]); + for (const listingId of listingIds) { + // The actual list + const list = window["quarto-listings"][listingId]; + + // Update the handlers for pagination events + refreshPaginationHandlers(listingId); + + // Render any visible items that need it + renderVisibleProgressiveImages(list); + + // Whenever the list is updated, we also need to + // attach handlers to the new pagination elements + // and refresh any newly visible items. + list.on("updated", function () { + renderVisibleProgressiveImages(list); + setTimeout(() => refreshPaginationHandlers(listingId)); + + // Show or hide the no matching message + toggleNoMatchingMessage(list); + }); + } +}; + +window.document.addEventListener("DOMContentLoaded", function (_event) { + // Attach click handlers to categories + const categoryEls = window.document.querySelectorAll( + ".quarto-listing-category .category" + ); + + for (const categoryEl of categoryEls) { + const category = categoryEl.getAttribute("data-category"); + categoryEl.onclick = () => { + activateCategory(category); + setCategoryHash(category); + }; + } + + // Attach a click handler to the category title + // (there should be only one, but since it is a class name, handle N) + const categoryTitleEls = window.document.querySelectorAll( + ".quarto-listing-category-title" + ); + for (const categoryTitleEl of categoryTitleEls) { + categoryTitleEl.onclick = () => { + activateCategory(""); + setCategoryHash(""); + }; + } + + categoriesLoaded = true; +}); + +function toggleNoMatchingMessage(list) { + const selector = `#${list.listContainer.id} .listing-no-matching`; + const noMatchingEl = window.document.querySelector(selector); + if (noMatchingEl) { + if (list.visibleItems.length === 0) { + noMatchingEl.classList.remove("d-none"); + } else { + if (!noMatchingEl.classList.contains("d-none")) { + noMatchingEl.classList.add("d-none"); + } + } + } +} + +function setCategoryHash(category) { + setHash({ category }); +} + +function setPageHash(listingId, page) { + const currentHash = getHash() || {}; + currentHash[getListingPageKey(listingId)] = page; + setHash(currentHash); +} + +function getListingPageKey(listingId) { + return `${listingId}-page`; +} + +function refreshPaginationHandlers(listingId) { + const listingEl = window.document.getElementById(listingId); + const paginationEls = listingEl.querySelectorAll( + ".pagination li.page-item:not(.disabled) .page.page-link" + ); + for (const paginationEl of paginationEls) { + paginationEl.onclick = (sender) => { + setPageHash(listingId, sender.target.getAttribute("data-i")); + showPage(listingId, sender.target.getAttribute("data-i")); + return false; + }; + } +} + +function renderVisibleProgressiveImages(list) { + // Run through the visible items and render any progressive images + for (const item of list.visibleItems) { + const itemEl = item.elm; + if (itemEl) { + const progressiveImgs = itemEl.querySelectorAll( + `img[${kProgressiveAttr}]` + ); + for (const progressiveImg of progressiveImgs) { + const srcValue = progressiveImg.getAttribute(kProgressiveAttr); + if (srcValue) { + progressiveImg.setAttribute("src", srcValue); + } + progressiveImg.removeAttribute(kProgressiveAttr); + } + } + } +} + +function getHash() { + // Hashes are of the form + // #name:value|name1:value1|name2:value2 + const currentUrl = new URL(window.location); + const hashRaw = currentUrl.hash ? currentUrl.hash.slice(1) : undefined; + return parseHash(hashRaw); +} + +const kAnd = "&"; +const kEquals = "="; + +function parseHash(hash) { + if (!hash) { + return undefined; + } + const hasValuesStrs = hash.split(kAnd); + const hashValues = hasValuesStrs + .map((hashValueStr) => { + const vals = hashValueStr.split(kEquals); + if (vals.length === 2) { + return { name: vals[0], value: vals[1] }; + } else { + return undefined; + } + }) + .filter((value) => { + return value !== undefined; + }); + + const hashObj = {}; + hashValues.forEach((hashValue) => { + hashObj[hashValue.name] = decodeURIComponent(hashValue.value); + }); + return hashObj; +} + +function makeHash(obj) { + return Object.keys(obj) + .map((key) => { + return `${key}${kEquals}${obj[key]}`; + }) + .join(kAnd); +} + +function setHash(obj) { + const hash = makeHash(obj); + window.history.pushState(null, null, `#${hash}`); +} + +function showPage(listingId, page) { + const list = window["quarto-listings"][listingId]; + if (list) { + list.show((page - 1) * list.page + 1, list.page); + } +} + +function activateCategory(category) { + // Deactivate existing categories + const activeEls = window.document.querySelectorAll( + ".quarto-listing-category .category.active" + ); + for (const activeEl of activeEls) { + activeEl.classList.remove("active"); + } + + // Activate this category + const categoryEl = window.document.querySelector( + `.quarto-listing-category .category[data-category='${category}'` + ); + if (categoryEl) { + categoryEl.classList.add("active"); + } + + // Filter the listings to this category + filterListingCategory(category); +} + +function filterListingCategory(category) { + const listingIds = Object.keys(window["quarto-listings"]); + for (const listingId of listingIds) { + const list = window["quarto-listings"][listingId]; + if (list) { + if (category === "") { + // resets the filter + list.filter(); + } else { + // filter to this category + list.filter(function (item) { + const itemValues = item.values(); + if (itemValues.categories !== null) { + const categories = itemValues.categories.split(","); + return categories.includes(category); + } else { + return false; + } + }); + } + } + } +} diff --git a/sitemap.xml b/sitemap.xml index 866fc484..e19fe313 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -2,278 +2,286 @@ https://manual.dapla.ssb.no/notebooks/spark/sparkr-intro.html - 2024-01-11T15:33:38.932Z + 2024-01-15T11:06:21.334Z https://manual.dapla.ssb.no/notebooks/spark/pyspark-intro.html - 2024-01-11T15:33:37.688Z + 2024-01-15T11:06:20.086Z https://manual.dapla.ssb.no/faq.html - 2024-01-11T15:33:36.824Z + 2024-01-15T11:06:19.190Z https://manual.dapla.ssb.no/utviklere/tldr/kvalitet.html - 2024-01-11T15:33:35.944Z + 2024-01-15T11:06:18.306Z https://manual.dapla.ssb.no/utviklere/tldr/tldr.html - 2024-01-11T15:33:35.220Z + 2024-01-15T11:06:17.586Z https://manual.dapla.ssb.no/utviklere/tldr/overvaakning.html - 2024-01-11T15:33:34.524Z + 2024-01-15T11:06:16.894Z https://manual.dapla.ssb.no/utviklere/tldr/dokumentasjon.html - 2024-01-11T15:33:33.804Z + 2024-01-15T11:06:16.174Z https://manual.dapla.ssb.no/utviklere/tldr/ci-cd.html - 2024-01-11T15:33:33.104Z + 2024-01-15T11:06:15.474Z https://manual.dapla.ssb.no/utviklere/appendix.html - 2024-01-11T15:33:32.420Z + 2024-01-15T11:06:14.770Z https://manual.dapla.ssb.no/utviklere/index.html - 2024-01-11T15:33:31.704Z + 2024-01-15T11:06:14.074Z https://manual.dapla.ssb.no/statistikkere/features.html - 2024-01-11T15:33:30.876Z + 2024-01-15T11:06:13.238Z https://manual.dapla.ssb.no/statistikkere/git-og-github.html - 2024-01-11T15:33:29.688Z + 2024-01-15T11:06:12.050Z https://manual.dapla.ssb.no/statistikkere/versjonering-av-datasett.html - 2024-01-11T15:33:28.264Z + 2024-01-15T11:06:10.618Z https://manual.dapla.ssb.no/statistikkere/tilgangsstyring.html - 2024-01-11T15:33:27.188Z + 2024-01-15T11:06:09.526Z https://manual.dapla.ssb.no/statistikkere/transfer-service.html - 2024-01-11T15:33:26.344Z + 2024-01-15T11:06:08.658Z https://manual.dapla.ssb.no/statistikkere/automatisering-avansert.html - 2024-01-11T15:33:24.804Z + 2024-01-15T11:06:07.090Z https://manual.dapla.ssb.no/statistikkere/ordforklaringer.html - 2024-01-11T15:33:21.439Z + 2024-01-15T11:06:03.390Z https://manual.dapla.ssb.no/statistikkere/kartdata.html - 2024-01-11T15:33:20.655Z + 2024-01-15T11:06:02.594Z https://manual.dapla.ssb.no/statistikkere/contribution.html - 2024-01-11T15:33:18.991Z + 2024-01-15T11:06:00.874Z https://manual.dapla.ssb.no/statistikkere/test.html - 2024-01-11T15:33:18.043Z + 2024-01-15T11:05:59.854Z https://manual.dapla.ssb.no/statistikkere/navnestandard-datalagring.html - 2024-01-11T15:33:16.743Z + 2024-01-15T11:05:58.534Z https://manual.dapla.ssb.no/statistikkere/statistikkproduksjon.html - 2024-01-11T15:33:15.411Z + 2024-01-15T11:05:57.170Z https://manual.dapla.ssb.no/statistikkere/datadoc.html - 2024-01-11T15:33:14.631Z + 2024-01-15T11:05:56.330Z https://manual.dapla.ssb.no/statistikkere/jobbe-med-data.html - 2024-01-11T15:33:13.663Z + 2024-01-15T11:05:55.354Z https://manual.dapla.ssb.no/statistikkere/index.html - 2024-01-11T15:33:11.955Z + 2024-01-15T11:05:53.581Z https://manual.dapla.ssb.no/statistikkere/hvorfor-dapla.html - 2024-01-11T15:33:11.175Z + 2024-01-15T11:05:52.777Z https://manual.dapla.ssb.no/statistikkere/jit.html - 2024-01-11T15:33:09.951Z + 2024-01-15T11:05:51.581Z https://manual.dapla.ssb.no/statistikkere/statistikkbanken.html - 2024-01-11T15:33:08.863Z + 2024-01-15T11:05:50.541Z https://manual.dapla.ssb.no/statistikkere/kildedata-prosessering.html - 2024-01-11T15:33:07.687Z + 2024-01-15T11:05:49.337Z https://manual.dapla.ssb.no/statistikkere/hurtigstart.html - 2024-01-11T15:33:04.991Z + 2024-01-15T11:05:46.629Z https://manual.dapla.ssb.no/statistikkere/overforing-av-data.html - 2024-01-11T15:33:04.291Z + 2024-01-15T11:05:45.913Z https://manual.dapla.ssb.no/statistikkere/gcp-overview.html - 2024-01-11T15:33:03.315Z + 2024-01-15T11:05:44.941Z https://manual.dapla.ssb.no/statistikkere/kildomaten.html - 2024-01-11T15:33:02.663Z + 2024-01-15T11:05:44.273Z https://manual.dapla.ssb.no/statistikkere/introduksjon.html - 2024-01-11T15:33:01.143Z + 2024-01-15T11:05:42.733Z + + + https://manual.dapla.ssb.no/blog/posts/2023-01-12-jupyter-cell-embedding/index.html + 2024-01-15T11:05:41.605Z https://manual.dapla.ssb.no/index.html - 2024-01-11T15:32:59.603Z + 2024-01-15T11:05:40.233Z + + + https://manual.dapla.ssb.no/blog/index.html + 2024-01-15T11:05:41.065Z https://manual.dapla.ssb.no/statistikkere/hva-er-dapla-team.html - 2024-01-11T15:33:00.803Z + 2024-01-15T11:05:42.389Z https://manual.dapla.ssb.no/statistikkere/innlogging.html - 2024-01-11T15:33:01.747Z + 2024-01-15T11:05:43.361Z https://manual.dapla.ssb.no/statistikkere/lage-nettsider.html - 2024-01-11T15:33:02.999Z + 2024-01-15T11:05:44.613Z https://manual.dapla.ssb.no/statistikkere/ssbproject.html - 2024-01-11T15:33:03.683Z + 2024-01-15T11:05:45.341Z https://manual.dapla.ssb.no/statistikkere/virtual-env.html - 2024-01-11T15:33:04.639Z + 2024-01-15T11:05:46.269Z https://manual.dapla.ssb.no/statistikkere/jobbe-med-kode.html - 2024-01-11T15:33:06.963Z + 2024-01-15T11:05:48.657Z https://manual.dapla.ssb.no/statistikkere/automatisering.html - 2024-01-11T15:33:08.331Z + 2024-01-15T11:05:49.997Z https://manual.dapla.ssb.no/statistikkere/datatilstander.html - 2024-01-11T15:33:09.407Z + 2024-01-15T11:05:51.081Z https://manual.dapla.ssb.no/statistikkere/hva-er-botter.html - 2024-01-11T15:33:10.827Z + 2024-01-15T11:05:52.429Z https://manual.dapla.ssb.no/statistikkere/opprette-dapla-team.html - 2024-01-11T15:33:11.511Z + 2024-01-15T11:05:53.129Z https://manual.dapla.ssb.no/statistikkere/produksjonsløp.html - 2024-01-11T15:33:12.307Z + 2024-01-15T11:05:53.941Z https://manual.dapla.ssb.no/statistikkere/github-app-integrasjon.html - 2024-01-11T15:33:14.123Z + 2024-01-15T11:05:55.806Z https://manual.dapla.ssb.no/statistikkere/kildedata.html - 2024-01-11T15:33:15.059Z + 2024-01-15T11:05:56.770Z https://manual.dapla.ssb.no/statistikkere/jupyterlab.html - 2024-01-11T15:33:15.783Z + 2024-01-15T11:05:57.554Z https://manual.dapla.ssb.no/statistikkere/altinn3.html - 2024-01-11T15:33:17.711Z + 2024-01-15T11:05:59.530Z https://manual.dapla.ssb.no/statistikkere/administrasjon-av-team.html - 2024-01-11T15:33:18.523Z + 2024-01-15T11:06:00.354Z https://manual.dapla.ssb.no/statistikkere/nytt-ssbproject.html - 2024-01-11T15:33:19.875Z + 2024-01-15T11:06:01.762Z https://manual.dapla.ssb.no/statistikkere/dapla-team.html - 2024-01-11T15:33:21.003Z + 2024-01-15T11:06:02.950Z https://manual.dapla.ssb.no/statistikkere/spark.html - 2024-01-11T15:33:24.208Z + 2024-01-15T11:06:06.478Z https://manual.dapla.ssb.no/statistikkere/dashboard.html - 2024-01-11T15:33:25.344Z + 2024-01-15T11:06:07.646Z https://manual.dapla.ssb.no/statistikkere/gcc.html - 2024-01-11T15:33:26.784Z + 2024-01-15T11:06:09.114Z https://manual.dapla.ssb.no/statistikkere/daplalab-overview.html - 2024-01-11T15:33:27.576Z + 2024-01-15T11:06:09.886Z https://manual.dapla.ssb.no/statistikkere/orkestrering.html - 2024-01-11T15:33:28.604Z + 2024-01-15T11:06:10.942Z https://manual.dapla.ssb.no/statistikkere/pakke-install-bakken.html - 2024-01-11T15:33:30.288Z + 2024-01-15T11:06:12.662Z https://manual.dapla.ssb.no/utviklere/iac.html - 2024-01-11T15:33:31.368Z + 2024-01-15T11:06:13.738Z https://manual.dapla.ssb.no/utviklere/dapla-team.html - 2024-01-11T15:33:32.084Z + 2024-01-15T11:06:14.442Z https://manual.dapla.ssb.no/utviklere/tldr/kjoeremiljoe.html - 2024-01-11T15:33:32.764Z + 2024-01-15T11:06:15.122Z https://manual.dapla.ssb.no/utviklere/tldr/versjonskontroll.html - 2024-01-11T15:33:33.468Z + 2024-01-15T11:06:15.830Z https://manual.dapla.ssb.no/utviklere/tldr/infrastruktur.html - 2024-01-11T15:33:34.180Z + 2024-01-15T11:06:16.510Z https://manual.dapla.ssb.no/utviklere/tldr/utvikling.html - 2024-01-11T15:33:34.860Z + 2024-01-15T11:06:17.230Z https://manual.dapla.ssb.no/utviklere/tldr/kultur.html - 2024-01-11T15:33:35.560Z + 2024-01-15T11:06:17.918Z https://manual.dapla.ssb.no/om-dapla.html - 2024-01-11T15:33:36.280Z + 2024-01-15T11:06:18.634Z https://manual.dapla.ssb.no/notebooks/index.html - 2024-01-11T15:33:37.140Z + 2024-01-15T11:06:19.518Z https://manual.dapla.ssb.no/notebooks/spark/deltalake-intro.html - 2024-01-11T15:33:38.320Z + 2024-01-15T11:06:20.734Z diff --git a/statistikkere/administrasjon-av-team.html b/statistikkere/administrasjon-av-team.html index 22096fe1..6aed8e04 100644 --- a/statistikkere/administrasjon-av-team.html +++ b/statistikkere/administrasjon-av-team.html @@ -97,6 +97,10 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +