Tips for Using Macros
When setting up DivePort, do the following to ensure that clicking on a row passes its value to another page:
- Use the BASE_URI macro instead of a hard-coded server name. This provides portability and simplicity.
- Use hash ('#') parameters instead of query ('?') parameters. This is faster and produces less flickering.
- Use a space instead of %20.
- Use ROW_DATA or ROW_STRING.
- Use a Portal Page click action with Row scope in any portlet. The portal page click action automatically handles dive-value parameter passing.
- Use a Web Page click action with Row scope in a Measures portlet.
- Using a QuickView portlet works equally well as a page without one.
- If the macro name or other argument contains one or more spaces, enclose the name or argument in double quotation marks. For example, $(MACRO "Background Color").
- If you enclose the entire macro in quotation marks, and a quoted string is inside the macro, you must escape the internal quotes. For example "$(MACRO \"Background Color\")".
- If convenient, you can nest macros. For example: "$(ROW_STRING $(MEASURE_NAME))". If you use quotation marks in nested macros, they must be escaped. For example, $(ROW_STRING $(MEASURE_NAME \"Total Units\")).
-
Macros placed within escaped quotation marks, are never evaluated. For example, in $(ROW_STRING \"$(MEASURE_NAME)\"), the MEASURE_NAME macro is not evaluated.