如何解决动态显示连续几周的数据销售
Aryansena_0-1597818560619.png 考虑到FA是我的销售额,第一列是日期(星期级别的粒度),第三列是星期数。我的要求是,根据FA分切器,表应该交互作用,并且表将发生变化,但主要问题是,如果周分切器(单选)选择了任何内容,则面临的问题是3,那么连续三周连续FA不为零,这应该显示出来。 / p>
如果在表中将周选为3,则应显示20、22、24和18,220,233,123,146。
如果我们选择4周,则选择18,146。
现在,如果我们将第220周到第233周之间的FA选择为3,则将返回空白表,因为该范围内没有连续3周的值。
解决方法
您可以尝试实现以下要求-
考虑到您的表名称=“ 连续”
第1步::要达到要求,我们必须将“ wk”列分隔到另一个表中。转到高级查询编辑器和-
- 现在只需将表“连续”复制并命名为“ 连续切片器”。
- 仅保留新表中的“ wk”列,并删除其他列。
现在我们有2张桌子。
步骤2::从“模型”标签中删除两个表之间自动建立的任何关系。现在,点击“ 关闭并应用”按钮返回报表。
步骤3:使用表“连续切片器”创建切片器。为切片器启用“单选打开”。
步骤4:在“连续”表中创建以下度量-
consecutive_non_zero_row_count =
VAR selected_value = SELECTEDVALUE('consecutive slicer'[wk])
VAR current_row_date = MIN(consecutive[start date])
VAR current_row_fa = MIN(consecutive[fa])
VAR consecutive_count_start_date =
IF (
current_row_fa = 0,current_row_date,CALCULATE(
MIN(consecutive[start date]),FILTER(
ALL(consecutive),consecutive[start date] >
CALCULATE(
MAX(consecutive[start date]),FILTER(
ALL(consecutive),consecutive[start date] < current_row_date && consecutive[fa] = 0
)
)
)
)
)
VAR consecutive_count_end_date =
IF (
current_row_fa = 0,CALCULATE(
MAX(consecutive[start date]),consecutive[start date] <
IF(
CALCULATE(
MIN(consecutive[start date]),FILTER(
ALL(consecutive),consecutive[start date] > current_row_date && consecutive[fa] = 0
)
) = BLANK(),MAX(consecutive[start date].[Date]),CALCULATE(
MIN(consecutive[start date]),consecutive[start date] > current_row_date && consecutive[fa] = 0
)
)
)
)
)
)
VAR row_count_between_start_and_end_date =
COUNTROWS(
FILTER(
ALL(consecutive),consecutive[start date] >= consecutive_count_start_date && consecutive[start date] <= consecutive_count_end_date
)
)
RETURN IF(
current_row_fa = 0,IF(
row_count_between_start_and_end_date >= SELECTEDVALUE('consecutive slicer'[wk]),1,0
)
)
第5步:如下所示,在您的表格外观上应用视觉水平过滤器-
这是切片器中用于不同选择的样本输出-
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。