MicroStrategy ONE
使用If和Case函数将条件计算添加到衍生度量
条件计算在 MicroStrategy Workstation 中可用于补充通过筛选和阈值提供的条件分析。您可以根据文档中一个或多个度量的值将数据合并到不同的组中来提供条件分析。
您的可视化效果可让您查看一周中每天的航班数,以及准时航班的百分比和以分钟为单位的平均延迟。
您可以根据平均工作时间百分比来评估航班的表现。平均工作时间百分比 52% 或更低视为表现差,而其余百分比视为表现良好。创建新的 Performance(绩效)度量,包括基于 Avg On-time (%)(平均工作时间百分比)度量的条件分析。此条件分析可通过创建衍生度量(使用 If 条件函数)实现。
IF(([Average (On-time %)]<=0.52), "Poor", "Good")
通过按 Origin Airport Name(出发机场名称)细分绩效来继续执行此分析。将 Origin Airport Name(出发机场名称)实体从“数据集”面板拖动到编辑器面板中的“行”部分。
如果您希望将度量的值划分为两个以上的组,可使用 Case 函数创建衍生的度量。修改 Performance(绩效)以使用将绩效限定为三个组而非两个的表达式。Excellent(优秀)组表示平均准时百分比大于 60% 的机场。
Case(([Average (On-time %)]<=0.52), "Poor", ([Average (On-time %)]>0.6), "Excellent", "Good")
Case 函数可提供与 If 函数同样的条件分析。但是,If 函数只能将度量值限定为两个不同的组,而 Case 函数可将度量值限定为两个或更多的组。您可通过 Case 函数指定两个或更多条件以便用于评估感兴趣的度量。
您可以将限定应用于 If 或 Case 函数中一个以上的度量。您可以同时根据平均工作时间百分比和平均延迟(分钟)评估航班的表现。将平均工作时间百分比 52% 或更低与平均延迟时间 15 分钟或更长的组合视为表现差,而其余情况视为表现良好。创建新的 Performance(绩效)度量,包括基于 Avg On-time (%)(平均工作时间百分比)度量和 Average (Delay (min))(平均(延迟(分钟)))度量的条件分析。
IF((([Average (On-time %)] <= 0.52) And ([Average (Delay (min))] >= 15)),"Poor","Good")
由于条件分析被创建为衍生度量,而非在可视化效果中包括为筛选器,因此,条件分析的所有结果都可在可视化效果上一次性立即显示。在上面的示例中,您可通过这种操作查看有关所有机场的数据,包括表现好的和表现差的机场。相反,将筛选器应用于可视化效果时隐藏了不符合筛选条件的可视化效果上的数据。
- 打开现有文档。
- 在数据集对象面板中,右键单击一个日期集并选择 插入新度量。
- 在度量名称字段为度量输入一个名称。
- 在“函数”窗格中,搜索 If 或 Case 函数。
- 在函数窗格中,悬停在 If 或 Case 函数上方,并单击编辑。
- 输入要用作引数的值。
- If 函数的语法为
IF(Condition, TrueResult, FalseResult),其中: Case函数的语法为Condition(Condition1,ReturnValue1,Condition2,ReturnValue2,...,DefaultValue),其中:- 单击添加。
- 单击保存。
Condition 为条件表达式。条件可包含度量、比较和逻辑运算符以及常量。条件必须评估为 TRUE(对)或 FALSE(错)。
TrueResult 是当条件为 TRUE 时所返回的常量或度量值。如需将文本显示为返回的值,可将文本放入双引号中 ("")。
FalseResult 是当条件为 FALSE 时所返回的常量或度量值。如需将文本显示为返回的值,可将文本放入双引号中 ("")。
Condition1 为要评估的第一个条件。条件可包含度量、比较和逻辑运算符以及常量。
ReturnValue1 是当 Condition1 条件为 TRUE 时要返回的常量或度量值。如需将文本显示为返回的值,可将文本放入双引号中 ("")。
Condition2 为要评估的第二个条件。条件可包含度量、比较和逻辑运算符以及常量。
ReturnValue2 是当 Condition2 条件为 TRUE 时要返回的常量或度量值。如需将文本显示为返回的值,可将文本放入双引号中 ("")。
...(省略号)代表可用于创建另一个逻辑组的任意个数的条件与返回值组合。每个条件都必须有返回值。
DefaultValue 是当所有条件都不为 TRUE 时所返回的常量或度量值。如需将文本显示为返回的值,可将文本放入双引号中 ("")。
