Dual - 脚本和图表函数
Dual() 用于将数字和字符串组合为单个记录,以便此记录的数字呈现形式可用于排序和计算,同时字符串值可用于显示。
语法:
Dual(text, number)
返回数据类型: 双
信息注释所有双返回值都右对齐。
参数 | 描述 |
---|---|
text | 与数字参数组合使用的字符串值。 |
number | 与字符串参数中的字符串组合使用的数字。 |
在 Qlik Sense 中,所有字段值都可能是双重值。这意味着字段值即可以是数值,也可以是文本值。例如,一个日期即可包含数值 40908,也可以包含文本呈现形式 '2011-12-31'。
信息注释当几个数据项读入到一个具有不同字符串呈现形式但具有同一有效的数字呈现形式的字段中时,所有数据项都将共享遇到的第一个字符串呈现形式。
提示注释在其他数据被读入到有关字段中之前,dual 函数通常在脚本中使用,以便创建首字符串呈现形式,这将显示在筛选器窗格中。
示例 | 描述 |
---|---|
Dual(IF(DayOfWeek = 0, 'Monday', IF(DayOfWeek = 1, 'Tuesday', If(DayOfWeek = 2 ,'Wednesday', If(DayOfWeek = 3 ,'Thursday', If(DayOfWeek = 4 ,'Friday', If(DayOfWeek = 5 ,'Saturday', If(DayOfWeek = 6 ,'Sunday' ))))))), DayOfWeek) | 字段 DayOfWeek 可在可视化中用作维度。在表格中,一周各天会自动按正确的数字顺序排列,而不是按字母顺序排列。 |
Dual(Pick( Priority , 'Low','Medium','High'), Priority) | 字段 Priority 可在可视化中用作维度。在表格中,字段 Priority 会自动按正确的数字顺序排列,而不是按字母顺序排列。 |
Dual('Q' & Ceil(Month(Date)/3), Ceil(Month(Date)/3)) | 字段 Date 可在可视化中用作维度。创建文本值 Q1 至 Q4 ,并分配数值 1 至 4 。 |
Dual(WeekYear(Date) & '-W' & Week(Date), WeekStart(Date)) | 字段 Date 可在可视化中用作维度。本例将创建一个 '2012-W22' 形式的文本值,同时分配与一周第一天的日期数对应的数值,例如:41057 |
示例 | 描述 |
---|---|
在脚本中添加下例并运行。 Load dual ( NameDay,NumDay ) as DayOfWeek inline [ NameDay,NumDay Monday,0 Tuesday,1 Wednesday,2 Thursday,3 Friday,4 Saturday,5 Sunday,6 ]; | 例如,字段 DayOfWeek 可在可视化中用作维度。在表格中,一周各天会自动按正确的数字顺序排列,而不是按字母顺序排列。 |
Load Dual('Q' & Ceil(Month(Now())/3), Ceil(Month(Now())/3)) as Quarter AutoGenerate 1; | 本例提供当前季度。如果在一年的第一个三个月中运行 Now 函数,则将第一个三个月显示为 Q1,将第二个三个月显示为 Q2,以此类推。但是,在用于排序时,字段 Quarter 将按其数值顺序(1 到 4)排序。 |
Dual('Q' & Ceil(Month(Date)/3), Ceil(Month(Date)/3)) as Quarter | 与之前的示例一样,使用文本值 Q1 到 Q4 创建字段 Quarter,并为其分配数值 1 到 4。为在脚本中使用此字段,必须加载 Date 的值。 |
Dual(WeekYear(Date) & '-W' & Week(Date), WeekStart(Date)) as YearWeek | 本例将创建一个字段 YearWeek,该字段具有 2012-W22 形式的文本值,同时分配与一周第一天的日期数对应的数值,例如:41057。为在脚本中使用此字段,必须加载 Date 的值。 |