First of all, I would like to explain how the point layer works.
The point layer need two dimensions:
1. The first dimension for location/point name
2. The second dimension for two coordinates of the location/point
When the user drags a field/dimension to be the first dimension of the point layer, the map will search for geo-fields (i.e. fields with the tag $geopoint) connected to the first dimension. If there is only one geo-field connected to the first dimension then it will AUTOMATICALLY choose that geo-field as the second dimension of the point layer. If there are more than one geo-fields connected to the first dimension then these geo-fields will be displayed for the user to choose. If there is no geo-field connected to the first dimension then the map will display the message "The action you are attempting cannot be applied to this visualization".
Regarding to your case, the difference between the two scenarios is that:
- When you create a point dimension in library by using GeoMakePoint, this dimension doesn't has the tag $geopoint right away (UNTIL it is evaluated by the engine). That's why it cannot be used as a geo-point dimension if you don't evaluate it first.
- When you use GeoMakePoint in the load script to create a point field, this field is evaluated when the script is loaded and then it has the tag $geopoint (to specify this field can be used as a geo-point field to create a point layer).
So one way you can use GeoMakePoint-dimension in the library is that:
1. Evaluate it first by drag-n-drop this dimension in to the sheet to create a filter pane, or drag-n-drop it into a table.
2. Drag-n-drop a field or dimension to which the GeoMakePoint-dimension connected to the point layer.
If you need more help just attach your qvf file I may guide you further.
Any way we will investigate more into this to make using GeoMakePoint as simple as drag-n-drop other fields/dimensions.
If you watch the video that Mike Tarallo https://www.youtube.com/watch?v=aqJ17wOx-ow does on setting up the geo key, then you'll see his explanation of the Master Items as the repository for this dimension and that its as simple as a drag and drop into a map.
There is no requirement for evaluating the geokey by dragging it to a filter or table object on the sheet.
As I say, I can do all this happiliy in the load script, its the master item definition I have an issue with.
Thanks for your reply though.
My guess is that you tried to create the GeoKey as a calculated Dimension using the geomakepoint formula, but as you discovered by yourself, the geo fields (points, areas) must be created in the data model either using a KML or by loading the coordinates from another data source (database table, excel file, txt file, etc.) and tagging them with the TAG FIELD sentence and the '$geopolygon', '$geopoint', etc. tags so you can use those fields in a map.
Hello Paul - I just tested this again and you are correct - this is no longer working (as it did in the video) when created as a Dimension in the master items list. I will bring this to the attention of R&D. Thanks for letting us know - it seems that using the script is the best way for now.
I assume you are using Qlik Sense Desktop and not Server? Note, I understand you may not want a user to code the geokey, when they reload their data - but they don't need to code this every time they reload if the same app - once the GeoMakePoint() loads the key it is in the data model and available to all sheets and objects in the app. Each App that is created would need this GeoMakePoint function along with the data load - as the Master Items Dimensions and Measures are available per APP, not per a centralized repository.
Let us know how else we can help.
Please mark the appropriate replies as CORRECT / HELPFUL so our team and other members know that your question(s) has been answered to your satisfaction.
Thankyou for the confirmation of this issue. Yes this is Desktop, I have not had and opportunity to test on the Server version.
Indeed, I have coded this in the loader and then it gets added to master items by way of the Model, with careful explanation I think a user that at least has grounding in Excel formulas should cope with a minor change to the load script.