Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 46 additions & 0 deletions feidlambda-v-0-2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# NEW FUNCTIONS IN FEIDLAMBDA v0.2

NEW FUNCTIONS:
- `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.

## COMPAREVECTOR

```=feid.utils.COMPAREVECTOR(left_vector, right_vector)```

![](./v02/feidlambda-v0-2-comparevector.gif)

## MULTICHECK

```=feid.utils.MULTICHECK(array, search_vector, [check_condition])```

CATATAN: check_condition diisi "OR" atau "AND", jika tidak diisi dianggap "AND".

![](./v02/feidlambda-v0-2-multicheck.gif)

## DRPOPROWS

```=feid.utils.DROPROWS(array, index_to_drop)```

![](./v02/feidlambda-v0-2-droprows.gif)

## DRPOPCOLS

```=feid.utils.DROPCOLS(array, index_to_drop)```

![](./v02/feidlambda-v0-2-dropcols.gif)

## COUNTMULTICHECK

```=feid.utils.COUNTMULTICHECK(array, search_vector, [check_condition])```

CATATAN: check_condition diisi "OR" atau "AND", jika tidak diisi dianggap "AND".

![](./v02/feidlambda-v0-2-countmulticheck.gif)

---

author: @taruma
83 changes: 79 additions & 4 deletions lambda/feid.utils.lambda
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
/*
fiako.utils v0.1.0
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, @iingLK
TESTED: v2208
AUTHOR: @taruma, LKO
TESTED: Microsoft 365 Business v2209 (Build 15629.20156)
*/

// INDEPENDENT FUNCTIONS

// NEW IN v0.1
REPEATCOLS = LAMBDA(
vector,
[num_repeat],
Expand Down Expand Up @@ -36,8 +37,48 @@ SORTCOLS = LAMBDA(
)
);

// 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],
Expand Down Expand Up @@ -89,6 +130,40 @@ FINDINDEX2D = LAMBDA(
)
);

// 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

Expand All @@ -111,4 +186,4 @@ 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.
*/
*/
Binary file added v02/feidlambda-v0-2-comparevector.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added v02/feidlambda-v0-2-countmulticheck.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added v02/feidlambda-v0-2-dropcols.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added v02/feidlambda-v0-2-droprows.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added v02/feidlambda-v0-2-multicheck.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.