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.