查詢策略工具使用方法

  • 確認當前查詢窗口是查詢策略
    • 當我們在窗口按鈕上看到了【修改查詢策略】的菜單,那么就是這個窗口是支持我們自定義查詢策略方案的
    • 查詢策略工具使用方法查詢策略工具使用方法
    • 點擊修改策略進入策略修改窗口
  • 修改查詢策略的窗口功能說明
    • 整體窗口說明查詢策略工具使用方法
      • 上部是策略清單,我們剛剛打開的時候,我們看到的策略都是軟件開發商安仕達軟件幫我們設計好的現成的策略
      • 每一行就是一個策略,一個策略就是一個報表
      • 下面是策略構成的字段列表
      • 我們在策略之間點擊切換,下面的字段內容會跟隨變化查詢策略工具使用方法
  • 策略項目說明
    • 策略ID:只讀屬性,類型是整數,自動生成的唯一策略編號
    • 標準:只讀屬性,類型是邏輯,凡是安仕達軟件產品自帶的策略,稱呼為標準策略,我們自己定義出來的是非標準策略
    • 策略名稱:文字屬性,就是我們理解的報表標題,凡標準策略,則我們不能修改名稱,我們自己定義的策略,就可以修改名稱,強烈建議大家不要使用相同的策略名稱,避免導致混淆
    • 是否使用:可修改屬性,類型是邏輯,我們可以通過雙擊表格來修改這個屬性值。只有 使用中 的策略,才會在查詢窗口的策略清單中顯示出來,見下圖。查詢策略工具使用方法
    • 分組名稱:可修改屬性,類型是文字,這里定義的文字 會影響到查詢報表里面的分類,見下圖
    • 查詢策略工具使用方法
    • 主表名:可修改屬性,類型是文字,這里定義的是策略的主數據來源,這個功能是給安仕達軟件的開發人員去修改的,我們強烈建議大家不要去修改,修改不當可能會導致報表出錯,實際上你完全可以不修改這個屬性來完成你的報表需求
    • 策略類型:可修改屬性,取值可以是 二維表 或者 交叉表,這里定義你需要的報表顯示格式,標準報表不能被修改,自定義報表可以隨便修改。
    • 固定條件:可修過屬性,類型是文字,這里定義的值會影響最終生成的SQL命令內容,這個功能是給安仕達軟件的開發人員去修改的,實際的值跟軟件數據庫表結構設計有關的。安仕達建議大家不要去修改,因為修改不當可能會導致報表出錯,實際上你完全可以不修改這個屬性來完成你的報表需求
    • 備注:可修改屬性,類型是文字,定義的內容不會影響查詢策略,只是讓我們去備注自己修改的策略,避免策略太多以后,自己搞混了。
    • 定義日期:只讀屬性,類型是日期。
    • 明細報表:可修改屬性,類型是邏輯,給安仕達軟件開發人員使用的,在我們自己定義的策略中不需要去填寫這個值,因為我們就不需要開發明細的報表,前面已經說了,查詢明細是沒有意義的。
  • 策略操作培訓
    • 新建方案
      • 增加空白方案:這個功能主要是給安仕達軟件開發人員使用,不建議大家自己去從頭開始定義空白策略
      • 復制添加方案:復制增加當前行的策略到表格的最后一行,大家可以對這個新策略進行自己需要的調整
    • 刪除策略
      • 刪除自己定義的當前行策略,需要注意的是這個操作沒有后悔藥的,如果后悔了,馬上關閉當前窗口,系統問我們要不要補充的時候,選擇“否”
      • 需要注意一點,如果你使用自己定義的大數據查詢報表,之后又刪除了這個策略,這會導致之前查詢的報表以后無法再次查看,原因是軟件已經不知道系統存儲的結果數據是什么意思了。
    • 保存策略
      • 保存自己修改的當前策略
    • 查看策略指令
      • 如果我們掌握了SQL語法的技術水平,可以點擊這個按鈕去看看系統生成的SQL命令是不是我們需要的,如果我們不會SQL語法,就不要去用這個功能查詢策略工具使用方法
    • 策略信息
      • 因為安仕達軟件的查詢策略有時候同時發表了多個版本在用,這個功能幫助我們了解當前的策略是否合適的策略,如果出現問題的時候,安仕達服務人員可以通過看策略信息來確認是不是需要升級新策略查詢策略工具使用方法
  • 字段項目說明
    • 如圖,全部存在這些字段查詢策略工具使用方法
    • 表含義:只讀屬性,文字類型,表示當前字段來自于哪一個數據源,這些數據源是安仕達軟件提前開發設計好的。查詢策略工具使用方法
    • 顯示標題:可修改屬性,文字類型,相當于表示EXCEL表格的當前數據列使用哪一個列標題
    • 排序次序:可修改屬性,整數類型,意思是當前列位置安排在表格中的第幾列
    • 選中:可修改屬性,邏輯類型,意思是我們的報表需要當前列的結果
    • 計算類型:
      • 可修改屬性,如果是普通的數字類型字段,有以下幾種可選類型查詢策略工具使用方法
      • 可修改屬性,如果是日期時間類型字段,有以下幾種可選類型查詢策略工具使用方法
      • 當設置為 無 或者 分組,表示說數據表中,這一列會有多次重復出現的機會,我們將對這一列進行數據分組,在SQL命令中表示這一列放到 GROUP 的位置去。使用建議——例如,當我們針對14億中國人民這個海量超大數據表去分析數據,我們可以使用 籍貫、學歷 或者 年齡 來作為分組,去統計報表,因為這些列的值會經常重復,我們就不可以使用姓名去做分組,因為同名同姓的概率太低了,這個統計報表就沒有意義了。
      • 匯總類型 就是累加值,在SQL里面相當于 SUM 函數
      • 次數類型 就是計算出現的非空次數,在SQL里面相當于 COUNT(?) 函數,這里特指的是非空值出現次數,例如某列的值出現清單如下——1,2,2,3,2,1,4,null 。也就是又8行記錄出現過有值的行數為7,所以計算返回的結果是 7 。
        • 特別需要注意的是次數計算僅支持 整數型 、文字型 和 邏輯型的,不支持浮點型的數據。這是什么意思呢?例如說,如果 歲數列 需要統計 次數,則歲數 必須是整數,40歲或者41歲,而不能有小數,如果有41.5歲,則匯總過程會報錯的
        • 如果是日期型,我們還是希望統計或者分組怎么辦?我們需要通過 顯示格式 讓日期數據 變成文字類型,例如 顯示格式 YYYYMMDD 就可以把日期變成文字 “20230801”,就可以參加分組或者計算次數。
      • 次數(單一)類型 就是計算出現的非空次數,并且不要重復,在SQL里面相當于Count(DISTINCT ?) 函數,這里特指的是不重復的非空值的出現次數,例如某列的值出現清單如下——1,2,2,3,2,1,4,null 。也就是8行記錄出現過的不重復值有4個,分別是 1-2-3-4,計算的結果就是 4 。
        • 特別需要注意的是次數計算僅支持 整數型 、文字型 和 邏輯型的,不支持浮點型的數據。這是什么意思呢?例如說,如果 歲數列 需要統計 次數,則歲數 必須是整數,40歲或者41歲,而不能有小數,如果有41.5歲,則匯總過程會報錯的
        • 如果是日期型,我們還是希望統計或者分組怎么辦?我們需要通過 顯示格式 讓日期數據 變成文字類型,例如 顯示格式 YYYYMMDD 就可以把日期變成文字 “20230801”,就可以參加分組或者計算次數。
      • 最大類型 就是查詢出當前列的最大值,相當于SQL里面的 MAX 函數
      • 最小類型 就是查詢出當前列的最小值,相當于SQL里面的 MIN 函數
      • 平均類型 就是查詢出當前列的平均值,意思是先匯總,然后再按行數平均一下
      • 年度類型 將日期值轉換為【 2023年】這樣的文字
      • 月度類型 將日期值轉換為【 2023年05月】這樣的文字
      • 季度類型 將日期值轉換為【 2023年1季度】這樣的文字
      • 周次類型 將日期值轉換為【 2023年15周】這樣的文字
      • 星期類型 將日期值轉換為【 星期六】這樣的文字
    • 字段的計算類型總結
      • 文字類型、整數類型 或者 日期類型 字段格式化為文字以后 就可以作為 分組計算類型 或者 次數計算類型
      • 數值類型的字段 可以使用 匯總、最大、最小 和 平均 計算類型
      • 日期類型的字段 可以使用自己的獨特計算類型 生成 文字結果
      • 數值類的字段都可以做常規的匯總,例如 最大 最小 平均 匯總 等計算類型
      • 文字類 或者 整數類 的字段,可以做 次數 或者 次數(單一)的計算類型
      • 除非我們只是需要查詢明細資料,否則我們是一定要擁有至少一個匯總類型的字段!
      • 匯總類型字段自動可以同時使用多個
      • 當我們定義了匯總的字段,其他非匯總的字段就自動變成了分組字段
    • 排序方法:
      • 可修改屬性,有以下幾種可選類型,分別代表 無排序,從低到高排序 和 從高到低排序查詢策略工具使用方法
      • 對應于SQL命令,其實就是設置哪些字段需要放到 ORDER BY 段落
    • 寬度:可修改屬性,整數類型,就是我們二維表里面該列的顯示寬度,如果定義為8就代表寬度可以容納下 12345678 這端文字。
    • 顯示格式:可修改屬性,文字類型,當列值為日期或者數字的時候,這個屬性就可以起作用了,建議采納默認值不要去修改。這個屬性的工作原理是delphi開發語言里面TField.DisplayFormat 格式化方法,說來話長,如果大家對顯示格式不滿意可以咨詢我們服務顧問。
      • 例子查詢策略工具使用方法
      • 技術參考資料1
        Delphi開發語言里面TField.DisplayFormat是一個字符串屬性,用于控制數據字段在顯示為字符串時的格式。不同類型的數據字段有不同的格式設置規則,例如:
        ? TDateTimeField:用于日期和時間類型的字段,可以使用FormatDateTime函數中定義的格式符號來設置顯示格式,例如’yyyy/mm/dd hh:nn:ss’表示年/月/日 時:分:秒。具體的格式符號可以參考3 https://docwiki.embarcadero.com/Libraries/Sydney/en/Data.DB.TDateTimeField.DisplayFormat。
        ? TFloatField:用于浮點數類型的字段,可以使用FormatFloat函數中定義的格式符號來設置顯示格式,例如’###,###.##’表示千分位分隔符和兩位小數。具體的格式符號可以參考1 https://stackoverflow.com/questions/21399729/delphi-tfloatfield-displayformat-for-numeric-fields-less-than-1-0。
        ? TIntegerField:用于整數類型的字段,可以使用Format函數中定義的格式符號來設置顯示格式,例如’00000’表示五位數字,不足的用0補齊。具體的格式符號可以參考[8]。
        以下是一些使用TField.DisplayFormat的例子:
        ? 如果你想讓一個TDateTimeField顯示為’2021年8月31日星期二’,你可以設置TDateTimeField.DisplayFormat := ‘yyyy”年”mm”月”dd”日”dddd’;
        ? 如果你想讓一個TFloatField顯示為’$12,345.67’,你可以設置TFloatField.DisplayFormat := ‘$###,###.##’;
        ? 如果你想讓一個TIntegerField顯示為’00001’,你可以設置TIntegerField.DisplayFormat := ‘00000’;
      • 技術參考資料2
        TField.DisplayFormat是Delphi中TField類的一個屬性,用于設置字段的顯示格式。它可以設置為自定義格式,也可以設置為系統默認格式。以下是一些常見的格式定義方法和例子:
        ?
        設置為數字格式
        Field1.DisplayFormat := ‘0,0.0’;
        ?
        設置為日期格式Field1.DisplayFormat := ‘dd/MM/yyyy’;
        ?
        設置為貨幣格式Field1.DisplayFormat := ‘¥#,##0.0’;
        ?
        設置為百分比格式Field1.DisplayFormat := ‘##0.00%’;
        ?
        自定義格式
        Field1.DisplayFormat := ‘Custom format: %d %s’;
        在自定義格式中,可以使用以下字符:
        %d: 顯示數字
        %s: 顯示字符串
        %f: 顯示浮點數
        %g: 顯示整數或浮點數,取決于字段的數據類型
        %e: 顯示科學計數法
        %x: 顯示十六進制
        %p: 顯示字段的值,格式為“值(類型)”
        注意,不同的數據類型可能需要不同的格式,例如日期、貨幣、百分比等。在設置格式時,請確保它與字段的數據類型匹配。
    • 可見:可修改屬性,邏輯類型,意思是當前列要不要顯示在最終的表格中,理論上我們是應該選中的字段都顯示的,有時候我們可能有這樣的需求想法,例如不想看到太多的列,而隱藏一些列,比如只顯示 客戶編號 和 客戶名稱,不要顯示 客戶ID 和 客戶聯系人
    • 交叉匯總:可修改屬性,這個屬性只對交叉表類型有效,二維表情況下設置無效。
      • 可選類型如下查詢策略工具使用方法
      • 交叉表是一種安仕達軟件中強大而常用的分類匯總表格,使用交叉表查詢,顯示源于表中某個字段的匯 總值,并將它們分組,其中一組列在數據表的左側(稱呼為縱向),另一組列在數據表的上部(稱呼為橫向)。行和列的交叉處 可以對數據進行多種匯總計算(稱呼為匯總),如:求和、平均值、記數、最大值、最小值等。更具體的含義我們看下圖查詢策略工具使用方法
      • 橫向 和 縱向 其實對應的是 交叉匯總表里面的維度概念,見下圖。如需要進一步的精細化定義,未來我們會另外做交叉表使用的培訓視頻查詢策略工具使用方法
      • 頁頭字段 的用途,設置以后在交叉表的左上角會顯示一個按鈕,方便我們去進行過濾操作,類似于 EXCEL的 列標題過濾,注意看動畫視頻查詢策略工具使用方法查詢策略工具使用方法
      • 上面這個報表中, 安仕達軟件 考慮到大部分客戶都需要看到類別的分級展開和匯總,所以只要我們選擇了類別項目,報表就會自動的統計各級明細類別的匯總情況
    • 匯總設置:多選屬性,這里是特別用于交叉匯總表的匯總項目定義
      • 使用方法,定位到交叉表的匯總字段行,然后點擊下方的按鈕 【匯總設置】查詢策略工具使用方法
      • 這幾個屬性對應的就是我們交叉表最常用的幾個擴展統計功能查詢策略工具使用方法
        • 列值占比:當前值在全部列匯總值中的占比
        • 行值占比:當前值在全部行匯總值中的占比
        • 列值差異:當前值比前面一列的變化
        • 行值差異:當前值比前面一行的變化
        • 其他的擴展統計功能還有下面這些,估計大家都還用不到,都是統計學上的專業術語,這里我們就不再詳述查詢策略工具使用方法
    • 輸出字段:只讀屬性,文字類型,這里都是軟件自動生成最終字段值,我們作為使用者不需要去關心,這里主要是服務于軟件開發程序員調試和排查錯誤用途
  • 字段操作培訓
    • 導入字段
      • ① 按表導入:數據字段來源于與目標查詢相關的數據庫表,選擇源表,將整表字段導 入。
      • ② 按字段導入:數據字段來源于與目標查詢相關的數據庫表,從表中多選字段導入。
      • ③ 按日期導入:數據字段來源于與目標查詢相關的數據庫表,從表中選日期類字段導 入。
    • 選擇字段
      • 選中:選中的字段將加入數據查詢。
    • 樣式設計
      • 字段刪除
        • 在字段剛剛導入明細中時,所有的字段都是未選中狀,將想要插入查詢的目 標字段選中,然后選擇【刪除未選項】將其他字段刪除。
      • 字段列排序
        • 次序含義:策略明細設計表中的字段自上向下,對應在查詢結果表中展現的 字段從左至右排序(二維表)。
        • 調整順序:運用上移一行、下移一行按鍵調整字段間順序。
      • 字段內容排序
        • 數據字段內按照一定規則排定的順序. 規則: 如果有一個字段選擇了排序方法,列表按照該字段順序對應顯示。 如果有不止一個字段選擇了排序方法,順序在前的字段優先級高。
      • 字段是否可見
        • 如果想在查詢結果中顯示該字段,必須勾選。(注:例如物料ID為自增列字段,沒有實際意義,通常不被勾選可見)
      • 字段顯示格式
        • 參見前面介紹的字段顯示格式設置說明
    • 保存退出
      • 之后我們退出窗口的時候,系統會詢問我們是否保存,我們點擊保存就可以去測試和使用新定義的查詢策略了。
  • 好了,經過前面的查詢策略常識培訓,我們下面將通過ABC三步法則,真正地實戰開發我們自定義的查詢策略!

安仕達烘焙軟件,更專業更用心。發布者:admin,轉轉請注明出處:http://www.ramonakala.com/archives/7554

(0)
上一篇 2023年9月10日 下午9:00
下一篇 2023年9月10日 下午9:01

相關推薦

發表評論

電子郵件地址不會被公開。 必填項已用*標注

// language用于控制訪客端展示的語言類型,language=ZHCN為中文,language=EN為英文,您可按需設置一種語言類型 // language用于控制訪客端展示的語言類型,language=ZHCN為中文,language=EN為英文,您可按需設置一種語言類型 日本乱码一区二区三区不卡