MicroStrategy Functions Reference
Standard Functions   
2
© 2011 MicroStrategy, Inc.
Date and time functions   
127
Syntax
MonthStartDate(Date/Time)
Where:
Date/Time is the input date or timestamp.
For information on whether your database supports various date and time 
functions, refer to Appendix A, MicroStrategy and Database Support for 
Functions.
Example
MonthStartDate('2004-07-29') = 2004-07-01
MonthStartDate('2004-07-29 02:00:00') = 2004-07-01
MonthsBetween
Returns the difference in months between two dates as an integer value. The 
difference is calculated by the number of months elapsed and not by the 
number of month boundaries crossed. If the first date argument is later than 
the second date argument, the result is a negative number. The result does 
not display the timestamps, as they are truncated before performing the 
calculation. 
Syntax
MonthsBetween(Date/Time1, Date/Time2)
Where:
• Date/Time1 is the start date.
• Date/Time2 is the end date.
For information on whether your database supports various date and time 
functions, refer to Appendix A, MicroStrategy and Database Support for 
Functions.
Example
MonthsBetween('2004-07-29', '2004-02-28') = -5
Pdf data extraction - extract form data from PDF in C#.net, ASP.NET, MVC, Ajax, WPF
Help to Read and Extract Field Data from PDF with a Convenient C# Solution
extracting data from pdf into excel; extract data from pdf into excel
Pdf data extraction - VB.NET PDF Form Data Read library: extract form data from PDF in vb.net, ASP.NET, MVC, Ajax, WPF
Convenient VB.NET Solution to Read and Extract Field Data from PDF
extract data from pdf file; extracting data from pdf to excel
Standard Functions
MicroStrategy Functions Reference
2
128
Date and time functions
© 2011 MicroStrategy, Inc.
MonthsBetween('2004-07-29 02:00:00', '2004-09-29 
01:00:00') = 2
Quarter 
Returns the number of the quarter in the year of the input date. The return 
value is an integer between 1 and 4.
Syntax
Quarter(Argument)
Where:
Argument is a metric representing a list of dates.
For information on whether your database supports various date and time 
functions, refer to Appendix A, MicroStrategy and Database Support for 
Functions.
Example
Input is the date 5/16/2003; output is the integer 2.
Input is the date 2003/9/3; output is the integer 4.
Second
Returns the integer value for the second of the input time. The return value is 
an integer between 0 and 59.
Syntax
Second(Argument)
Where:
Argument is a metric representing a list of dates and times.
For information on whether your database supports various date and time 
functions, refer to Appendix A, MicroStrategy and Database Support for 
Functions.
VB.NET PDF Text Extract Library: extract text content from PDF
Application. Advanced Visual Studio .NET PDF text extraction control, built in .NET framework 2.0 and compatible with Windows system.
how to make a pdf form fillable in reader; extract table data from pdf
C# PDF Text Extract Library: extract text content from PDF file in
Image text extraction control provides text extraction from PDF images and image files. Best C#.NET PDF text extraction library and component for free download.
export pdf form data to excel spreadsheet; using pdf forms to collect data
MicroStrategy Functions Reference
Standard Functions   
2
© 2011 MicroStrategy, Inc.
Date and time functions   
129
Example
Input is the time 9:45:13 am; output is the integer 13.
Input is the time 11:10:47 pm; output is the integer 47.
Week 
Returns the number of the week in the year of the input date. The return 
value is an integer between 1 and 54.
Syntax
Week(Argument)
Where:
Argument is a metric representing a list of dates.
For information on whether your database supports various date and time 
functions, refer to Appendix A, MicroStrategy and Database Support for 
Functions.
Example
Input is the date 5/16/2003; output is the integer 20.
Input is the date 2003/9/9; output is the integer 37.
Year 
Returns the year of the input date. The return value is an integer between 
1900 and 9999.
Syntax
Year(Argument)
Where:
Argument is a metric representing a list of dates.
VB.NET PDF Image Extract Library: Select, copy, paste PDF images
Support PDF Image Extraction from a Page, a Region on a Page, and PDF Document in VB.NET Project. DLLs for PDF Image Extraction in VB.NET.
export pdf form data to excel; extract pdf data to excel
VB.NET PDF Page Extract Library: copy, paste, cut PDF pages in vb.
VB.NET PDF - PDF File Pages Extraction Guide. Detailed VB.NET Guide for Extracting Pages from Microsoft PDF Doc. Free PDF document
extracting data from pdf forms to excel; save pdf forms in reader
Standard Functions
MicroStrategy Functions Reference
2
130
Date and time functions
© 2011 MicroStrategy, Inc.
For information on whether your database supports various date and time 
functions, refer to Appendix A, MicroStrategy and Database Support for 
Functions.
Example
Input is the date 5/16/2003; output is the integer 2003.
Input is the date 2002/9/9; output is the integer 2002.
YearEndDate 
Returns the date of the last day of the year in which a date or timestamp 
occurs.
Syntax
YearEndDate(Date/Time)
Where:
Date/Time is the input date or timestamp.
For information on whether your database supports various date and time 
functions, refer to Appendix A, MicroStrategy and Database Support for 
Functions.
Example
YearEndDate('2004-07-29') = 2004-12-31
YearEndDate('2004-07-29 02:00:00') = 2004-12-31
YearStartDate
Returns the date of the first day of the year in which a date or timestamp 
occurs.
Syntax
YearStartDate(Date/Time)
C# PDF Image Extract Library: Select, copy, paste PDF images in C#
Document. Support PDF Image Extraction from a Page, a Region on a Page, and PDF Document. C# Project: DLLs for PDF Image Extraction. In
extract data from pdf form fields; pdf form data extraction
VB.NET PDF Library SDK to view, edit, convert, process PDF file
PDF Text Extraction. Mature and robust APIs are provided for programmers to integrate and perform PDF text extraction feature in .NET windows and web project.
pdf data extraction; extract data from pdf
MicroStrategy Functions Reference
Standard Functions   
2
© 2011 MicroStrategy, Inc.
Internal functions   
131
Where:
Date/Time is the input date or timestamp.
For information on whether your database supports various date and time 
functions, refer to Appendix A, MicroStrategy and Database Support for 
Functions.
Examples
YearStartDate('2004-07-29') = 2004-01-01
YearStartDate('2004-07-29 02:00:00') = 2004-01-01
Internal functions
The following are internal function types:
• MicroStrategy Apply, or Pass-through, functions provide access to 
functionality that is not standard in MicroStrategy but is available in 
many Relational Database Management Systems (RDBMS). These 
MicroStrategy functions act as containers for non-standard SQL 
expressions passed to your warehouse database. The Microstrategy Apply 
functions are listed below:
‡ 
ApplyAgg defines simple metrics or facts using group-value 
aggregation functions.
‡ 
ApplyComparison defines custom filters using comparison 
operators.
‡ 
ApplyLogic defines custom filters using logical operators.
‡ 
ApplyOLAP defines compound functions using database-specific 
OLAP functions such as Rank and RunningSlope.
‡ 
ApplySimple uses simple operators and functions like “+”, “-”, and 
“*” to perform single-value operations at the database level.
• Banding functions are used to differentiate displayed data on a report. 
You can divide data into bands in the following ways:
‡ 
Banding distributes the values into bands of equal size.
‡ 
BandingC distributes values into a specified number of bands.
C#: Demos and Sample Codes for Image Content Extraction Using OCR
C# Sample Code for Png Image Text Extraction. This C# OCR demo code illustrates how to extract text from Png and save to png.pdf. // Set the training data path.
cannot save pdf form in reader; pdf form save in reader
C# PDF File Permission Library: add, remove, update PDF file
Form Process. Data: Read, Extract Field Data. Data: Auto Fill-in Field Data. Field: Insert Choose to offer PDF annotation and content extraction functions.
pdf data extraction to excel; extract table data from pdf to excel
Standard Functions
MicroStrategy Functions Reference
2
132
Internal functions
© 2011 MicroStrategy, Inc.
‡ 
BandingP distributes values into bands based on specific intervals of 
values.
• Case functions return specified data based on the evaluation of 
user-defined conditions.
Each of these functions is described in detail in the following subsections.
Apply (Pass-Through) functions
Microstrategy Apply functions provide access to functions or syntactic 
constructs that are not standard in MicroStrategy but are provided by 
various Relational Database Management System (RDBMS) platforms. 

MicroStrategy strongly advises against using Apply functions when 
standard Microstrategy functions can be used to achieve the same 
goal, because using RDBMS functions effectively bypasses the 
validations and other benefits of MicroStrategy products. Using Apply 
functions is recommended only when corresponding functionality 
does not exist in the MicroStrategy product. When you need to use an 
Apply function, Microstrategy encourages you to submit an 
enhancement request for inclusion of the desired feature in a future 
product release.
Syntax common to Apply functions
While each Apply function has its own syntax, the Apply functions share 
several syntactic features:
• The “#n” code in Apply function syntax serves as placeholders for the 
MicroStrategy objects being passed to your database. The index for 
referencing these objects begins with 0 and increases by 1 for each 
successive object passed. For example, ApplySimple("#0 * 
#1",[col1],[col2]) indicates that two items, col1 and col2, 
referenced as #0 and #1, respectively, are being passed to your database 
to be multiplied together (by the database). If the number of references in 
an Apply function (e.g., #0, #1, and so forth) exceeds the number of 
objects passed in that function, MicroStrategy passes the last available 
object in place of the extra reference(s). For example, 
ApplySimple("#0 * #1 * #2 * #3",[col1],[col2]) uses two 
more references than there are arguments to pass, so MicroStrategy 
passes #2 and #3, the extra references, as col2, the last available 
object in the list.
VB.NET PDF File Permission Library: add, remove, update PDF file
Data: Read, Extract Field Data. Data: Auto Fill-in Field Data. Field: Insert, Delete, Update Choose to offer PDF annotation and content extraction functions.
pdf data extraction tool; extract data from pdf to excel
C# PDF File Merge Library: Merge, append PDF files in C#.net, ASP.
Merge Microsoft Office Word, Excel and PowerPoint data to PDF form. PDF document splitting, PDF page reordering and PDF page image and text extraction.
edit pdf form in reader; how to flatten a pdf form in reader
MicroStrategy Functions Reference
Standard Functions   
2
© 2011 MicroStrategy, Inc.
Internal functions   
133
• To use # as a character rather than a placeholder, use four # characters in 
a row. See the syntax below for an example.
ApplyComparison(UPPER(#0) like 
‘Z####%’, Country@DESC)
The SQL for the function is:
Select a.11[COUNTRY_ID] AS COUNTRY_ID 
from [LU_COUNTRY] a11 
where upper(a11.[COUNTRY_NAME]) 
like ‘Z#%’
• Do not use form groups for the attribute form expression when using 
Apply functions, because form groups are ignored by the Analytical 
Engine. Instead, use a single form. For example, instead of using 
Customer@Name, where Name is defined to contain Customer’s first 
name, middle name, and last name, use ID or any other single form.
For more general information on Apply functions as well as an example, see 
Apply (Pass-through) functions, page 11.
ApplyAgg
The ApplyAgg function is used to define simple metrics or facts by using 
database-specific, group-value functions. The ApplyAgg function itself is a 
group-value function and accepts facts, attributes, and metrics as input.
Syntax 
ApplyAgg()
Accepts facts, attributes, and metrics as input. 
All placeholders must begin with #0 and increase in increments of 1.
Example
ApplyAgg(“Regrsxx(#0,#1)”, [Argument 1], [Argument 2] 
{~+} 
Standard Functions
MicroStrategy Functions Reference
2
134
Internal functions
© 2011 MicroStrategy, Inc.
ApplyComparison
ApplyComparison is used to define a filter by populating the WHERE clause 
in the SQL passed to your RDBMS, and can take facts, attributes, and metrics 
as input.
The ApplyComparison function is used with RDBMS comparison 
operators such as >, like, and In.
Syntax 
ApplyComparison()
Example
ApplyComparison ("#0>#1", Store@ID,2)
For another example of the ApplyComparison function, see Example: 
ApplyComparison used to check a prompted date, page 12.
ApplyLogic
The ApplyLogic function is used to define custom filters. It is used with 
logical operators such as AND and OR. ApplyLogic is a logical function.
Syntax 
ApplyLogic()
Accepts logic (Boolean) values as input.
Example
ApplyLogic(“#0 and #1”, Year@ID>2003, Month@ID>200301)
ApplyOLAP
OLAP functions are group-value functions that take a set of data as input and 
generate a set of data as output, usually reordering the set according to some 
criteria. 
MicroStrategy Functions Reference
Standard Functions   
2
© 2011 MicroStrategy, Inc.
Internal functions   
135
ApplyOLAP is the MicroStrategy Apply function tool used for OLAP 
functionality when you wish to use the native capabilities of your RDBMS. It 
is used to define compound metrics via database-specific functions such as 
Rank(). ApplyOLAP, like ApplySimple, is used to define metrics but 
differs in that it only accepts metrics as input.
Syntax 
ApplyOLAP()
Accepts only metrics as input.
Example
ApplyOLAP(“RunningSlope(#0,#1)”, [Metric 1], [Metric 2])
ApplySimple
The ApplySimple function is a single-value function. It is used to insert any 
single-value, database-specific functions and simple operators directly into 
SQL. 
In general, ApplySimple can be used to create the following objects:
• Attribute form
For any Apply function, the attribute form in the arguments 
should be a single form—not a form group. The engine ignores any 
definitions based on attribute forms. 
• Consolidation 
• Custom group
• Fact
• Metric
• Subtotal
• Transformation
For information about consolidations, custom groups, metrics, and 
subtotals, see the MicroStrategy Advanced Reporting Guide.
Standard Functions
MicroStrategy Functions Reference
2
136
Internal functions
© 2011 MicroStrategy, Inc.
Syntax 
ApplySimple()
Accepts facts, attributes, and metrics as input.
Examples of object creation
Examples in custom expressions
• ApplySimple("Datediff(YY,#0,getdate())", 
[BIRTH_DATE])
• ApplySimple("Months_between(sysdate,#0)", 
[CURRENT_DT])
Examples: Incorrect usage
• ApplySimple("Sum(#0)",[Column 1])
• ApplySimple("Count(#0)",[Column 2])
The two examples immediately above are incorrect and should not be used in 
your application because of the following two reasons:
• ApplySimple is a single-value function and therefore can only be used 
with single-value functions. Sum and Count are both group-value 
functions and therefore should not be used with ApplySimple.
• Sum and Count are both MicroStrategy functions and are not 
database-specific; therefore, they should not be used with ApplySimple or 
any other Apply functions.
Expression type
Examples
Attribute
ApplySimple(“Datediff(YY,#0,getdate())”, [BIRTH_DATE]), in which [BIRTH_DATE] 
is an attribute
ApplySimple(“Months_between(sysdate,#0)”,[CURRENT_DT]), in which 
[CURRENT_DT] is an attribute
Compound Metric ApplySimple(“Greatest(#0,#1,#2)”, Metric_1, Metric_2,Metric_3)
ApplySimple(" CASE WHEN #0 between 0 and 100000 THEN 'Low' WHEN #0 
between 100001 and 200000 THEN 'Med' ELSE 'High' END ", Sum(Revenue){~})
Documents you may be interested
Documents you may be interested