python cubes逻辑模型和元数据(靠google翻译+个别术语调整)
邏輯模型和元數(shù)據(jù)
邏輯模型從用戶或分析人員的角度描述數(shù)據(jù):記錄如何測量,匯總和報告數(shù)據(jù)。模型獨立于數(shù)據(jù)的物理實現(xiàn)。這種物理上的獨立性使得更容易專注于數(shù)據(jù),而不是專注于如何以易于理解的形式獲取數(shù)據(jù)的方式。
也可以
介紹
邏輯模型使用戶能夠:
-
從業(yè)務(wù)角度看數(shù)據(jù)
-
隱藏數(shù)據(jù)的物理結(jié)構(gòu)(“應(yīng)用程序的使用方式”)
-
指定屬性的概念層次結(jié)構(gòu),例如:
- 產(chǎn)品類別>產(chǎn)品>子類別>產(chǎn)品
- 國家>地區(qū)>縣>城鎮(zhèn)。
-
提供更多描述性的屬性標(biāo)簽以顯示在應(yīng)用程序或報告中
-
元數(shù)據(jù)和數(shù)據(jù)的透明本地化
分析師或報告作者不必知道組織或類別名稱的存儲位置,也不必關(guān)心客戶數(shù)據(jù)是存儲在單個表中還是分布在多個表(客戶,客戶類型等)中。他們只要求提供customer.name或category.code。
除了物理模型上的抽象外,還包括本地化抽象。在多語言環(huán)境中工作時,僅需編寫報告/查詢的一種版本,可以根據(jù)需要切換語言環(huán)境。如果請求“合同類型名稱”,分析人員只需編寫constract_type.name即可,而Cubes框架會考慮值的適當(dāng)本地化。
示例:分析師希望按地理位置報告合同金額,該地理位置有兩個級別:國家級別和地區(qū)級別。在原始物理數(shù)據(jù)庫中,地理信息已規(guī)范化并存儲在兩個單獨的表中,一個表用于國家/地區(qū),另一表用于地區(qū)。分析師不必知道數(shù)據(jù)存儲在哪里,他只需查詢geography.country和/或?geography.region即可獲取正確的數(shù)據(jù)。下圖顯示了如何完成此操作:
從邏輯模型到物理數(shù)據(jù)的映射。
邏輯模型描述了維度地理,其中默認層次結(jié)構(gòu)具有兩個級別:country和region。每個級別可以具有更多屬性,例如代碼,名稱,人口...在我們的示例報告中,我們僅對地理名稱感興趣,即:country.name和region.name。
模型(Model)
使用模型元數(shù)據(jù)字典描述邏輯模型。內(nèi)容是邏輯對象,物理存儲和其他附加信息的描述。
邏輯模型元數(shù)據(jù)
模型說明的邏輯部分:
- name?- 型號名稱
- label–可讀模型標(biāo)簽(可選)
- description–模型的可讀描述(可選)
- locale–寫入模型元數(shù)據(jù)的語言環(huán)境(可選,用于可本地化的模型)
- cubes?–多維數(shù)據(jù)集元數(shù)據(jù)列表(見下文)
- dimensions?–維度元數(shù)據(jù)列表(請參見下文)
模型說明的物理部分:
- store–存儲模型的多維數(shù)據(jù)集的數(shù)據(jù)存儲的名稱。默認值為?default。有關(guān)更多信息,請參見分析工作區(qū)。
- mappings-特定于后端的邏輯到物理映射字典。該字典由模型中的每個多維數(shù)據(jù)集繼承。
- joins-特定于后端的連接規(guī)范(例如在SQL后端中使用)。它應(yīng)該是詞典列表。該列表由模型中的多維數(shù)據(jù)集繼承。
- browser_options–傳遞給瀏覽器的選項。選項與多維數(shù)據(jù)集中的選項合并。
模型片段示例:
{"name": "public_procurements","label": "Public Procurements of Slovakia","description": "Contracts of public procurement winners in Slovakia""cubes": [...]"dimensions": [...] }?
映射和聯(lián)接(Mappings and Joins)
可以指定共享映射并在模型級別上進行聯(lián)接。這些映射和聯(lián)接被模型中的所有多維數(shù)據(jù)集繼承。
mappigns多維數(shù)據(jù)集的字典與模型的全局映射字典合并。多維數(shù)據(jù)集的值將覆蓋模型的值。
該joins可視為命名模板。它們應(yīng)包含?name將由多維數(shù)據(jù)集引用的屬性。
可見性:聯(lián)接和映射對于單個模型而言是本地的。它們不在工作空間內(nèi)共享。
繼承(Inheritance)
模型中的多維數(shù)據(jù)集將繼承該模型的映射并進行聯(lián)接。以多維數(shù)據(jù)集的映射替換具有相同名稱的現(xiàn)有模型的映射的方式合并映射。連接按其名稱串聯(lián)或合并。
SQL后端的示例:假設(shè)您要將日期維度表加入dim_date每個多維數(shù)據(jù)集。然后,您在模型級別將聯(lián)接指定為:
"joins": [{"name": "date","detail": "dim_date.date_id","method": "match"} ]聯(lián)接具有指定的名稱,該名稱用于匹配多維數(shù)據(jù)集中的聯(lián)接。請注意,聯(lián)接包含不完整的信息:它僅包含detail?部分,即維度健(dimession key)。要在具有兩個日期維的開始日期和結(jié)束日期的多維數(shù)據(jù)集中使用聯(lián)接,請執(zhí)行以下操作:
"joins": [{"name": "date","master": "fact_contract.contract_start_date_id",},{"name": "date","master": "fact_sales.contract_sign_date_id",} ]?
在模型的聯(lián)接中搜索具有給定名稱的模板,然后多維數(shù)據(jù)集完成(甚至替換)聯(lián)接信息。
有關(guān)映射和聯(lián)接的更多信息,請參閱您的數(shù)據(jù)存儲的后端文檔,例如?SQL
文件表示
該模型可以表示為JSON文件或帶有JSON文件的目錄。單文件模型規(guī)范只是具有模型屬性的字典。模型目錄捆綁軟件應(yīng)具有以下內(nèi)容:
- model.json?–模型的主元數(shù)據(jù)–與單文件模型相同
- dim_*.json?–維元數(shù)據(jù)文件–單維字典
- cube_*.json?–多維數(shù)據(jù)集元數(shù)據(jù)–單個多維數(shù)據(jù)集字典
中的維度和多維數(shù)據(jù)集列表model.json與單獨文件中的維度和多維數(shù)據(jù)集合并。避免重復(fù)定義。
示例目錄捆綁模型:
model.cubesmodel /model.jsondim_date.jsondim_organization.jsondim_category.jsoncube_contracts.jsoncube_events.json模型提供者和外部模型
如果模型是從外部來源(例如API或數(shù)據(jù)庫)提供的,則應(yīng)該在中指定提供者的名稱provider。
提供者接收模型的元數(shù)據(jù)和模型的數(shù)據(jù)存儲(如果提供者愿意)。然后,提供程序?qū)⑸伤卸嗑S數(shù)據(jù)集和維度。
由外部來源(Mixpanel)提供的模型示例:
{ “ name” : “ Events” ,“ provider” : “ mixpanel” }筆記
生成的模型中的多維數(shù)據(jù)集和維度僅對模型提供者有用。提供程序可以產(chǎn)生元數(shù)據(jù)中指定的一組不同的多維數(shù)據(jù)集和維度。
也可以看看
cubes.ModelProvider()
從文件或URL加載模型。
cubes.StaticModelProvider()
從字典創(chuàng)建模型。
維度可見性(Dimension Visibility)
默認情況下,靜態(tài)(文件)模型的所有維度在工作空間中共享。這意味著這些維度可以在不同模型的多維數(shù)據(jù)集中自由重用。
可以定義僅包含維度而沒有多維數(shù)據(jù)集的主模型。然后為每個多維數(shù)據(jù)集類別,數(shù)據(jù)集市或任何其他類別定義一個模型。這些模型可以共享主模型維度。
要僅公開模型中的某些維度,請在public_dimensionsmodel屬性中指定維度名稱列表。工作區(qū)中的其他多維數(shù)據(jù)集只能共享列表中的維度。
筆記
某些后端(例如Mixpanel)根本不共享維度
立方體
立方描述存儲為字典鍵cubes在模型中描述的字典或前綴JSON文件cube_一樣?cube_contracts。
| 基本的(邏輯的) | ? |
| name?* | 多維數(shù)據(jù)集名稱,唯一標(biāo)識符。必需的。 |
| label | 可讀的名稱-可以在應(yīng)用程序中使用 |
| description | 多維數(shù)據(jù)集的更長的人類可讀描述(可選) |
| info | 自定義信息,例如格式。多維數(shù)據(jù)集框架未使用。 |
| dimensions?* | 維度名稱或維度鏈接的列表(推薦,但對于無維度的多維數(shù)據(jù)集可能為空)。推薦的。 |
| measures | 多維數(shù)據(jù)集度量值列表(推薦,但對于無度量值而言,可能為空,僅記錄計數(shù)的多維數(shù)據(jù)集)。推薦的。 |
| aggregates | 匯總度量值列表。如果未指定任何措施,則為必需。 |
| details | 事實詳細信息列表(作為屬性)-與聚合無關(guān),但在顯示事實時很好用的屬性(可以單獨存儲) |
| 物理的(存儲性質(zhì)) | ? |
| joins | 物理表聯(lián)接的規(guī)范(星型/雪花模式必需) |
| mappings | 邏輯屬性到物理屬性的映射 |
| key | 事實鍵字段或列名。如果未指定,則后端可能拒絕生成事實,也可能使用某些默認列名,例如?id。 |
| fact | 事實表,集合或源名稱-由后端解釋。事實表不必指定,因為大多數(shù)后端將從多維數(shù)據(jù)集的名稱派生名稱。 |
| 高級部分 | ? |
| browser_options | 瀏覽器特定的選項,請查閱后端以獲取更多信息 |
| store | 存儲多維數(shù)據(jù)集的數(shù)據(jù)存儲的名稱。僅當(dāng)默認商店分配與您的要求不同時才使用此選項。 |
標(biāo)有*為必填項。
例子:
{"name": "sales","label": "Sales","dimensions": [ "date", ... ]"measures": [...],"aggregates": [...],"details": [...],"fact": "fact_table_name","mappings": { ... },"joins": [ ... ] }記
該key會由一些后端,如SQL是必需的,以便能夠生成詳細的事實或獲得一個事實。請參閱后端的文檔以獲取更多信息。
度量和匯總
衡量和衡量總和
度量是事實的數(shù)字屬性。例如,它們可能表示為表格列。度量匯總到度量匯總中。該措施描述為:
- name?–度量標(biāo)識符(必填)
- label?–顯示的人類可讀名稱(本地化)
- info?–其他自定義信息(未指定)
- aggregates–為此措施提供的匯總功能列表。此屬性用于自動生成默認聚合。強烈建議顯式列出聚合,并避免使用此屬性。
- window_size–窗口功能(例如移動平均值)在窗口中的元素數(shù)量。如果未提供且功能需要,則假定為1(一個元素)。
例子:
“ measures” : [ { “ name” : “ amount” ,“ label” : “ Sales Amount” },{ “ name” : “ vat” ,“ label” : “ VAT” } ]度量聚合是通過對事實聚合度量而計算出的值。它的屬性是:
- name–集合標(biāo)識符,例如:amount_sum,price_avg,?total,record_count
- label?–顯示的人類可讀標(biāo)簽(本地化)
- measure–測量聚合的來源(如果存在或已知)??赡苁强盏?。
- function-應(yīng)用于度量的聚合函數(shù)的名稱(如果已知)。例如:sum,min,max。
- window_size–窗口功能(例如移動平均值)在窗口中的元素數(shù)量。如果未提供且功能需要,則假定為1(一個元素)。
- info?–其他自定義信息(未指定)
例子:
“ aggregates” : [ {{ name“ : ” amount_sum“ ,” label“ : ”總銷售額“ ,” measure“ : ” amount“ ,” function“ : ” sum“ },{ ” name“ : ” vat_sum“ ,“ label” : “總增值稅” ,“ measure” : “ vat” ,“ function” : “ sum” },{ “ name” : “item_count” ,“ label” : “ Item Count” ,“ function” : “計數(shù)” } ]注意最后一個合計item_count–它計算一個單元格中事實的數(shù)量。無需采取任何措施作為匯總的來源。
如果未指定聚合,則多維數(shù)據(jù)集將根據(jù)度量生成默認聚合。對于措施:
“ measures” : [ { “ name” : “ amount” ,“ aggregates” : [ “ sum” , “ min” , “ max” ] } ]創(chuàng)建了以下聚合:
“ aggregates” = [ {{ “ name” : “ amount_sum” ,“ measure” : “ amount” ,“ function” : “ sum” },{ “ name” : “ amount_min” ,“ measure” : “ amount” ,“ function “ : ” min“ },{ ” name“ : ” amount_max“ ,” measure“ : ” amount“ ,” function“ : ” max“} ]如果多維數(shù)據(jù)集中已經(jīng)明確指定了一個聚合列表,則兩個列表將合并在一起。
筆記
為了防止根據(jù)度量自動創(chuàng)建默認聚合,有一個高級多維數(shù)據(jù)集選項implicit_aggergates。如果只想保留明確的聚合列表,則將此屬性設(shè)置為?False。
在以前的多維數(shù)據(jù)集版本中,有無處不在的度量聚合稱為record_count。默認情況下不再提供它,而必須在模型中明確定義。名稱可以是任何選擇,它不再是內(nèi)置聚合。為了保持原始行為,應(yīng)添加以下匯總:
“ aggregates” : [ { “name” : “ record_count” ,“ function” : “ count” } ]筆記
某些總量不必從度量中計算出來。它們可能已經(jīng)由數(shù)據(jù)存儲提供為計算的聚合值(例如Mixpanel的total)。在這種情況下,度量和功能?僅用于后端或用于信息目的。有關(guān)匯總和度量的更多信息,請查閱后端文檔。
也可以看看
cubes.Cube
多維數(shù)據(jù)集類參考。
cubes.Measure
衡量課程參考。
cubes.MeasureAggregate
度量匯總類參考。
自定義維度鏈接
可以指定如何將維度鏈接到多維數(shù)據(jù)集。該?dimensions列表除維名稱外,還可能包含一個規(guī)范,說明如何在多維數(shù)據(jù)集的上下文中使用維。該規(guī)范可能包含:
- hierarchies(等級/層級)–與多維數(shù)據(jù)集相關(guān)的層次結(jié)構(gòu)列表。例如,日期維度可能被定義為具有日粒度,但是某些多維數(shù)據(jù)集可能僅處于月份級別(level)。要僅指定相關(guān)的層次結(jié)構(gòu),請使用hierarchies元數(shù)據(jù)屬性:
- exclude_hierarchies–克隆原始維度時要排除的層次結(jié)構(gòu)。hierarchies如果想保留大多數(shù)層次結(jié)構(gòu)并僅刪除其中的幾個層次結(jié)構(gòu),請使用此方法代替hierarchies。
- default_hierarchy_name?–多維數(shù)據(jù)集上下文中維的默認層次結(jié)構(gòu)名稱
- cardinality–關(guān)于多維數(shù)據(jù)集的維數(shù)基數(shù)。例如,一個多維數(shù)據(jù)集可能包含housands產(chǎn)品類型,另一個可能只有少數(shù),但它們都共享相同的產(chǎn)品維度
- ps:維度的基數(shù)(Cardinality)指的是該維度在數(shù)據(jù)中出現(xiàn)的不同值的個數(shù);例如一個國家是一個維度,如果有200個不同的值,那么此維度的基數(shù)是200
- alias–如何在多維數(shù)據(jù)集中調(diào)用維度。例如,您可能有兩個日期維度,并使用別名將它們命名為start_date和?end_date
例子:
{ “ name” : “ churn” ,“ dimensions” : [ { “ name” : “ date” , “ hierarchies” : [ “ ym” , “ yqm” ]},“ customer” ,{ “ name” : “ date” , “ alias” : “ contract_date” } ],... }上面的多維數(shù)據(jù)集將具有三個維度:date,customer和?contract_date。該日期維度將只有兩個層級與最低粒度月,在客戶維度將被指定為-是和contract_date維度將是相同的原始日期?維度。
維度
維度描述存儲在模型字典中(在關(guān)鍵字?dimensions下)。
維度描述-屬性。
維度描述包含鍵:
| basic | ? |
| name?* | 維度名稱,用作標(biāo)識符 |
| label | 可讀的名稱-可以在應(yīng)用程序中使用 |
| description | 人可讀的維度描述(可選) |
| info | 自定義信息,例如格式。傳遞到前端。 |
| levels | 級別描述列表 |
| hierarchies | 維度層次結(jié)構(gòu)列表 |
| default_hierarchy_name | 將用作默認名稱的層次結(jié)構(gòu)的名稱 |
| 高級 | ? |
| cardinality | 維度基數(shù)(有關(guān)更多信息,請參見級別) |
| role | 維度角色 |
| category | 邏輯類別(面向用戶的元數(shù)據(jù)) |
| template | 用作模板的維度的名稱 |
ps:一個維度可以有多個hierarchies如上面的一個例子,維度有ym 、yqm? 二個hierarchies(老夫注)
標(biāo)有*為必填項。
如果未指定級別(levels?),則將創(chuàng)建一個默認級別。
如果未指定層次結(jié)構(gòu)(hierarchies),則默認層次結(jié)構(gòu)將包含維度的所有級別。(If no hierarchy is specified, then the default hierarchy will contain all levels of the dimension.)
例子:
{ “ name” : “ date” ,“ label” : “Dátum” ,“ levels : [ ... ] ” hierarchies“ : [ ... ] }使用hierarchies或hierarchy只能二選一,兩者都使用會導(dǎo)致錯誤。
維度模板
如果要創(chuàng)建更多具有相同或相似結(jié)構(gòu)的維度,例如多個日期或不同類型的組織關(guān)系,則可以創(chuàng)建模板維度,然后將其用作其他維度的基礎(chǔ):
“ dimensions” = [ { “ name” : “ date” ,“ levels” : [...] },{ “ name” : “ creation_date” ,“ template” : “ date” },{ “ name” : “ closing_date “ ,” template“ : ” date“ } ]模板維度中的所有屬性都將復(fù)制到新維度??梢栽谛戮S度中重新定義屬性。在這種情況下,舊值將被丟棄。您可以更改級別,層次結(jié)構(gòu)或默認層次結(jié)構(gòu)。無法從模板添加或刪除級別,如果所有新級別與原始模板維度不同,則必須再次指定所有新級別。但是,您可能只想重新定義層次結(jié)構(gòu)以忽略不必要的級別。
筆記
在映射中,應(yīng)使用新維度的名稱。模板維度僅用于創(chuàng)建新維度,并且新維度與模板之間的連接丟失。在上面的示例中,如果多維數(shù)據(jù)集使用creation_date和closeing_date維度,并且需要任何映射,則它們應(yīng)用于這兩個維度,而不是日期維度。
level
維度層次結(jié)構(gòu)級別(Dimension hierarchy levels)描述為:
| name?* | 級別名稱,用作標(biāo)識符 |
| label | 可讀的名稱-可以在應(yīng)用程序中使用 |
| attributes | 與級別相關(guān)的其他附加屬性的列表。該屬性未用于聚合,它們提供了其他有用的信息。 |
| key | 級別的關(guān)鍵字段(客戶級別的客戶編號,地區(qū)級別的地區(qū)代碼,月份級別的年月)。鍵將用作聚合的分組字段。密鑰在級別內(nèi)應(yīng)該是唯一的。 |
| label_attribute | 包含要顯示的標(biāo)簽的屬性名稱(客戶級別的客戶名稱,地區(qū)級別的區(qū)域名稱,月份級別的月份名稱) |
| order_attribute | 用于排序的屬性名稱,默認為第一個屬性(鍵) |
| cardinality | 類似成員數(shù)量的符號 |
| role | 等級角色(見下文) |
| info | 自定義信息,例如格式。多維數(shù)據(jù)集框架未使用。 |
標(biāo)有*為必填項。
如果未指定任何屬性,則僅假設(shè)一個屬性具有與級別相同的名稱。
如果未指定鍵,則采用第一個屬性。
如果未指定label_attribute,則如果level具有多個屬性,則假定第二個屬性,否則使用第一個屬性。
日期維度的月份級別示例:
{ “ month” ,“ label” : “ Mesiac” ,“ key” : “ month” ,“ label_attribute” : “ month_name” ,“ attributes” : [ “ month” , “ month_name” , “ month_sname” ] },供應(yīng)商維度的供應(yīng)商級別示例(supplier level of supplier dimension):
{ “ name” : “供應(yīng)商” ,“ label” : “Dodávate?” ,“ key” : “ ico” ,“ label_attribute” : “ name” ,“ attributes” : [ “ ico” , “ name” , “ address” , “ date_start” , “ date_end” ,“ legal_form” ] }也可以看看
cubes.Dimension
維度類參考
cubes.create_dimension()
從描述字典創(chuàng)建維度對象。
cubes.Level
等級課程參考
cubes.create_level()
從描述字典創(chuàng)建關(guān)卡對象。
筆記
在擁有l(wèi)evel的維度中,level屬性名稱必須唯一。
基數(shù)
后端和前端可以選擇將基數(shù)屬性用于各種目的。可能的值為:
- tiny?–幾個值,每個值都可以在屏幕上顯示出來,建議:最多5個。
- low?–可以在列表UI元素中使用,建議使用5到50(如果已排序)
- medium?– UI元素是搜索/文本字段,建議用于50個以上的元素
- high?–后端可能會拒絕在沒有明確分頁或切入該級別的情況下產(chǎn)生結(jié)果。
Hierarchy
層次結(jié)構(gòu)(Hierarchies)描述為:
| name | 層次結(jié)構(gòu)名稱,用作標(biāo)識符 |
| label | 可讀的名稱-可以在應(yīng)用程序中使用 |
| levels | 級別名稱從上到下的排序列表-從最高層到最詳細(例如:從年到日,從國家到城市) |
僅要求名稱。
例子:
“ hierarchies” : [ { “ name” : “ default” ,“ levels” : [ “ year” , “ month” ] },{ “ name” : “ ymd” ,“ levels” : [ “ year” , “ month” , “ day” ] },{ “ name” : “ yqmd” ,“ levels” : [ “ year” , “ quarter” , “ month”, “ day” ] } ]屬性(Attributes)
維度級別屬性可以指定為豐富的元數(shù)據(jù),也可以僅指定為字符串。如果僅指定字符串,則所有屬性元數(shù)據(jù)將具有默認值,label將等于屬性名稱。
| name | 屬性名稱(在維度內(nèi)應(yīng)該是唯一的) |
| label | 易讀的名稱-可以在應(yīng)用程序中使用,可本地化 |
| order | 屬性的自然順序(可選),可以是asc或desc |
| format | 特定于應(yīng)用程序的顯示格式信息 |
| missing_value | 當(dāng)源中沒有值(NULL)時要替換的值(后端必須支持此功能) |
| locales | 屬性值可用的語言環(huán)境列表(可選) |
| info | 自定義信息,例如格式。多維數(shù)據(jù)集框架未使用。 |
可選順序用于聚合瀏覽和報告。如果指定,則所有查詢都將具有按此字段按指定方向排序的結(jié)果。級別層次結(jié)構(gòu)用于對有序?qū)傩赃M行排序。每個維度級別只能指定一個有序?qū)傩?#xff0c;否則該行為是不可預(yù)測的。此自然(或默認)順序可以稍后在報表中通過顯式指定其他排序方向或?qū)傩詠砀采w。顯式順序優(yōu)先于自然順序。
例如,您可能希望指定默認情況下所有日期都應(yīng)排序:
“ attributes” = [ { “ name” = “ year” , “ order” : “ asc” } ]語言環(huán)境是語言環(huán)境名稱的列表。假設(shè)我們具有CPV維度(通用的采購詞匯-歐盟采購主題層次結(jié)構(gòu)),并且我們以斯洛伐克語,英語和匈牙利語進行報告。因此,屬性將指定為:
“ attributes” = [ { “ name” = “ group_code” },{ “ name” = “ group_name” ,“ order” : “ asc” ,“ locales” = [ “ sk” , “ en” , “ hu” ] } ]組名稱已本地化,但組代碼未本地化。您還可以看到結(jié)果將始終按組名的字母順序升序排序。
在報表中,您沒有為每個本地化的屬性指定區(qū)域設(shè)置,而是為整個報表或瀏覽會話指定了區(qū)域設(shè)置。所有語言的報表查詢均保持不變。
Roles
某些維度和級別可能具有特殊但眾所周知的角色。一個角色的例子是時間。將來可能會有更多公認的角色,例如地理。
關(guān)聯(lián)角色的前端可能會提供不同的用戶界面元素,例如用于選擇日期/時間維度值的日期和時間選擇器。為了使日期選擇器正常工作,前端必須知道,哪個維表示日期,哪個維級別表示日歷單位,例如年,月或日。
必須明確說明維度的作用。不需要前端假定名為date的維度實際上是完整日期的維度。
如果可以識別級別名稱以匹配特定角色,則不必明確提及級別角色。例如,在具有角色時間級別名稱為year的維度中,將自動具有角色year。
當(dāng)級別名稱使用不同的語言或出于任何原因與英語日歷單位名稱不匹配時,必須指定級別角色。
當(dāng)前只有一個公認的維度角色:time。與級別名稱的默認分配認可級別角色是:year,?quarter,month,day,hour,minute,second,week,?weeknum,dow,isoyear,isoweek,isoweekday。
具有角色級別的關(guān)鍵值week應(yīng)具有格式?YYYY-MM-DD。
總結(jié)
以上是生活随笔為你收集整理的python cubes逻辑模型和元数据(靠google翻译+个别术语调整)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 经济萧条时期如何做好市场调研
- 下一篇: 交通运输部办公厅关于印发《收费公路政府