Greg_Deckler's avatar
Greg_Deckler
Community Champion
2 years ago

XBITAND

It's BITAND but for multiple rows of data.

 

 

XBITAND = 
    VAR __RowCount = COUNTROWS('bitor')
    VAR __Length = LEN(MAX('bitor'[day_of_month_bit_position]))
    VAR __String = CONCATENATEX('bitor', [day_of_month_bit_position])
    VAR __Table = 
            ADDCOLUMNS(
                GENERATESERIES(0, __RowCount * __Length - 1),
                "__Bit", MID(__String, [Value]+1, 1) + 0,
                "__Mod", MOD([Value], __Length)
            )
    VAR __Table1 = 
        ADDCOLUMNS(
            GENERATESERIES(0, __Length - 1),
            "__BITAND", 
                    VAR __Index = [Value]
                    VAR __Sum = SUMX(FILTER(__Table, [__Mod] = __Index),[__Bit])
                    VAR __Result = IF(__Sum = __RowCount, 1, 0)
                RETURN
                    __Result
        )
RETURN
    CONCATENATEX(__Table1, [__BITAND],,[Value],ASC)

 

 

 

 

No RepliesBe the first to reply