我有一堆要显示为视觉效果的DAX计算列。如果使用普通的条形图,则会得到下图Barchart 1,因为在axis字段中没有任何字段。我希望每个计算列的标题都是x轴,类似于下面的漏斗图中的x轴。
漏斗图只需要填写值字段,它会创建以下图像,这是我想要的那种图像,但它必须垂直于上一张图像。
此最终图像,Barchart 3是我要使用计算所得的列实现的目标,但到目前为止,我还没有运气来解决这个问题。此视觉效果是使用其他文件创建的,该文件与我现在正在处理的项目无关。我相信,如果我可以取消对计算列的透视,那么它将创建我要查找的图形,但是我不知道如何取消对DAX中创建的列的透视。有没有办法解开DAX列或市场上的视觉效果来完成我想做的事情?还是我需要创建自己的自定义视觉效果来实现此目的?其他想法/想法?
我建议创建一个不带Month
的计算表,这样您只需要在条形图上放置一个序列即可。
例如,您可以只用7列编写这样的计算表:
CalcTable =
VAR ThisYear = YEAR ( MAX ( Sheet4[Start] ) )
RETURN
ADDCOLUMNS (
CROSSJOIN (
SELECTCOLUMNS (
Sheet4,
"Project", Sheet4[Project],
"Start", Sheet4[Start],
"End", Sheet4[End],
"Cost", Sheet4[Cost]
),
ADDCOLUMNS (
GENERATESERIES ( 1, 12 ),
"Month", FORMAT ( DATE ( ThisYear, [Value], 1 ), "MMMM YYYY" )
)
),
"MonthCost", IF (
[Value] >= MONTH ( [Start] ) && [Value] <= MONTH ( [End] ),
DIVIDE ( [Cost], DATEDIFF ( [Start], [End], MONTH ) + 1 ),
0
)
)
此表如下所示:
并且允许您创建一个条形图,其轴上为Month
,其值的总和为MonthCost
。
我最终找到了解决方案。它不维护关系,但可以。
Totals Table =
UNION(
SUMMARIZE(Sheet4,"Cost",SUM(Sheet4[January 2020]),"Month","January 2020"),
SUMMARIZE(Sheet4, "Cost", SUM(Sheet4[February 2020]), "Month", "February 2020"),
SUMMARIZE(Sheet4,"Cost",SUM(Sheet4[March 2020]),"Month","March 2020"),
SUMMARIZE(Sheet4, "Cost", SUM(Sheet4[April 2020]), "Month", "April 2020"),
SUMMARIZE(Sheet4,"Cost",SUM(Sheet4[May 2020]),"Month","May 2020"),
SUMMARIZE(Sheet4, "Cost", SUM(Sheet4[June 2020]), "Month", "June 2020"),
SUMMARIZE(Sheet4,"Cost",SUM(Sheet4[July 2020]),"Month","July 2020"),
SUMMARIZE(Sheet4, "Cost", SUM(Sheet4[August 2020]), "Month", "August 2020"),
SUMMARIZE(Sheet4,"Cost",SUM(Sheet4[September 2020]),"Month","September 2020"),
SUMMARIZE(Sheet4, "Cost", SUM(Sheet4[October 2020]), "Month", "October 2020"),
SUMMARIZE(Sheet4,"Cost",SUM(Sheet4[November 2020]),"Month","November 2020"),
SUMMARIZE(Sheet4, "Cost", SUM(Sheet4[December 2020]), "Month", "December 2020"))