{
    "additionalProperties": false,
    "definitions": {
        "attribute_base": {
            "additionalProperties": false,
            "properties": {
                "description": {
                    "type": "string"
                },
                "format": {
                    "type": "string"
                },
                "info": {
                    "type": "object"
                },
                "label": {
                    "type": "string"
                },
                "missing_value": {
                    "title": "Missing value",
                    "type": [
                        "string",
                        "number",
                        "null",
                        "boolean"
                    ]
                },
                "name": {
                    "type": "string"
                },
                "order": {
                    "enum": [
                        "asc",
                        "desc"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "name"
            ],
            "type": "object"
        }
    },
    "properties": {
        "aggregates": {
            "items": {
                "anyof": [
                    {
                        "type": "string"
                    },
                    {
                        "additionalproperties": false,
                        "allof": [
                            {
                                "$ref": "#/definitions/attribute_base"
                            },
                            {
                                "properties": {
                                    "expression": {
                                        "type": "string"
                                    },
                                    "formula": {
                                        "type": "string"
                                    },
                                    "function": {
                                        "type": "string"
                                    },
                                    "measure": {
                                        "type": "string"
                                    },
                                    "nonadditive": {
                                        "type": "string"
                                    }
                                }
                            }
                        ]
                    }
                ]
            },
            "type": "array"
        },
        "browser_options": {
            "type": "object"
        },
        "category": {
            "type": "string"
        },
        "description": {
            "type": "string"
        },
        "details": {
            "items": {
                "anyof": [
                    {
                        "type": "string"
                    },
                    {
                        "additionalproperties": false,
                        "allof": [
                            {
                                "$ref": "#/definitions/attribute_base"
                            },
                            {
                                "properties": {
                                    "locales": {
                                        "items": {
                                            "type": "string"
                                        },
                                        "type": "array"
                                    }
                                }
                            }
                        ]
                    }
                ]
            },
            "title": "Detail Attributes",
            "type": "array"
        },
        "dimensions": {
            "items": {
                "title": "Dimension name",
                "type": [
                    "string",
                    "object"
                ]
            },
            "title": "Dimensions",
            "type": "array"
        },
        "fact": {
            "type": "string"
        },
        "hierarchies": {
            "patternProperties": {
                ".*": {
                    "items": {
                        "title": "Hierarchy",
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "implicit_aggregates": {
            "type": "boolean"
        },
        "info": {
            "type": "object"
        },
        "joins": {
            "type": "array"
        },
        "key": {
            "type": "string"
        },
        "label": {
            "type": "string"
        },
        "mappings": {
            "type": "object"
        },
        "measures": {
            "items": {
                "anyof": [
                    {
                        "type": "string"
                    },
                    {
                        "additionalproperties": false,
                        "allof": [
                            {
                                "$ref": "#/definitions/attribute_base"
                            },
                            {
                                "properties": {
                                    "aggregates": {
                                        "type": "array"
                                    },
                                    "expression": {
                                        "type": "string"
                                    },
                                    "nonadditive": {
                                        "type": "string"
                                    }
                                }
                            }
                        ]
                    }
                ]
            },
            "type": "array"
        },
        "name": {
            "type": "string"
        },
        "store": {
            "type": "string"
        }
    },
    "required": [
        "name"
    ],
    "title": "Cube",
    "type": "object"
}