diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..67f9f12 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/.quarto/ +/_site/ \ No newline at end of file diff --git a/README.md b/README.md index bc2e669..b2df2fd 100644 --- a/README.md +++ b/README.md @@ -1,66 +1,7 @@ -
- -
+# feidlambda -# FEID Lambda +Situs: https://dev.fiako.engineering/feidlambda -Official collection of Lambda Formula by FIAKO Engineering. +Koleksi dan portal informasi lambda oleh FIAKO Engineering Repository: [fiakoenjiniring/feidlambda](https://github.com/fiakoenjiniring/feidlambda) - -## Koleksi FEID Lambda - -Saat ini hanya tersedia 1 koleksi fungsi lambda yaitu: - -- `feid.utils` ([Official GIST](https://gist.github.com/taruma/60610672a9bd94724cba46f68b5614fa)): kumpulan fungsi dasar berupa _logic_ atau _utilities_ yang dapat digunakan untuk membangun fungsi lambda bersifat _"narrative"_. ```https://gist.github.com/taruma/60610672a9bd94724cba46f68b5614fa``` - -### Koleksi `feid.utils` - -**v0.2** | [Demo/GIF seluruh fitur di v0.2](./feidlambda-v-0-2.md) - -- `feid.utils.COMPAREVECTOR`: Memeriksa apakah setiap elemen di LEFT VECTOR merupakan bagian (_equal_ / `=`) dari RIGHT VECTOR. Return: BOOLEAN VECTOR. -- `feid.utils.MULTICHECK`: Memeriksa apakah pada setiap kolom _equal_ / `=` dengan SEARCH VECTOR. Dan diproses setiap barisnya menggunakan AND atau OR. Return: BOOLEAN VECTOR. -- `feid.utils.DROPROWS`: Menghapus baris ke-n dari suatu array. Return: ARRAY. -- `feid.utils.DROPCOLS`: Menghapus kolom ke-n dari suatu array. Return: ARRAY. -- `feid.utils.COUNTMULTICHECK`: Menghitung jumlah `TRUE` dari `MULTICHECK`. Return: INTEGER. - -**v0.1** | [Demo/GIF seluruh fitur di v0.1](./feidlambda-v-0-1.md) - -- `feid.utils.REPEATCOLS`: Mengulangi _vector_ sebanyak _n_ dalam bentuk kolom. RETURN: COLUMN VECTOR. `=feid.utils.REPEATCOLS(vector, [num_repeat])` -- `feid.utils.SORTCOLS`: Menyusun ulang setiap kolom, berdasarkan _header_ yang diurutkan. RETURN: ARRAY. `=feid.utils.SORTCOLS(table, table_header)` -- `feid.utils.REPEATROWS`: Serupa dengan `.REPEATCOLS`, mengulangi _vector_ sebanyak _n_ dalam bentuk baris. RETURN: ROW VECTOR. `=feid.utils.REPEATROWS(vector, [num_repeat])` -- `feid.utils.RESHAPECOLS`: Mengubah dimensi array dari dimensi _rows x columns_, menjadi _rows x nsplit_ tanpa mengubah susunan baris array. RETURN: ARRAY. `=feid.utils.RESHAPECOLS(array, [nsplit])` -- `feid.utils.FINDINDEX2D`: Mencari index suatu elemen dari _array_ dengan keluaran berupa urutan elemennya, posisi baris dan kolom. RETURN: ARRAY / ROW VECTOR with {number element; index row; index column}. `=feid.utils.FINDINDEX2D(lookup_value, array)` - -## Instruksi instalasi FEID Lambda - -1. _Install_ add-ins **Advanced Formula Environment**. - -![image](https://user-images.githubusercontent.com/1007910/192432581-0fd50e59-b0d0-4d9a-b802-81fda91060cb.png) - -2. Buka **Advanced Formula Environment** (AFE) dan klik _import_. - -![image](https://user-images.githubusercontent.com/1007910/192432838-0b21184d-f06b-4d03-b56b-97aad0cd392a.png) - -3. Isi "Github Gist URL" dengan link _Official GIST_ dari koleksi yang tersedia. Dan gunakan centang ✅ pada bagian "Add formulas to new namespace". Isi _namespace_ dengan nama koleksi. - -![image](https://user-images.githubusercontent.com/1007910/192433790-edfb2237-dcc9-41e0-898e-36d8a58e3438.png) - -Lakukan langkah import (3-4) untuk setiap koleksi yang ingin ditambahkan. - -4. Setelah _import_ seluruh koleksi yang digunakan, lakukan _synchronize_ yang bertujuan menyamakan nama pada _Formula/Excel Name Manager_. - -![image](https://user-images.githubusercontent.com/1007910/192444394-78f8a5d5-1015-45b7-91e9-57f77f86923f.png) - -Jika muncul peringatan mengenai _hidden sheets_, pilih "Allow ...". - -5. Selesai _sync_, fungsi lambda bisa langsung digunakan. - -![image](https://user-images.githubusercontent.com/1007910/192445916-242b2745-110b-44f7-9332-245b7fdaa695.png) - ---- - -### LISENSI - -- Proyek @fiakoenjiniring/feidlambda dan seluruh kodenya menggunakan MIT License. -- Lambda icon by Icons8. diff --git a/lambda/feid.lambda b/_lambda/feid.lambda similarity index 100% rename from lambda/feid.lambda rename to _lambda/feid.lambda diff --git a/lambda/feid.utils.lambda b/_lambda/feid.utils.lambda similarity index 100% rename from lambda/feid.utils.lambda rename to _lambda/feid.utils.lambda diff --git a/_oldreadme/README.md b/_oldreadme/README.md new file mode 100644 index 0000000..bc2e669 --- /dev/null +++ b/_oldreadme/README.md @@ -0,0 +1,66 @@ +
+ +
+ +# FEID Lambda + +Official collection of Lambda Formula by FIAKO Engineering. + +Repository: [fiakoenjiniring/feidlambda](https://github.com/fiakoenjiniring/feidlambda) + +## Koleksi FEID Lambda + +Saat ini hanya tersedia 1 koleksi fungsi lambda yaitu: + +- `feid.utils` ([Official GIST](https://gist.github.com/taruma/60610672a9bd94724cba46f68b5614fa)): kumpulan fungsi dasar berupa _logic_ atau _utilities_ yang dapat digunakan untuk membangun fungsi lambda bersifat _"narrative"_. ```https://gist.github.com/taruma/60610672a9bd94724cba46f68b5614fa``` + +### Koleksi `feid.utils` + +**v0.2** | [Demo/GIF seluruh fitur di v0.2](./feidlambda-v-0-2.md) + +- `feid.utils.COMPAREVECTOR`: Memeriksa apakah setiap elemen di LEFT VECTOR merupakan bagian (_equal_ / `=`) dari RIGHT VECTOR. Return: BOOLEAN VECTOR. +- `feid.utils.MULTICHECK`: Memeriksa apakah pada setiap kolom _equal_ / `=` dengan SEARCH VECTOR. Dan diproses setiap barisnya menggunakan AND atau OR. Return: BOOLEAN VECTOR. +- `feid.utils.DROPROWS`: Menghapus baris ke-n dari suatu array. Return: ARRAY. +- `feid.utils.DROPCOLS`: Menghapus kolom ke-n dari suatu array. Return: ARRAY. +- `feid.utils.COUNTMULTICHECK`: Menghitung jumlah `TRUE` dari `MULTICHECK`. Return: INTEGER. + +**v0.1** | [Demo/GIF seluruh fitur di v0.1](./feidlambda-v-0-1.md) + +- `feid.utils.REPEATCOLS`: Mengulangi _vector_ sebanyak _n_ dalam bentuk kolom. RETURN: COLUMN VECTOR. `=feid.utils.REPEATCOLS(vector, [num_repeat])` +- `feid.utils.SORTCOLS`: Menyusun ulang setiap kolom, berdasarkan _header_ yang diurutkan. RETURN: ARRAY. `=feid.utils.SORTCOLS(table, table_header)` +- `feid.utils.REPEATROWS`: Serupa dengan `.REPEATCOLS`, mengulangi _vector_ sebanyak _n_ dalam bentuk baris. RETURN: ROW VECTOR. `=feid.utils.REPEATROWS(vector, [num_repeat])` +- `feid.utils.RESHAPECOLS`: Mengubah dimensi array dari dimensi _rows x columns_, menjadi _rows x nsplit_ tanpa mengubah susunan baris array. RETURN: ARRAY. `=feid.utils.RESHAPECOLS(array, [nsplit])` +- `feid.utils.FINDINDEX2D`: Mencari index suatu elemen dari _array_ dengan keluaran berupa urutan elemennya, posisi baris dan kolom. RETURN: ARRAY / ROW VECTOR with {number element; index row; index column}. `=feid.utils.FINDINDEX2D(lookup_value, array)` + +## Instruksi instalasi FEID Lambda + +1. _Install_ add-ins **Advanced Formula Environment**. + +![image](https://user-images.githubusercontent.com/1007910/192432581-0fd50e59-b0d0-4d9a-b802-81fda91060cb.png) + +2. Buka **Advanced Formula Environment** (AFE) dan klik _import_. + +![image](https://user-images.githubusercontent.com/1007910/192432838-0b21184d-f06b-4d03-b56b-97aad0cd392a.png) + +3. Isi "Github Gist URL" dengan link _Official GIST_ dari koleksi yang tersedia. Dan gunakan centang ✅ pada bagian "Add formulas to new namespace". Isi _namespace_ dengan nama koleksi. + +![image](https://user-images.githubusercontent.com/1007910/192433790-edfb2237-dcc9-41e0-898e-36d8a58e3438.png) + +Lakukan langkah import (3-4) untuk setiap koleksi yang ingin ditambahkan. + +4. Setelah _import_ seluruh koleksi yang digunakan, lakukan _synchronize_ yang bertujuan menyamakan nama pada _Formula/Excel Name Manager_. + +![image](https://user-images.githubusercontent.com/1007910/192444394-78f8a5d5-1015-45b7-91e9-57f77f86923f.png) + +Jika muncul peringatan mengenai _hidden sheets_, pilih "Allow ...". + +5. Selesai _sync_, fungsi lambda bisa langsung digunakan. + +![image](https://user-images.githubusercontent.com/1007910/192445916-242b2745-110b-44f7-9332-245b7fdaa695.png) + +--- + +### LISENSI + +- Proyek @fiakoenjiniring/feidlambda dan seluruh kodenya menggunakan MIT License. +- Lambda icon by Icons8. diff --git a/feidlambda-v-0-1.md b/_oldreadme/feidlambda-v-0-1.md similarity index 100% rename from feidlambda-v-0-1.md rename to _oldreadme/feidlambda-v-0-1.md diff --git a/feidlambda-v-0-2.md b/_oldreadme/feidlambda-v-0-2.md similarity index 100% rename from feidlambda-v-0-2.md rename to _oldreadme/feidlambda-v-0-2.md diff --git a/v0.1/demo-feidlambda-0-1-findindex2d.gif b/_oldreadme/v0.1/demo-feidlambda-0-1-findindex2d.gif similarity index 100% rename from v0.1/demo-feidlambda-0-1-findindex2d.gif rename to _oldreadme/v0.1/demo-feidlambda-0-1-findindex2d.gif diff --git a/v0.1/demo-feidlambda-0-1-repeatcols.gif b/_oldreadme/v0.1/demo-feidlambda-0-1-repeatcols.gif similarity index 100% rename from v0.1/demo-feidlambda-0-1-repeatcols.gif rename to _oldreadme/v0.1/demo-feidlambda-0-1-repeatcols.gif diff --git a/v0.1/demo-feidlambda-0-1-repeatrows.gif b/_oldreadme/v0.1/demo-feidlambda-0-1-repeatrows.gif similarity index 100% rename from v0.1/demo-feidlambda-0-1-repeatrows.gif rename to _oldreadme/v0.1/demo-feidlambda-0-1-repeatrows.gif diff --git a/v0.1/demo-feidlambda-0-1-reshapecols.gif b/_oldreadme/v0.1/demo-feidlambda-0-1-reshapecols.gif similarity index 100% rename from v0.1/demo-feidlambda-0-1-reshapecols.gif rename to _oldreadme/v0.1/demo-feidlambda-0-1-reshapecols.gif diff --git a/v0.1/demo-feidlambda-0-1-sortcols.gif b/_oldreadme/v0.1/demo-feidlambda-0-1-sortcols.gif similarity index 100% rename from v0.1/demo-feidlambda-0-1-sortcols.gif rename to _oldreadme/v0.1/demo-feidlambda-0-1-sortcols.gif diff --git a/v02/feidlambda-v0-2-comparevector.gif b/_oldreadme/v02/feidlambda-v0-2-comparevector.gif similarity index 100% rename from v02/feidlambda-v0-2-comparevector.gif rename to _oldreadme/v02/feidlambda-v0-2-comparevector.gif diff --git a/v02/feidlambda-v0-2-countmulticheck.gif b/_oldreadme/v02/feidlambda-v0-2-countmulticheck.gif similarity index 100% rename from v02/feidlambda-v0-2-countmulticheck.gif rename to _oldreadme/v02/feidlambda-v0-2-countmulticheck.gif diff --git a/v02/feidlambda-v0-2-dropcols.gif b/_oldreadme/v02/feidlambda-v0-2-dropcols.gif similarity index 100% rename from v02/feidlambda-v0-2-dropcols.gif rename to _oldreadme/v02/feidlambda-v0-2-dropcols.gif diff --git a/v02/feidlambda-v0-2-droprows.gif b/_oldreadme/v02/feidlambda-v0-2-droprows.gif similarity index 100% rename from v02/feidlambda-v0-2-droprows.gif rename to _oldreadme/v02/feidlambda-v0-2-droprows.gif diff --git a/v02/feidlambda-v0-2-multicheck.gif b/_oldreadme/v02/feidlambda-v0-2-multicheck.gif similarity index 100% rename from v02/feidlambda-v0-2-multicheck.gif rename to _oldreadme/v02/feidlambda-v0-2-multicheck.gif diff --git a/_quarto.yml b/_quarto.yml new file mode 100644 index 0000000..392cf91 --- /dev/null +++ b/_quarto.yml @@ -0,0 +1,67 @@ +project: + type: website + preview: + port: 3637 + +website: + title: "feidlambda" + description: "feidlambda by fiakodev" + + site-url: https://dev.fiako.engineering/feidlambda + repo-url: https://github.com/fiakoenjiniring/feidlambda + + reader-mode: true + search: + location: navbar + type: textbox + page-navigation: true + + + # FOR TWITTER / open-graph + image: "fiakologo.png" + favicon: "fiakologo.png" + + ## NAVIGATION BAR + navbar: + title: false + background: dark + # foreground: warning + # pinned: false + + collapse: true + + logo: "fiakologo.png" + + left: + - text: Home + href: index.qmd + - text: feidlambda 0.x + menu: + - href: release/feidlambda-0-2-0.qmd + - href: release/feidlambda-0-1-0.qmd + - href: release/feidlambda.qmd + - href: release/penggunaan.qmd + + # right: + # - icon: twitter + # href: https://twitter.com + # aria-label: feidlambda twitter + + + ## SIDEBAR + page-footer: + right: >- + developed by **fiako**dev. + built with ❤️ and [Quarto](https://quarto.org/). + left: >- + © 2022 PT. FIAKO ENJINIRING INDONESIA. + CC-BY-NC-SA 4.0. + +format: + html: + theme: zephyr # lux, materia, minty, sandstone, spacelab, yeti + css: styles.css + toc: true + + + diff --git a/about.qmd b/about.qmd new file mode 100644 index 0000000..6aa6177 --- /dev/null +++ b/about.qmd @@ -0,0 +1,7 @@ +--- +title: "About" +--- + +About this site + +test \ No newline at end of file diff --git a/fiakologo.png b/fiakologo.png new file mode 100644 index 0000000..8b716f3 Binary files /dev/null and b/fiakologo.png differ diff --git a/index.qmd b/index.qmd new file mode 100644 index 0000000..c05edb0 --- /dev/null +++ b/index.qmd @@ -0,0 +1,26 @@ +--- +pagetitle: "feidlambda" +# title: Home +format: html +toc: false +html-math-method: mathjax +link-external-newwindow: true +page-layout: full +--- + +::: {.text-center .m-0} +# $\text{fe}\hat{i}\text{d} \lambda \text{mbd} \bigtriangleup$ +::: + +::: {.text-center .callout-important appearance="simple" icon="false"} +## Dalam Pengembangan + +Saat ini `feidlambda` (koleksi lambda) masih dalam tahap pengembangan. Untuk lebih jelasnya bisa membaca [Public Roadmap fiakodev Q4 2022](https://dev.fiako.engineering/logs/public-roadmap-october-2022). +::: + +::: {.callout-tip icon="false" .text-center} +## Official GIST **feid.utils** (v0.2.0) + +--- +[v0.2.0](release/feidlambda-0-2-0.qmd) | [v0.1.0](release/feidlambda-0-1-0.qmd) | [panduan](release/penggunaan.qmd) +::: \ No newline at end of file diff --git a/release/feidlambda-0-1-0.qmd b/release/feidlambda-0-1-0.qmd new file mode 100644 index 0000000..3e1e76d --- /dev/null +++ b/release/feidlambda-0-1-0.qmd @@ -0,0 +1,121 @@ +--- +title: | + feidlambda 0.1.0 +subtitle: | + Fitur terbaru di `feidlambda v0.1.0` +author: "Taruma Sakti Megariansyah" +abstract: | + Pada _prerelease_ feidlambda (v0.1.0) memperkenalkan beberapa fitur untuk memanipulasi + _dynamic array_. Berikut fitur yang ditambahkan pada `feidlambda v0.1.0`: `REPEATCOLS`, `SORTCOLS`, `REPEATROWS`, `REPEATCOLS`, `FINDINDEX2D`. +date: 2022-09-28 + +toc: true +toc-location: right +number-sections: true +link-external-newwindow: true +layout: article +--- + +::: {.callout-important icon="false" .text-center} +## Official GIST **feid.utils** (v0.2.0) +
+[_Pre-release Page_ (GitHub)](https://github.com/fiakoenjiniring/feidlambda/releases/tag/v0.1.0){.fs-6} +::: + +Berikut daftar fungsi yang tersedia di koleksi `feidlambda` versi 0.1.0: + +## REPEATCOLS + +::: {.callout-tip appearance="minimal"} +`feid.utils.`REPEATCOLS +: Mengulangi _vector_ sebanyak _n_ dalam bentuk kolom. + +_return_ +: _COLUMN VECTOR_ +::: + +::: {.column-margin .callout-warning appearance="simple"} +Jika `num_repeat` tidak diisi, maka secara _default_ bernilai 2. +::: + +```r +=feid.utils.REPEATCOLS(vector, [num_repeat]) +``` + +![`feid.utils.REPEATCOLS`](./img-0-1-0/demo-feidlambda-0-1-repeatcols.gif) + +## SORTCOLS + +::: {.callout-tip appearance="minimal"} +`feid.utils.`SORTCOLS +: Menyusun ulang setiap kolom, berdasarkan _header_ yang diurutkan. + +_return_ +: _ARRAY_ +::: + +::: {.column-margin .callout-warning appearance="simple"} +Jika _input table_ sebagai `array`, maka pastikan memisahkan antara _header array_ dan isinya. +::: + +```r +=feid.utils.SORTCOLS(table, table_header) +``` + +![`feid.utils.SORTCOLS`](./img-0-1-0/demo-feidlambda-0-1-sortcols.gif) + +## REPEATROWS + +::: {.callout-tip appearance="minimal"} +`feid.utils.`REPEATROWS +: Serupa dengan `.REPEATCOLS`, mengulangi _vector_ sebanyak _n_ dalam bentuk baris + +_return_ +: _ROW VECTOR_ +::: + +::: {.column-margin .callout-warning appearance="simple"} +Jika `num_repeat` tidak diisi, maka secara _default_ bernilai 2. +::: + +```r +=feid.utils.REPEATROWS(vector, [num_repeat]) +``` + +![`feid.utils.REPEATROWS`](./img-0-1-0/demo-feidlambda-0-1-repeatrows.gif) + +## RESHAPECOLS + +::: {.callout-tip appearance="minimal"} +`feid.utils.`RESHAPECOLS +: Mengubah dimensi array dari dimensi _rows x columns_, menjadi _rows x nsplit_ tanpa mengubah susunan baris _array_. + +_return_ +: _ARRAY_ +::: + +::: {.column-margin .callout-warning appearance="simple"} +Jika `nsplit` tidak diisi, maka _default_ bernilai 2. +::: + +```r +=feid.utils.RESHAPECOLS(array, [nsplit]) +``` + +![`feid.utils.RESHAPECOLS`](./img-0-1-0/demo-feidlambda-0-1-reshapecols.gif) + +## FINDINDEX2D + +::: {.callout-tip appearance="minimal"} +`feid.utils.`FINDINDEX2D +: Mencari index suatu elemen dari _array_ dengan keluaran berupa urutan elemennya, posisi baris dan kolom. + +_return_ +: _ARRAY / ROW VECTOR_ with {number element; index row; index column} +::: + +```r +=feid.utils.FINDINDEX2D(lookup_value, array) +``` + +![`feid.utils.FINDINDEX2D`](./img-0-1-0/demo-feidlambda-0-1-findindex2d.gif) diff --git a/release/feidlambda-0-2-0.qmd b/release/feidlambda-0-2-0.qmd new file mode 100644 index 0000000..35d3b1c --- /dev/null +++ b/release/feidlambda-0-2-0.qmd @@ -0,0 +1,113 @@ +--- +title: | + feidlambda 0.2.0 +subtitle: | + Fitur terbaru di `feidlambda v0.2.0` +author: "Taruma Sakti Megariansyah" +abstract: | + Pada _prerelease_ feidlambda (v0.2.0) memperkenalkan beberapa fitur untuk memanipulasi + _dynamic array_. Berikut fitur yang ditambahkan pada `feidlambda v0.2.0`: `COMPAREVECTOR`, `MULTICHECK`, `DROPROWS`, `DROPCOLS`, `COUNTMULTICHECK`. +date: 2022-09-28 + +toc: true +toc-location: right +number-sections: true +number-offset: [0, 5] +link-external-newwindow: true +layout: article +--- + +::: {.callout-important icon="false" .text-center} +## Official GIST **feid.utils** (v0.2.0) +
+[_Pre-release Page_ (GitHub)](https://github.com/fiakoenjiniring/feidlambda/releases/tag/v0.2.0){.fs-6} +::: + +Berikut daftar fungsi yang tersedia di koleksi `feidlambda` versi 0.2.0: + +## COMPAREVECTOR + +::: {.callout-tip appearance="minimal"} +`feid.utils.`COMPAREVECTOR +: Memeriksa apakah setiap elemen di `LEFT VECTOR` merupakan bagian (_equal_ / `=`) dari `RIGHT VECTOR`. + +_return_ +: _BOOLEAN VECTOR_ +::: + +```r +=feid.utils.COMPAREVECTOR(left_vector, right_vector) +``` + +![`feid.utils.COMPAREVECTOR`](./img-0-2-0/feidlambda-v0-2-comparevector.gif) + +## MULTICHECK + +::: {.callout-tip appearance="minimal"} +`feid.utils.`MULTICHECK +: Memeriksa apakah pada setiap kolom _equal_ / `=` dengan `SEARCH VECTOR`. Dan diproses setiap barisnya menggunakan `AND` atau `OR`. + +_return_ +: _BOOLEAN VECTOR_ +::: +::: {.column-margin .callout-note} +`check_condition` diisi `"OR"` atau `"AND"`, jika tidak diisi dianggap `"AND"`. +::: + +```r +=feid.utils.MULTICHECK(array, search_vector, [check_condition]) +``` + +![`feid.utils.MULTICHECK`](./img-0-2-0/feidlambda-v0-2-multicheck.gif) + +## DROPROWS + +::: {.callout-tip appearance="minimal"} +`feid.utils.`DROPROWS +: Menghapus baris ke-n dari `array`. + +_return_ +: _ARRAY_ +::: + +```r +=feid.utils.DROPROWS(array, index_to_drop) +``` + +![`feid.utils.DROPROWS`](./img-0-2-0/feidlambda-v0-2-droprows.gif) + +## DROPCOLS + +::: {.callout-tip appearance="minimal"} +`feid.utils.`DROPCOLS +: Menghapus kolom ke-n dari `array`. + +_return_ +: _ARRAY_ +::: + +```r +=feid.utils.DROPCOLS(array, index_to_drop) +``` + +![`feid.utils.DROPCOLS`](./img-0-2-0/feidlambda-v0-2-dropcols.gif) + +## COUNTMULTICHECK + +::: {.callout-tip appearance="minimal"} +`feid.utils.`COUNTMULTICHECK +: Menghitung jumlah `TRUE` dari `MULTICHECK`. + +_return_ +: _INTEGER_ +::: +::: {.column-margin .callout-note} +`check_condition` diisi `"OR"` atau `"AND"`, jika tidak diisi dianggap `"AND"`. +::: + +```r +=feid.utils.COUNTMULTICHECK(array, search_vector, [check_condition]) +``` + +![`feid.utils.COUNTMULTICHECK`](./img-0-2-0/feidlambda-v0-2-countmulticheck.gif) + diff --git a/release/feidlambda.qmd b/release/feidlambda.qmd new file mode 100644 index 0000000..633ebc2 --- /dev/null +++ b/release/feidlambda.qmd @@ -0,0 +1,216 @@ +--- +title: | + _Source Code_ feidlambda +subtitle: | + _Source Code_ Koleksi lambda versi 0.2.0 +author: fiakodev +date: 2022-09-28 +toc: false +link-external-newwindow: true +layout: article +license: MIT LICENSE + +code-copy: true +code-line-numbers: true +code-link: true +code-block-border-left: "#34a3f7" +code-overflow: scroll + +--- + +::: {.callout-note icon="false" .text-center} +## Official GIST **feid.utils** (v0.2.0) + +::: + +```default +/* +fiako.utils v0.2.0 +LOGIC / UTILITIES FUNCTIONS BY FIAKO ENGINEERING +GIST LOGIC/UTILITIES (feid.utils): https://gist.github.com/taruma/60610672a9bd94724cba46f68b5614fa +REPOSITORY: https://github.com/fiakoenjiniring/feidlambda +AUTHOR: @taruma, LKO +TESTED: Microsoft 365 Business v2209 (Build 15629.20156) +*/ + +// INDEPENDENT FUNCTIONS + +// NEW IN v0.1 +REPEATCOLS = LAMBDA( + vector, + [num_repeat], + LET( + num_repeat, IF(ISOMITTED(num_repeat), 2, num_repeat), + colvector, TOCOL(vector), + repeatvector, CHOOSECOLS(colvector, SEQUENCE(num_repeat,,1,0)), + TOCOL(repeatvector,,TRUE) + ) +); + +SORTCOLS = LAMBDA( + table, + table_header, + LET( + header, table_header, + values, table, + ncols, COLUMNS(table), + headstack, VSTACK(header, SEQUENCE(1, ncols)), + headsorted, SORT(headstack, 1, 1, TRUE), + newindex, CHOOSEROWS(headsorted, 2), + sortedvalues, CHOOSECOLS(values, newindex), + sortedheader, CHOOSEROWS(headsorted, 1), + VSTACK(sortedheader, sortedvalues) + ) +); + +// NEW IN v0.2 +COMPAREVECTOR = LAMBDA( + left_vector, + right_vector, + LET( + left_vector, TOCOL(left_vector), + right_vector, TOCOL(right_vector), + BYROW( + left_vector, LAMBDA( + left, + OR(BYROW( + right_vector, LAMBDA( + right, + left=right + ) + )) + ) + ) + ) +); + +MULTICHECK = LAMBDA( + array, + search_vector, + [check_condition], + LET( + searchvector, TOROW(search_vector), + nrows, ROWS(array), + repeatarray, CHOOSEROWS(searchvector, SEQUENCE(nrows,,1,0)), + boolarray, MAP(array, repeatarray, LAMBDA(x, y, x=y)), + checkcondition, IF(ISOMITTED(check_condition), "AND", check_condition), + SWITCH(LOWER(checkcondition), + "and", BYROW(boolarray, LAMBDA(x, AND(x))), + "or", BYROW(boolarray, LAMBDA(x, OR(x))), + "INVALID CHECK CONDITION" + ) + ) +); + +// DEPENDENT FUNCTIONS (USING PREVIOUS FUNCTIONS) + +// NEW IN v0.1 +REPEATROWS = LAMBDA( + vector, + [num_repeat], + LET( + num_repeat, IF(ISOMITTED(num_repeat), 2, num_repeat), + repeatvector, REPEATCOLS(vector, num_repeat), + TOROW(repeatvector,,TRUE) + ) +); + +RESHAPECOLS = LAMBDA( + array, + [nsplit], + LET( + nsplit, IF(ISOMITTED(nsplit), 2, nsplit), + ncols, COLUMNS(array), + nrows, ROWS(array), + divider, CEILING.MATH(ncols/nsplit), + seqarray, CHOOSEROWS(SEQUENCE(1,divider), SEQUENCE(nsplit,,1,0)), + flatseq, TAKE(TOCOL(seqarray,,TRUE),ncols), + repseq, REPEATCOLS(flatseq, nrows), + flatarray, TOCOL(array), + sortedarray, SORTBY(flatarray,repseq), + IF( + MOD(ncols, nsplit)=0, + WRAPROWS(sortedarray, nsplit, ""), + CONCAT( + "Pick another nsplit. ", + "MOD(",ncols,",",nsplit,")", + " != 0." + ) + ) + ) +); + +FINDINDEX2D = LAMBDA( + lookup_value, + array, + LET( + nrows, ROWS(array), + ncols, COLUMNS(array), + size, nrows*ncols, + colarray, TOCOL(array), + seqrows, SORT(REPEATCOLS(SEQUENCE(nrows), ncols)), + seqcols, REPEATCOLS(SEQUENCE(ncols), nrows), + idnumber, SEQUENCE(size), + lookuptable, HSTACK(idnumber, seqrows, seqcols), + FILTER(lookuptable, colarray=lookup_value) + ) +); + +// NEW IN v0.2 +DROPROWS = LAMBDA( + array, + index_to_drop, + LET( + nrows, ROWS(array), + indexdrop, TOCOL(index_to_drop), + indexdropclean, FILTER(indexdrop, NOT(ISBLANK(indexdrop))), + seqvector, SEQUENCE(nrows), + boolvector, NOT(COMPAREVECTOR(seqvector, indexdropclean)), + FILTER(array, boolvector) + ) +); + +DROPCOLS = LAMBDA( + array, + index_to_drop, + LET( + transarray, TRANSPOSE(array), + droparray, DROPROWS(transarray, index_to_drop), + TRANSPOSE(droparray) + ) +); + +COUNTMULTICHECK = LAMBDA( + array, + search_vector, + [check_condition], + LET( + result, MULTICHECK(array, search_vector, check_condition), + SUM(INT(result)) + ) +); + +/* +MIT License + +Copyright (c) 2022 PT. FIAKO ENJINIRING INDONESIA + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ +``` \ No newline at end of file diff --git a/release/img-0-1-0/demo-feidlambda-0-1-findindex2d.gif b/release/img-0-1-0/demo-feidlambda-0-1-findindex2d.gif new file mode 100644 index 0000000..7ec8432 Binary files /dev/null and b/release/img-0-1-0/demo-feidlambda-0-1-findindex2d.gif differ diff --git a/release/img-0-1-0/demo-feidlambda-0-1-repeatcols.gif b/release/img-0-1-0/demo-feidlambda-0-1-repeatcols.gif new file mode 100644 index 0000000..68e0b5d Binary files /dev/null and b/release/img-0-1-0/demo-feidlambda-0-1-repeatcols.gif differ diff --git a/release/img-0-1-0/demo-feidlambda-0-1-repeatrows.gif b/release/img-0-1-0/demo-feidlambda-0-1-repeatrows.gif new file mode 100644 index 0000000..9e02082 Binary files /dev/null and b/release/img-0-1-0/demo-feidlambda-0-1-repeatrows.gif differ diff --git a/release/img-0-1-0/demo-feidlambda-0-1-reshapecols.gif b/release/img-0-1-0/demo-feidlambda-0-1-reshapecols.gif new file mode 100644 index 0000000..06e92fa Binary files /dev/null and b/release/img-0-1-0/demo-feidlambda-0-1-reshapecols.gif differ diff --git a/release/img-0-1-0/demo-feidlambda-0-1-sortcols.gif b/release/img-0-1-0/demo-feidlambda-0-1-sortcols.gif new file mode 100644 index 0000000..7be3d92 Binary files /dev/null and b/release/img-0-1-0/demo-feidlambda-0-1-sortcols.gif differ diff --git a/release/img-0-1-0/hidrokit-pages.png b/release/img-0-1-0/hidrokit-pages.png new file mode 100644 index 0000000..8cb2c4a Binary files /dev/null and b/release/img-0-1-0/hidrokit-pages.png differ diff --git a/release/img-0-2-0/feidlambda-v0-2-comparevector.gif b/release/img-0-2-0/feidlambda-v0-2-comparevector.gif new file mode 100644 index 0000000..5b72fe6 Binary files /dev/null and b/release/img-0-2-0/feidlambda-v0-2-comparevector.gif differ diff --git a/release/img-0-2-0/feidlambda-v0-2-countmulticheck.gif b/release/img-0-2-0/feidlambda-v0-2-countmulticheck.gif new file mode 100644 index 0000000..bf401c2 Binary files /dev/null and b/release/img-0-2-0/feidlambda-v0-2-countmulticheck.gif differ diff --git a/release/img-0-2-0/feidlambda-v0-2-dropcols.gif b/release/img-0-2-0/feidlambda-v0-2-dropcols.gif new file mode 100644 index 0000000..1156f88 Binary files /dev/null and b/release/img-0-2-0/feidlambda-v0-2-dropcols.gif differ diff --git a/release/img-0-2-0/feidlambda-v0-2-droprows.gif b/release/img-0-2-0/feidlambda-v0-2-droprows.gif new file mode 100644 index 0000000..32005f9 Binary files /dev/null and b/release/img-0-2-0/feidlambda-v0-2-droprows.gif differ diff --git a/release/img-0-2-0/feidlambda-v0-2-multicheck.gif b/release/img-0-2-0/feidlambda-v0-2-multicheck.gif new file mode 100644 index 0000000..7b420a2 Binary files /dev/null and b/release/img-0-2-0/feidlambda-v0-2-multicheck.gif differ diff --git a/release/penggunaan.qmd b/release/penggunaan.qmd new file mode 100644 index 0000000..461967d --- /dev/null +++ b/release/penggunaan.qmd @@ -0,0 +1,58 @@ +--- +title: | + Penggunaan feidlambda +subtitle: | + Panduan pemasangan koleksi lambda `feidlambda` versi 0.x +author: Taruma Sakti Megariansyah +date: 2022-10-20 +toc: true +toc-location: right +number-sections: true +link-external-newwindow: true +layout: article +--- + +## **Advanced Formula Environment** + +_Install_ add-ins **Advanced Formula Environment** dari menu `Insert` > `Get Add-ins` > Cari **Advanced Formula Environment** (AFE). + +::: {.column-page} +![Menambahkan **Advanced Formula Environment** _Add-ins_](https://user-images.githubusercontent.com/1007910/192432581-0fd50e59-b0d0-4d9a-b802-81fda91060cb.png) +::: + +## _Import_ menggunakan AFE + +Setelah AFE terpasang di Microsoft Excel, lakukan _import_ dengan membuka AFE melalui `Home` > `Advanced Formula Environment` > `Import`. + +::: {.column-page} +![Melakukan _import_ di AFE](https://user-images.githubusercontent.com/1007910/192432838-0b21184d-f06b-4d03-b56b-97aad0cd392a.png) +::: + +## Salin _Github Gist URL_ + +Isi "Github Gist URL" dengan link koleksi lambda yang tersedia. _Checklist_ ✅ bagian "_Add formulas to new namespace_" dan isi _namespace_ dengan nama koleksi (contoh: `feid.utils`). + +::: {.callout-tip appearance="simple"} +Lakukan langkah _import_ (2-3) untuk setiap koleksi yang ingin ditambahkan. +::: + +![Isi _GitHub Gist URL_ dan _Namespace_](https://user-images.githubusercontent.com/1007910/192433790-edfb2237-dcc9-41e0-898e-36d8a58e3438.png) + +## _Sync_ formula + +Setelah _import_ seluruh koleksi yang digunakan, lakukan _synchronize_ yang bertujuan menyamakan nama pada _Formula/Excel Name Manager_. + +::: {.callout-caution appearance="simple"} +Jika muncul peringatan mengenai _hidden sheets_, pilih "Allow ...". +::: + +![_Synchronize_ AFE](https://user-images.githubusercontent.com/1007910/192444394-78f8a5d5-1015-45b7-91e9-57f77f86923f.png) + + +## Gunakan koleksi lambda + +Selesai _sync_, fungsi lambda bisa langsung digunakan. + +::: {.column-page} +![Gunakan koleksi lambda yang telah di-_import_](https://user-images.githubusercontent.com/1007910/192445916-242b2745-110b-44f7-9332-245b7fdaa695.png) +::: diff --git a/styles.css b/styles.css new file mode 100644 index 0000000..12ee834 --- /dev/null +++ b/styles.css @@ -0,0 +1,5 @@ +/* css styles */ + +.figure-caption { + text-align: center; +} \ No newline at end of file