我刚接触BI并遇到问题。我的模型如下:
“日期维度”中的“日期”列链接到“测量情况”中的被测对象
以下是示例数据:
注意:在编辑查询中,我将被测对象的类型更改为仅日期。
我尝试了以下措施,但是它无法按照我想要的方式工作。它将汇总一天的所有值,但我想要的是一天的最后一个值:
day_fuel_consumption =
CALCULATE (
SUM ( measurement[measurementvalue] ),
FILTER (
measurement,
measurement[metername] = "C-FUEL"
&& measurement[measuredate] = MAX ( measurement[measuredate] )
)
)
我的目标是获取 29242 ,即一天的最后一天。请记住,measuredate是一个Date字段,而不是Datetime(我更改为Date字段,以便我的Year和Month过滤器可以正常工作)。我已经在编辑查询中更改了类型。
答案 0 :(得分:0)
更改量度以使用变量可能是解决方案:
DFC =
var maxDate = MAX(measurement[measuredate])
return
CALCULATE(
SUM(measurement[measurementvalue]),
measurement[measuredate] = maxDate
)
但是,您应该保留measureDate
的日期时间格式。如果您不想看到时间戳,只需更改I power bi的格式即可。否则,power bi将看到两个具有最大日期的值并将其求和,而不是取最后一个。
答案 1 :(得分:0)
好吧,如果要避免创建度量,可以将要过滤的字段拖到可视过滤器窗格中。单击您的视觉效果,然后滚动一点,您将看到我所指的部分。从那里,只需拖动您要过滤的字段即可。然后选择“前N个”。它将允许您基于另一个字段选择一个顶部(数字)或底部(数字)。足够奇怪,它确实允许您按最高价值来做最高价值。当您大声说出来时,这没有任何意义,但它的工作原理完全一样。 这将显示您要使用的任何值字段的最高值。作为一项额外的奖励,您可以随时显示自己想要多少。
就DAX而言,与其他能够帮助您的人相比,恐怕我有点不识字。
答案 2 :(得分:0)
我必须创建如下所示的两个单独的度量,才能按我的意愿工作:
$(function () {
$('input:checkbox').on('click', function () {
var checkboxArray = $('input:checkbox'); // CheckBoxList Items
var current = $(this); // Get Selected Chec kbox
// Uncheck every checkBox that don't match the unique multi selection combo
if (current.val() != "4" && current.val() != "5") {
// Loop through checkboxArray and uncheck every item that does not meet the condition
$(checkboxArray).each(function (i) {
$(this).prop("checked", false);
});
// Check the selected item again
$(current).prop("checked", true);
} else {
// Get the current checkbox value
var chk = $(current).val();
// If the checkbox that matches the unique combo selection was click uncheck all invalid checkboxes that don't match
if (chk == "4" || chk == "5") {
// loop through the checkboxlist again
$(checkboxArray).each(function () {
// Get the looped item name
var ck = $(this).val().text();
// if checkbox does not belong to the unique combo selection, uncheck it
if (ck != "4" && ck != "5") {
$(this).prop("checked", false);
}
});
}
}
});
});