The Perfion Query – SELECT
XML:
<Select languages='EN,DE' view='Virtual,CatalogRoot,Normal,Branded' />
JSON:
"Select": { "languages": "EN", "view": "Virtual,CatalogRoot,Normal,Branded" }
languages | Specifies the languages to be returned (above selects English and German). Specifying '*' resolves to all active languages. |
view | Specifies the types of Items to be returned (can be any single or multiple combination of Virtual, CatalogRoot, Normal or Branded. If e.g. only Normal Items (e.g. Real Products) are wanted, only Normal should be specified. |
Index | Used for Paging through a larger result-set. 0-indexed position of the first Item in the result-set. (default: 0) |
maxCount | Used for Paging through a larger result-set. The maximum number of Items to retrieve, counting from the position specified by the index attribute. (default: everything) |
options | Specifies special Query execution behavior. The following options are available and can be combined (separated by comma): IncludeDebugInfo In addition to the Total Execution time, this option includes Perfion API version and additional Query timing information for time used by pure SQL, retrieval of remote values and other internal data filling or configuration tasks. IncludeTotalCount Includes the total number of found Items matched by the Where clause. Useful when Paging through the result-set. May incur extra execution time for large result-sets. IncludeChildCount Includes a ‘childCount’ attribute value for each Item in the result-set, with the number of child items that have the Item as their parent (Even if these are not contained in the result set). IncludeVisibleChildCount Includes a ‘visableChildCount’ attribute value for each Item in the result-set, with the number of child items that have the Item as their parent and included in the result set. (Introduced from Perfion 2024-R1) This is very useful for e.g. a web-solution for navigating through large hierarchical result-sets, so navigation trees or menu Items know whether they can unfold to display sub-items (lazy- loaded when and only if they are needed). IncludeFeatureViewOrder Includes a ‘viewOrder’ attribute value for all feature elements in the result-set, specifying the appearance ordering of features for each of the individual Items. This is very useful for e.g. a web-solution, making it possible to design fully generic lists and detailed product or item pages with varying information and order of appearance. RemoveUnwantedFeaturesByConfiguration The normal behavior of the Query during retrieval of a result-set containing more than 1 Item, is to determine what features are relevant for any of the Items in the result-set. If a feature is relevant for 1 Item it will be retrieved for all other Items also, such that the entire result-set can be displayed in a list with the same columns available for all Items. When specifying this option, each Item will be treated individually, and only the feature values that are specified to appear for each Item will be retrieved. If presented side-by-side this means that some Items may not display values for some features even though they might have values defined for these features. Which features to display values for is determined by the Configuration of a feature. The exact behavior of this option is determined by wildcard selection of features in combination with the ‘view’ attribute on the Select <Feature> element. This is very useful for e.g. a web-solution, making it possible to design fully generic lists and detailed product or item pages with varying information and order of appearance. IncludeControlInfo Includes additional meta data about the features. Behavior A bitmap encoded value of the feature properties, see table. IsRemote - 0x00000001 Inheritable - 0x00000002 LocalizableValues - 0x00000004 MultiValues - 0x00000008 SelectValues - 0x00000010 AllowHierarchy - 0x00000020 CanOrderValues - 0x00000040 CanOrderItems - 0x00000080 CanOrderRelatedItems - 0x00000100 AllowFormula - 0x00000200 AllowTriStateBoolean - 0x00000400 Example: behavior=”48”. Converted to hex, 48 is 30. Therefore 48 is Select Values (0x00000010) + Allow Hierarchy. Control Default - ”1937D3DA-48F1-41ae-9D0E-BC723CC30176” PEditMultiSelector - “3D46A890-AF1B-4132-8189-2A22B4313A4F” PeditMultiSelectorWithLateLoad - “A4D9101A-50EA-4CBF-88DC-1C620AB4A7E4” PeditMultiChecked - “B95D61D4-34C6-4b25-87BA-7B888C1B0626” PeditTextInline - “78108DC3-9FA2-402f-A6CB-FC22263F9139” PeditSingleSelectTree - “791C8A93-8244-45e2-9A04-88DF275E4D87” PeditSingleSelectTreeWithLateLoad - “823ED7BF-FEE0-42F3-95CA-D00F10C1ACA6” PeditSingleSelectTreeWithPagedLateLoad - “F4C09A76-C7DD-4382-A75b-E0740BD2CEC8” PeditRichText - “E996D0B3-1616-4061-AA49-A743DE6D4732” PeditFraction - “6449F802-392C-4713-8628-4A28D5663374” PeditProgres - “1B94B89D-8B50-4519-9193-CE01BCEB4B20” PeditFormula - “7DF10D10-635F-4A18-BD7E-1240A2BEA85F” PeditSymbol - “2076E3F7-EACA-4922-B203-7FA48BFD4A3A” PeditRtfEditor - “8E54C201-26A4-4041-8954-89B4D02D2256” PeditToggleSwitch - “DA2A75E7-F409-42D0-B552-9B84DA3A18C2” ViewType and FilterType The feature ID of the assigned Views and Filters containers assigned to the feature ExpandClusterQueries Includes all columns for clustered remote features. ExcludeFeatureDefinitions This option will, from version 5.2, exclude the feature definition metadata which is normally included in the <features> element in the response. IncludeConfiguredSwapRelations From version 2024 R1 this option will ensure that all swapped features fetched will be fetched “switching direction”. See more in section “Select Feature as Swap Relation Direction”. OnlyShowSwapRelationMarkers From version 2024 R1 this option will ensure that all swapped features fetched will not have their data, but only a marker indicating that there is data. See more in section “Select Feature as Swap Relation Direction”. |
timezone | From version 4.7 of Perfion the query supports returning all timestamp in the supplied time zone. Time zones supported are all time zones supported by the Windows machine executing the query. These time zones are listed here (and they are pretty static): https://support.microsoft.com/en-us/help/973627/microsoft-time-zone-index-values Note that it is the id of the Time Zone (called “Name of Time Zone” in above page) that needs to be passed into the timezone-attribute, as for example: XML: <Select languages='EN,DE' timezone='Central Europe Standard Time'> JSON: Furthermore Perfion has built in 3 time zone names that are also supported by the timezone-attribute:
Using the time zone not only affects the output timestamps but also any clause using timestamps (“*.ModfiedDate for example). |