如何解决计算过去几周回头客DAX
我在这个问题上搜索了很多,并尝试了几件事。我想弄清我们上周有多少回头客,并将其与本周进行比较。到目前为止,星期一直在运行。
我尝试过的最新代码是:
Lastweeksales = CALCULATE([Total returning customers],FILTER(ALL(orders),orders[Weeknumber] = SELECTEDVALUE(orders[Weeknumber]) -1))
“回头客总数”只是所有回头客的总和=“是”。
我相信我要做的是对每个星期的数字进行“是”的总和,但是我不太清楚。
解决方法
我解决了这个问题。
public partial class CustomDashControl : ContentView
{
static int totalCount;
static Color barColor;
private static ObservableCollection<CustomControlData> tempData;
public static ObservableCollection<CustomControlData> TempData
{
get { return tempData; }
set
{
tempData = value;
customDashControl.OnPropertyChanged("TempData");
}
}
static CustomDashControl customDashControl;
public CustomDashControl()
{
try
{
InitializeComponent();
customDashControl = this;
}
catch (Exception ex)
{
BaseViewModel.HandleException(ex);
}
}
#region Bindable Properties
public static readonly BindableProperty ItemsSourceProperty =
BindableProperty.Create("ItemsSource",typeof(ObservableCollection<CustomControlData>),typeof(CustomDashControl),new
ObservableCollection<CustomControlData>(),BindingMode.Default,null,OnItemsSourceChanged);
private static void OnItemsSourceChanged(BindableObject bindable,object oldValue,object newValue)
{
if (oldValue != newValue)
{
(bindable as CustomDashControl).OnPropertyChanged("ItemsSource");
TempData = (ObservableCollection<CustomControlData>)newValue;
UpdateBar();
}
}
private static void UpdateBar()
{
try
{
if (TempData != null && TempData.Count > 0)
{
var control = customDashControl.progressbar;
control.ColumnDefinitions.Clear();
control.Children.Clear();
//Working
for (int i = 0,j = 0; i < TempData.Count; i++,j++)
{
control.ColumnDefinitions.Add(new ColumnDefinition() { Width = GridLength.Auto });
var tempBox = new BoxView() { Color = TempData[i].BarColor,WidthRequest = TempData[i].BarWidth };
control.Children.Add(tempBox,j,0);
j++;
control.ColumnDefinitions.Add(new ColumnDefinition() { Width = 1 });
control.Children.Add(new BoxView() { Color = Color.White,WidthRequest = 1 },(j),0);
}
Console.WriteLine(control.Children);
}
}
catch (Exception ex)
{
BaseViewModel.HandleException(ex);
}
}
public ObservableCollection<CustomControlData> ItemsSource
{
get { return (ObservableCollection<CustomControlData>)GetValue(ItemsSourceProperty); }
set { SetValue(ItemsSourceProperty,value); }
}
public static readonly BindableProperty TotalCountProperty = BindableProperty.Create(propertyName: "TotalCount",returnType: typeof(int),declaringType: typeof(CustomDashControl),defaultValue: 0,propertyChanged: propertyChanges1);
private static void propertyChanges1(BindableObject bindable,object newValue)
{
if (oldValue != newValue)
{
var control = bindable as CustomDashControl;
totalCount = (int)newValue;
if (totalCount > 0)
{
(customDashControl.BindingContext as CustomDashControlViewModel).totalCount = totalCount;
}
}
}
public int TotalCount
{
get { return (int)GetValue(TotalCountProperty); }
set { SetValue(TotalCountProperty,value); }
}
#endregion
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。