Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
dax.vim152 linesDownload Raw Back to syntax
1" Vim syntax file2" Language:     Data Analysis Expressions (DAX)3" Maintainer:   Anarion Dunedain <anarion80@gmail.com>4" Last Change:5"   2025 Mar 28  First version6 7" quit when a syntax file was already loaded8if exists("b:current_syntax")9        finish10endif11let s:keepcpo = &cpo12set cpo&vim13 14" There are DAX functions with dot in the name (like VARX.S)15setlocal iskeyword+=.16" DAX is case insensitive17syn case ignore18 19" DAX statements20syn keyword daxStatement DEFINE EVALUATE MEASURE RETURN VAR21syn match daxStatement "ORDER\ BY"22syn match daxStatement "START\ AT"23 24" TODO25syn keyword daxTodo FIXME NOTE TODO OPTIMIZE XXX HACK contained26 27" DAX functions28syn keyword daxFunction29  \ ABS ACCRINT ACCRINTM ACOS ACOSH ACOT ACOTH30  \ ADDCOLUMNS ADDMISSINGITEMS ALL ALLCROSSFILTERED ALLEXCEPT ALLNOBLANKROW ALLSELECTED31  \ AMORDEGRC AMORLINC AND APPROXIMATEDISTINCTCOUNT ASIN ASINH ATAN32  \ ATANH AVERAGE AVERAGEA AVERAGEX BETA.DIST BETA.INV BITAND33  \ BITLSHIFT BITOR BITRSHIFT BITXOR BLANK CALCULATE CALCULATETABLE34  \ CALENDAR CALENDARAUTO CEILING CHISQ.DIST CHISQ.DIST.RT CHISQ.INV CHISQ.INV.RT35  \ CLOSINGBALANCEMONTH CLOSINGBALANCEQUARTER CLOSINGBALANCEYEAR COALESCE COLUMNSTATISTICS COMBIN COMBINA36  \ COMBINEVALUES CONCATENATE CONCATENATEX CONFIDENCE.NORM CONFIDENCE.T CONTAINSROW37  \ CONTAINSSTRING CONTAINSSTRINGEXACT CONVERT COS COSH COT COTH38  \ COUNT COUNTA COUNTAX COUNTBLANK COUNTROWS COUNTX COUPDAYBS39  \ COUPDAYS COUPDAYSNC COUPNCD COUPNUM COUPPCD CROSSFILTER CROSSJOIN40  \ CUMIPMT CUMPRINC CURRENCY CURRENTGROUP CUSTOMDATA DATATABLE DATE41  \ DATEADD DATEDIFF DATESBETWEEN DATESINPERIOD DATESMTD DATESQTD DATESYTD42  \ DATEVALUE DAY DB DDB DEGREES DETAILROWS DISC43  \ DISTINCT column DISTINCT table DISTINCTCOUNT DISTINCTCOUNTNOBLANK DIVIDE DOLLARDE DOLLARFR44  \ DURATION EARLIER EARLIEST EDATE EFFECT ENDOFMONTH ENDOFQUARTER45  \ ENDOFYEAR EOMONTH ERROR EVALUATEANDLOG EVEN EXACT EXCEPT46  \ EXP EXPON.DIST FACT FALSE FILTER FILTERS FIND47  \ FIRST FIRSTDATE FIXED FLOOR FORMAT FV GCD48  \ GENERATE GENERATEALL GENERATESERIES GEOMEAN GEOMEANX GROUPBY HASONEFILTER49  \ HASONEVALUE HOUR IF IF.EAGER IFERROR IGNORE INDEX50  \ INFO.ALTERNATEOFDEFINITIONS INFO.ANNOTATIONS INFO.ATTRIBUTEHIERARCHIES INFO.ATTRIBUTEHIERARCHYSTORAGES INFO.CALCDEPENDENCY INFO.CALCULATIONGROUPS INFO.CALCULATIONITEMS51  \ INFO.CATALOGS INFO.CHANGEDPROPERTIES INFO.COLUMNPARTITIONSTORAGES INFO.COLUMNPERMISSIONS INFO.COLUMNS INFO.COLUMNSTORAGES INFO.CSDLMETADATA52  \ INFO.CULTURES INFO.DATACOVERAGEDEFINITIONS INFO.DATASOURCES INFO.DELTATABLEMETADATASTORAGES INFO.DEPENDENCIES INFO.DETAILROWSDEFINITIONS INFO.DICTIONARYSTORAGES53  \ INFO.EXCLUDEDARTIFACTS INFO.EXPRESSIONS INFO.EXTENDEDPROPERTIES INFO.FORMATSTRINGDEFINITIONS INFO.FUNCTIONS INFO.GENERALSEGMENTMAPSEGMENTMETADATASTORAGES INFO.GROUPBYCOLUMNS54  \ INFO.HIERARCHIES INFO.HIERARCHYSTORAGES INFO.KPIS INFO.LEVELS INFO.LINGUISTICMETADATA INFO.MEASURES INFO.MODEL55  \ INFO.OBJECTTRANSLATIONS INFO.PARQUETFILESTORAGES INFO.PARTITIONS INFO.PARTITIONSTORAGES INFO.PERSPECTIVECOLUMNS INFO.PERSPECTIVEHIERARCHIES INFO.PERSPECTIVEMEASURES56  \ INFO.PERSPECTIVES INFO.PERSPECTIVETABLES INFO.PROPERTIES INFO.QUERYGROUPS INFO.REFRESHPOLICIES INFO.RELATEDCOLUMNDETAILS INFO.RELATIONSHIPINDEXSTORAGES57  \ INFO.RELATIONSHIPS INFO.RELATIONSHIPSTORAGES INFO.ROLEMEMBERSHIPS INFO.ROLES INFO.SEGMENTMAPSTORAGES INFO.SEGMENTSTORAGES INFO.STORAGEFILES58  \ INFO.STORAGEFOLDERS INFO.STORAGETABLECOLUMNS INFO.STORAGETABLECOLUMNSEGMENTS INFO.STORAGETABLES INFO.TABLEPERMISSIONS INFO.TABLES INFO.TABLESTORAGES59  \ INFO.VARIATIONS INFO.VIEW.COLUMNS INFO.VIEW.MEASURES INFO.VIEW.RELATIONSHIPS INFO.VIEW.TABLES INT INTERSECT60  \ INTRATE IPMT ISAFTER ISBLANK ISCROSSFILTERED ISEMPTY ISERROR61  \ ISEVEN ISFILTERED ISINSCOPE ISLOGICAL ISNONTEXT ISNUMBER ISO.CEILING62  \ ISODD ISONORAFTER ISPMT ISSELECTEDMEASURE ISSUBTOTAL ISTEXT KEEPFILTERS63  \ LAST LASTDATE LCM LEFT LEN LINEST LINESTX64  \ LN LOG LOG10 LOOKUPVALUE LOWER MATCHBY MAX65  \ MAXA MAXX MDURATION MEDIAN MEDIANX MID MIN66  \ MINA MINUTE MINX MOD MONTH MOVINGAVERAGE MROUND67  \ NATURALINNERJOIN NATURALLEFTOUTERJOIN NETWORKDAYS NEXT NEXTDAY NEXTMONTH NEXTQUARTER68  \ NEXTYEAR NOMINAL NONVISUAL NORM.DIST NORM.INV NORM.S.DIST NORM.S.INV69  \ NOT NOW NPER ODD ODDFPRICE ODDFYIELD ODDLPRICE70  \ ODDLYIELD OFFSET OPENINGBALANCEMONTH OPENINGBALANCEQUARTER OPENINGBALANCEYEAR OR ORDERBY71  \ PARALLELPERIOD PARTITIONBY PATH PATHCONTAINS PATHITEM PATHITEMREVERSE PATHLENGTH72  \ PDURATION PERCENTILE.EXC PERCENTILE.INC PERCENTILEX.EXC PERCENTILEX.INC PERMUT PI73  \ PMT POISSON.DIST POWER PPMT PREVIOUS PREVIOUSDAY PREVIOUSMONTH74  \ PREVIOUSQUARTER PREVIOUSYEAR PRICE PRICEDISC PRICEMAT PRODUCT PRODUCTX75  \ PV QUARTER QUOTIENT RADIANS RAND RANDBETWEEN RANGE76  \ RANK RANK.EQ RANKX RATE RECEIVED RELATED RELATEDTABLE77  \ REMOVEFILTERS REPLACE REPT RIGHT ROLLUP ROLLUPADDISSUBTOTAL ROLLUPGROUP78  \ ROLLUPISSUBTOTAL ROUND ROUNDDOWN ROUNDUP ROW ROWNUMBER RRI79  \ RUNNINGSUM SAMEPERIODLASTYEAR SAMPLE SEARCH SECOND SELECTCOLUMNS SELECTEDMEASURE80  \ SELECTEDMEASUREFORMATSTRING SELECTEDMEASURENAME SELECTEDVALUE SIGN SIN SINH SLN81  \ SQRT SQRTPI STARTOFMONTH STARTOFQUARTER STARTOFYEAR STDEV.P STDEV.S82  \ STDEVX.P STDEVX.S SUBSTITUTE SUBSTITUTEWITHINDEX SUM SUMMARIZE SUMMARIZECOLUMNS83  \ SUMX SWITCH SYD T.DIST T.DIST.2T T.DIST.RT T.INV84  \ T.INV.2t TAN TANH TBILLEQ TBILLPRICE TBILLYIELD TIME85  \ TIMEVALUE TOCSV TODAY TOJSON TOPN TOTALMTD TOTALQTD86  \ TOTALYTD TREATAS TRIM TRUE TRUNC Table Constructor UNICHAR87  \ UNICODE UNION UPPER USERCULTURE USERELATIONSHIP USERNAME USEROBJECTID88  \ USERPRINCIPALNAME UTCNOW UTCTODAY VALUE VALUES VAR.P VAR.S89  \ VARX.P VARX.S VDB WEEKDAY WEEKNUM WINDOW XIRR90  \ XNPV YEAR YEARFRAC YIELD YIELDDISC YIELDMAT91 92" CONTAINS is a vim syntax keyword and can't be a defined keyword93syn match daxFunction "CONTAINS"94 95" Numbers96" integer number, or floating point number without a dot.97syn match daxNumber "\<\d\+\>"98" floating point number, with dot99syn match daxNumber "\<\d\+\.\d*\>"100 101syn match daxFloat "[-+]\=\<\d\+[eE][\-+]\=\d\+"102syn match daxFloat "[-+]\=\<\d\+\.\d*\([eE][\-+]\=\d\+\)\="103syn match daxFloat "[-+]\=\<\.\d\+\([eE][\-+]\=\d\+\)\="104 105" String and Character constants106syn region daxString start=+"+  end=+"+107 108" DAX Table and Column names109syn region daxTable start=+'+ms=s+1  end=+'+me=e-1110syn region daxColumn matchgroup=daxParen start=/\[/ end=/\]/111 112" Operators113syn match daxOperator "+"114syn match daxOperator "-"115syn match daxOperator "*"116syn match daxOperator "/"117syn match daxOperator "\^"118syn match daxOperator "\ NOT(\s\|\\)"119syn match daxOperator "\ IN\ "120syn match daxOperator "&&"121syn match daxOperator "&"122syn match daxOperator "\\|\\|"123syn match daxOperator "[<>]=\="124syn match daxOperator "<>"125syn match daxOperator "="126syn match daxOperator ">"127syn match daxOperator "<"128 129" Comments130syn region daxComment start="\(^\|\s\)\//"   end="$" contains=daxTodo131syn region daxComment start="/\*"  end="\*/" contains=daxTodo132 133" Define highlighting134hi def link daxComment          Comment135hi def link daxNumber           Number136hi def link daxFloat            Float137hi def link daxString           String138hi def link daxStatement        Keyword139hi def link daxOperator         Operator140hi def link daxFunction         Function141hi def link daxTable            Number142hi def link daxColumn           Statement143hi def link daxParen            Delimiter144hi def link daxTodo             Todo145 146let b:current_syntax = "dax"147 148let &cpo = s:keepcpo149unlet! s:keepcpo150 151" vim: ts=8152 
codekingpro/portable-devtools · Team Ai